Android使用键盘控制小飞机的移动
来源:互联网 发布:如何注册域名步骤 编辑:程序博客网 时间:2024/05/04 18:07
使用安卓虚拟按键控制小飞机的移动小demo
小飞机的View
public class plain extends View{ public float x; 这是定义的飞机的x轴 位置坐标 public float y; Bitmap plain; 新建plain public plain(Context context) { super(context); plain = BitmapFactory.decodeResource(context.getResources(), R.drawable.ic_launcher); 为plain设置资源 一个飞机的图片 setFocusable(true); 设置可成为焦点 可以绑定监听事件 } public void onDraw(Canvas canvas){ 画布 super.onDraw(canvas); Paint p = new Paint(); 新建画笔 canvas.drawBitmap(plain, x, y, p); 画图 } }
主Activity
public class MainActivity extends ActionBarActivity { private int spend = 10; 设置初始的速度 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.activity_main); requestWindowFeature(Window.FEATURE_NO_TITLE); 设置全屏 final plain plainv = new plain(this); 创建plain类 setContentView(plainv); //plainv.setBackgroundResource(R.drawable.bk); WindowManager windowmangr = getWindowManager(); Display display = windowmangr.getDefaultDisplay(); DisplayMetrics metrics = new DisplayMetrics(); 获取到屏幕宽高 display.getMetrics(metrics); plainv.x = metrics.widthPixels/2; plainv.y = metrics.widthPixels-40; plainv.setOnKeyListener(new OnKeyListener() { 设置键盘监听事件 @Override public boolean onKey(View source, int keycode, KeyEvent event) { switch (event.getKeyCode()) { case KeyEvent.KEYCODE_S: plainv.y += spend; break; case KeyEvent.KEYCODE_W: plainv.y -= spend; break; case KeyEvent.KEYCODE_A: plainv.x -= spend; break; case KeyEvent.KEYCODE_D: plainv.x += spend; break; default: break; } plainv.invalidate(); return true; } }); }}
0 0
- Android使用键盘控制小飞机的移动
- 键盘事件的监听-控制飞机移动
- 控制飞机的移动
- Android键盘事件监听器实例-能移动的飞机
- 简单的使用键盘控制方块移动
- Android学习之控制飞机移动
- 窗体和控件的一个小实验:控制一个飞机左右移动
- 控制飞机移动
- 疯狂Android讲义(1a)-基于监听的事件处理-控制飞机移动
- [Mapbox GL]使用键盘控制标记移动
- 进度条小飞机移动动画
- DFB 用键盘和鼠标控制图片移动的小例子
- 飞机游戏移动和发射子弹的小模型
- (译)移动的键盘控制
- c# 键盘控制控件的移动
- 【Unity3D】键盘鼠标控制视角的移动
- 用键盘控制小球的移动
- VB工程--百例56--用键盘控制小方块移动
- 【VS开发】TCP服务端如何判断客户端断开连接
- GO语言基础学习------方法_1
- LatinIME中几个主要方法说明======》修改按键背景,以及行列间距
- 文章标题
- 实时传递信息-Websocket
- Android使用键盘控制小飞机的移动
- [ifrog 1066 - Buy Candy] 四边形优化的石子合并
- 递归调用、栈、斐波那契数列
- json格式化网站 超级好用
- IOS 之 UIPickerView 学习总结
- 编译C++代码时出现"error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int"错误。
- matlab 排列组合
- poj 1273 Drainage Ditches
- Nginx服务器在互联网系统架构部署中的应用