|
|
|
Android สอบถามคำสั่งการเปลี่ยนหน้า โดยที่ไม่ใช้ปุ่มกด(เกม tap เก็บของ)ครับ |
|
|
|
|
|
|
|
ผมอยากทราบว่ามีคำสั่งไหนที่สามารถเปลี่ยนหน้าไปหน้าเก็บข้อมูล+คะแนน เพราะตอนนี้ผมให้กติกา เป็น กดถูก คะแนนบวก5 กดผิตคะแนน ลบ ห้า
ผมอยากจะทำให้เป็น กดผิตแล้วเกมจบ แล้วเปลี่ยนไปหน้า บันทึกคะแนนเลยอะครับ
ขอบคุณมากๆครับ
Code (Android-Java)
package com.sunflower;
import java.util.ArrayList;
import java.util.Random;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.Log;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.widget.Toast;
public class Panel extends SurfaceView implements SurfaceHolder.Callback {
public static float mWidth;
public static float mHeight;
private ViewThread mThread;
private ArrayList<Element> mElements = new ArrayList<Element>();
private int mElementNumber = 0;
private Paint mPaint = new Paint();
private int mGarbagType = 0;
private int score = 0;
public Panel(Context context) {
super(context);
getHolder().addCallback(this);
mThread = new ViewThread(this);
mPaint.setColor(Color.WHITE);
}
public void addElements() {
if (mElementNumber < 15) {
mElements.add(new Element(getResources(), (int) (mWidth / 2), 10));
mElementNumber = mElements.size();
}
}
public void doDraw(long elapsed, Canvas canvas) {
canvas.drawColor(Color.BLACK);
addElements();
synchronized (mElements) {
for (Element element : mElements) {
element.doDraw(canvas);
}
}
canvas.drawText("FPS: " + Math.round(1000f / elapsed) + " Elements: "
+ mElementNumber, 15, 15, mPaint);
canvas.drawText("Score : " + score, 10, 30, mPaint);
String gtxt = "";
if (mGarbagType == 0)
gtxt = "butterfly";
else if (mGarbagType == 1)
gtxt = "water";
else
gtxt = "sun";
canvas.drawText("Touch : -> " + gtxt + " <-", 10, 40, mPaint);
randomGarbage();
}
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
mWidth = width;
mHeight = height;
}
public void surfaceCreated(SurfaceHolder holder) {
if (!mThread.isAlive()) {
mThread = new ViewThread(this);
mThread.setRunning(true);
mThread.start();
}
}
public void surfaceDestroyed(SurfaceHolder holder) {
if (mThread.isAlive()) {
mThread.setRunning(false);
}
}
public boolean onTouchEvent(MotionEvent event) {
int tx = (int) event.getX();
int ty = (int) event.getY();
int i = 0;
for (Element element : mElements) {
if ((element.getmX() < tx && tx < element.getmX()
+ element.getWidth())
&& (element.getmY() < ty && ty < element.getmY()
+ element.getHeight())) {
if (mGarbagType == element.getGtype()) {
score += 5;
}else
score-=5;
Log.v("DustmanGame", "Touch on:" + element.getGtype()
+ "Score : 5");
mElements.remove(i);
mElementNumber = mElements.size();
mGarbagType = randomGarbage();
break;
}
i++;
}
return super.onTouchEvent(event);
}
public void animate(long elapsedTime) {
synchronized (mElements) {
for (Element element : mElements) {
element.animate(elapsedTime);
}
}
}
public int randomGarbage() {
Random rand = new Random();
int r = rand.nextInt(3);
return r;
}
}
Tag : Android, JAVA
|
ประวัติการแก้ไข 2013-02-18 15:56:19
|
|
|
|
|
Date :
2013-02-18 15:54:37 |
By :
Mrjele |
View :
1199 |
Reply :
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตรงไหนที่จบเกมส์ครับ ใช้การ Intent Activity ได้หรือเปล่าครับ
|
|
|
|
|
Date :
2013-02-19 06:38:56 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้เรียบร้อยแล้วครับ ผมเปลี่ยนเปน Alertdialog แทนอะคับ ขอบคุณมากครับ
|
|
|
|
|
Date :
2013-02-20 17:07:53 |
By :
Mrjele |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จัดไป
|
|
|
|
|
Date :
2013-02-20 17:51:48 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จขกท เก่งจัง
|
|
|
|
|
Date :
2013-02-22 18:30:22 |
By :
arachimi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|