使用Textview等进行 2d 游戏开发思路。
1.先实例化textview。
//假设 Textview 的 id 为 text1
Textview textview = (Textview)findViewById(R.id.text1);
2.发送信号。
public void run(){
for(int i=0;i<60;i++)
{
//由于在子线程不能更新ui,自定义 setimfor() 方法发送信号
setimfor();
try{
//每秒执行60次,即设置fps为60
Thread.sleep(1000/60);
}
catch (InterruptedException e) {}
}
}
}).start();
3.接收信号并做出反应,使用setbackground()方法渲染每一帧。
private Handler handler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case imfor :
int draw = R.drawable.image_1;//第一帧图片的值draw
//第二帧的值为 draw+1 第三帧位draw+2 ..........
int i=0;
text.setBackground(getResources().getDrawable(draw+i)); //渲染每一帧
i++;
// 结束后初始化 i=0;
beark;
case imfor_move: //向右移动
textview.setX( textview.getX()+1 );
//类似的 左移为 textview.setX( textview.getX()-1 );
break;
default: break;
}
}
};
3.通过view的坐标判断两个对象距离
int dx = view1.getX() - view2.getX();
//取dx的绝对值
int i = -1;
if(dx<0) dx = dx*i;
if(dx<5){ /*碰撞*/ }
//.........