Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
การจัดการเกี ่ยวกับหน้าจอสัมผัส (TouchScreen)<br />
จากหัวข้อที่ผ่านมา การพัฒนาเกมจะใช้คลาส View มาสร้างเป็นหน้าจอเกม ซึ่งการดักจับเหตุการณ์<br />
เมื่อผู้เล่นสัมผัสที่หน้าจอสามารถทำได้ด้วยการอิมพลีเมนต์คลาส OnTouchListener โดยเขียนโค้ด Java เพิ่ม<br />
ในเมธอด onTouch() ของคลาส Panel ดังนี้<br />
public boolean onTouch(View view, MotionEvent event) {<br />
if (event.getAction() == MotionEvent.ACTION_DOWN) {<br />
Point point = new Point();<br />
point.x = (int) event.getX();<br />
point.y = (int) event.getY();<br />
int i = (int) (1.0f * point.x / (block_width / 3));<br />
int j = (int) (1.0f * point.y / (block_width / 3));<br />
Log.i("Point", "(" + i + "'" + j + ")");<br />
game.makeMove(i, j, current_player);<br />
if (one_player) {<br />
switchPlayer();<br />
SimpleXOAI.calculateMove(game, current_player);<br />
switchPlayer();<br />
} else {<br />
switchPlayer();<br />
}<br />
invalidate(); // refresh screen;<br />
}<br />
if (game.getWinner() != 0 && pause_flag != true) {<br />
pause_flag = true;<br />
gameOver(game.getWinner());<br />
} else if (!game.isSpaceLeft()) {<br />
pause_flag = true;<br />
gameOver(0);<br />
}<br />
}<br />
return true;<br />
เมื่อผู้อ่านรันเกมเพื่อทดสอบ และคลิกที่ช่องเพื่อทำเครื่องหมายจะปรากฏเครื่องหมาย X และ O ใน<br />
กรณีที่ผู้อ่านเลือกแบบเล่นคนเดียว หลังจากคลิกที่ช่องเพื่อทำเครื่องหมาย จะปรากฏหน้าต่าง “XO Game is<br />
not responding” เนื่องจากความล่าช้าในการประมวลผลของ Emulator ให้ผู้อ่านคลิกปุ่ม “Wait” และเมื่อเล่น<br />
จนจบเกมจะปรากฏเส้นสีเหลืองขีดทับเครื่องหมายของฝ่ายผู้ชนะดังรูป<br />
บทที ่ 12 การพัฒนาเกมแบบ 2 มิติ 263