20.11.2016 Views

Android App Development ฉบับสมบูรณ์

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

การสร้างกราฟิก (Graphic) เบื้องต้น<br />

ในส่วนนี้จะเป็นการสร้างกราฟิกเบื้องต้น ซึ่งมีขั้นตอนโดยสรุปสำหรับการสร้างกราฟิกเพื่อรองรับ<br />

การใช้งานของเกม XO ดังนี้<br />

ให้ผู้อ่านเขียนโค้ด Java เพิ่มเติมในส่วนของคลาส Panel ที่อยู่ในไฟล์ XOGameActivity.java ดังนี้<br />

class Panel extends View implements OnTouchListener {<br />

public Panel(Context context) {<br />

super(context);<br />

setFocusable(true);<br />

setFocusableInTouchMode(true);<br />

this.setOnTouchListener(this);<br />

}<br />

public void drawBoard(Canvas canvas) {<br />

int line_size = 5;<br />

float w = this.getWidth();<br />

float h = this.getHeight();<br />

float s = w;<br />

if (w > h)<br />

s = h;<br />

วาดตาราง<br />

block_width = s;<br />

int bw = (int) (s / 3);<br />

int bh = (int) (s / 3);<br />

paint = new Paint();<br />

paint.setColor(Color.BLACK);<br />

canvas.drawRect(0, 0, w, h, paint);<br />

paint.setColor(Color.WHITE);<br />

paint.setAntiAlias(true);<br />

paint.setStrokeWidth(10);<br />

paint.setStrokeCap(Cap.ROUND);<br />

// draw board<br />

canvas.drawLine(bw, line_size, bw, s, paint);<br />

canvas.drawLine(2 * bw, line_size, 2 * bw, s, paint);<br />

canvas.drawLine(line_size, bh, w - line_size, bh, paint);<br />

canvas.drawLine(line_size, 2 * bh, w - line_size, 2 * bh, paint);<br />

paint.setTextSize(40);<br />

canvas.drawText(player_name[0] + " : " + player_score[0], 10,<br />

s + 60, paint);<br />

canvas.drawText(player_name[1] + " : " + player_score[1], 10,<br />

s + 110, paint);<br />

}<br />

public void onDraw(Canvas canvas) {<br />

drawBoard(canvas);<br />

drawAllElement(canvas);<br />

// draw line when game finish<br />

if (game.getWinner() != 0) {<br />

260<br />

<strong>Android</strong> <strong>App</strong> <strong>Development</strong> <strong>ฉบับสมบูรณ์</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!