关于控制物体随手指在屏幕移动

Ray534 2015-03-24 05:41:36
本人刚学android没多久 从网上下了一个项目 是一个简单飞机游戏的 但是我运行后发现游戏中飞机不能动 去源代码中看了之后发现它是用的按键的上下左右控制移动。所以想请高手能不能将它变成随手指移动

player.java中控制移动的代码
public void onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_DPAD_UP) {
isUp = true;
}
if (keyCode == KeyEvent.KEYCODE_DPAD_DOWN) {
isDown = true;
}
if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT) {
isLeft = true;
}
if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT) {
isRight = true;
}
}

//实体按键抬起
public void onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_DPAD_UP) {
isUp = false;
}
if (keyCode == KeyEvent.KEYCODE_DPAD_DOWN) {
isDown = false;
}
if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT) {
isLeft = false;
}
if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT) {
isRight = false;
}
}

//主角的逻辑
public void logic() {
//处理主角移动
if (isLeft) {
x -= speed;
}
if (isRight) {
x += speed;
}
if (isUp) {
y -= speed;
}
if (isDown) {
y += speed;
}


MySurfaceView.java中对应的监听部分

//按键监听事件函数根据游戏状态不同进行不同监听
switch (gameState) {
case GAME_MENU:
break;
case GAMEING:
//主角的按键按下事件
player.onKeyDown(keyCode, event);
break;
case GAME_PAUSE:
break;
case GAME_WIN:
break;
case GAME_LOST:
break;
}
return super.onKeyDown(keyCode, event);
}

/**
* 按键抬起事件监听
*/
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
//处理back返回按键
if (keyCode == KeyEvent.KEYCODE_BACK) {
//游戏胜利、失败、进行时都默认返回菜单
if (gameState == GAMEING || gameState == GAME_WIN || gameState == GAME_LOST) {
gameState = GAME_MENU;
}
//表示此按键已处理,不再交给系统处理,
//从而避免游戏被切入后台
return true;
}
//按键监听事件函数根据游戏状态不同进行不同监听
switch (gameState) {
case GAME_MENU:
break;
case GAMEING:
//按键抬起事件
player.onKeyUp(keyCode, event);
break;
case GAME_PAUSE:
break;
case GAME_WIN:
break;
case GAME_LOST:
break;
}
return super.onKeyDown(keyCode, event);
}

现在就是想请高手把这两部分改成用手指控制的 谢谢啦
本人新手 目前只能看懂程序,自己还完全写不出来。。。
...全文
465 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
風言楓語 2015-03-27
  • 打赏
  • 举报
回复
额 我进来只想问一句,你头像是你本人么
Ray534 2015-03-27
  • 打赏
  • 举报
回复
引用 1 楼 qq452642969 的回复:
重写activity的ibtouch方法 记录坐标,然后用canvas把图片画在所记录的坐标上
能给下详细代码吗。。。
答题小助手 2015-03-27
  • 打赏
  • 举报
回复
头像挺不错的。。。。代码的话呢 最好还是自己打。。。。自己研究的会比较容易记住。。而且论坛伸手党也不太好。。。关于手机游戏呢 你可以看看从零开始安卓游戏开发 貌似是这个名字 淘宝上有的是 买个盗版书也很便宜的
qq452642969 2015-03-25
  • 打赏
  • 举报
回复
重写activity的ibtouch方法 记录坐标,然后用canvas把图片画在所记录的坐标上

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧