控制飞机的移动
来源:互联网 发布:对外汉语教师网络兼职 编辑:程序博客网 时间:2024/05/01 10:06
/*
* 控制飞机的移动
* 游戏中的飞机会随用户单击键盘的动作而移动
*/
import 略
* 控制飞机的移动
* 游戏中的飞机会随用户单击键盘的动作而移动
*/
import 略
public class Ex003_01Activity extends Activity {// 飞机移动的速度private int speed = 12;/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// setContentView(R.layout.main);// 去掉窗口标题requestWindowFeature(Window.FEATURE_NO_TITLE);// 全屏显示getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);// 创建planeView组件final planeView planeview = new planeView(this);this.setContentView(planeview);planeview.setBackgroundResource(R.drawable.back);// 获取窗口管理器WindowManager windowManager = getWindowManager();Display display = windowManager.getDefaultDisplay();// 获得屏幕的宽和高int screenWith = display.getWidth();int screenHeight = display.getHeight();// 设置飞机的初始位置planeview.currentX = screenWith / 2;planeview.currentY = screenHeight - 60;// 为draw组件的键盘事件绑定监听器planeview.setOnKeyListener(new OnKeyListener() {@Overridepublic boolean onKey(View v, int keyCode, KeyEvent event) {// TODO Auto-generated method stubswitch (event.getKeyCode()) {case KeyEvent.KEYCODE_DPAD_DOWN:planeview.currentY += speed;break;case KeyEvent.KEYCODE_DPAD_UP:planeview.currentY -= speed;break;case KeyEvent.KEYCODE_DPAD_RIGHT:planeview.currentX += speed;break;case KeyEvent.KEYCODE_DPAD_LEFT:planeview.currentX -= speed;break;default:break;}// 重绘组件planeview.invalidate();return true;}});/*******************************************/planeview.setOnTouchListener(new OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {// TODO Auto-generated method stubfloat X = event.getX();// float Y = event.getY();if (planeview.currentX < X) {planeview.currentX += speed;} else {planeview.currentX -= speed;}planeview.invalidate();return true;}});/****************************************** */}}// 自定义一个View,该View负责绘制游戏的飞机class planeView extends View {public float currentX;public float currentY;Bitmap plane;public planeView(Context context) {super(context);// TODO Auto-generated constructor stub// 定义飞机图片plane = BitmapFactory.decodeResource(context.getResources(),R.drawable.plane);setFocusable(true);}public void onDraw(Canvas canvas) {super.onDraw(canvas);// 创建画笔Paint p = new Paint();// 绘制飞机canvas.drawBitmap(plane, currentX, currentY, p);}}下面我们来看下运行结果:
- 控制飞机的移动
- 键盘事件的监听-控制飞机移动
- 控制飞机移动
- Android使用键盘控制小飞机的移动
- Android学习之控制飞机移动
- 基于cocos2dx的飞机大战学习[三]-为英雄添加飞行帧动作并控制飞机移动
- J2ME 2D小游戏入门之旅(三) 控制飞机的移动
- 窗体和控件的一个小实验:控制一个飞机左右移动
- 疯狂Android讲义(1a)-基于监听的事件处理-控制飞机移动
- 飞机游戏中子弹与飞机的移动与边界源码
- J2ME 2D小游戏入门之控制飞机移动
- J2ME 2D小游戏入门之控制飞机移动
- Python游戏系列之三_控制飞机移动
- html5第八课时,移动的飞机
- 飞机移动与倾斜
- 第三十八天 一乐在其中—Android的小游戏打飞机(二)移动飞机
- swing 飞机大战 三 自己飞机的移动和发射子弹
- Android——简单的飞机的移动
- 【子实推荐/史海钩沉】国军抗战全纪实——100集系列纪录片
- 开心一下
- 转载 :ext spket,ext提示工具安装
- DMZ
- 广义表的应用--稀疏矩阵的快速转置(三元组)
- 控制飞机的移动
- 每天任务的高效管理办法
- 关于request.setAttribute("message", message);不能传int参数的原因
- PHP单例模式在MVC框架设计中的应用
- ThinkPHP叫号系统
- 已知二叉树的先序、中序遍历序列,求其后序遍历结果。(hduoj1710)
- Linux 下zip包的压缩与解压
- AfxGetApp()
- Windows 缓冲区溢出与数据执行保护DEP