我目前是一个应用开发人员,对游戏开发有些浓厚的兴趣与好奇,故此研究一下,先由浅入深研究一下坐标,在应用开发中偶尔也会使用坐标,基本差别不大
都是在activity中
获得WindowManager对象,然后从WindowManager对象中获得Display对象,再从Display对象中获得屏幕的宽和高。
// 获得屏幕的宽和高
WindowManager manger = getWindowManager();
Diaplay diaplay = manager.getDefaultDisplay();
int screenWidth = display.getWidth();
int screenHeight = display.getHeight();
例如,在射击类游戏中我们就需要判断玩家、敌人、子弹等视图的边界位置。边界的判断无非是对上、下、左、右屏幕边界的判断。
如果当前视图的X坐标小于零,则当前视图左越界。如果当前视图的X坐标大于屏幕的宽,则右越界。
如果当前视图的Y坐标小于零,则当前视图上越界。如果当前视图的Y坐标大于屏幕的高,则下越界。
视图的移动
游戏的实现过程其实很简单,就是不但改变视图的位置坐标,然后重新将他们绘制在屏幕上。不过这种坐标的位置改变和绘制过程是通过一定逻辑来控制实现的。视图的移动就是通过改变视图坐标位置来实现的。改变了坐标再重新绘制,给我们的感觉是视图在移动。
如果视图水平向左移动,X坐标减小;如果视图水平向右移动,X坐标增大。
如果视图垂直向上移动,Y坐标减小;如果视图垂直向下移动,Y坐标增大。
Android游戏开发基本框架
Android游戏开发框架基本对象有三个:一是图层对象,该图层对象定义图层的宽和高、图层的位置、图层的移动以及绘制方法等;二是视图对象,视图对象的主要作用是绘制图层对象、相应键盘事件和处理视图线程等;三是一个Activity控制游戏流程,例如启动游戏、暂停游戏、停止游戏等。