文档章节

Android中的坐标系统

蜀山下的鱼
 蜀山下的鱼
发布于 2015/04/29 00:42
字数 639
阅读 30
收藏 0
1、Android中的坐标系统
在Android系统中,屏幕的左上角是坐标系统的原点(0,0)坐标。原点向右延伸是X轴正方向,原点向下延伸是Y轴正方向。
2、屏幕的宽和高
为了在屏幕中的合适位置绘制图形,我们需要使用屏幕的宽和高作为参考,来确定绘制图形的位置。要获得屏幕的宽和高,首先从Activity对象中获得WindowManager对象,然后从WindowManager对象中获得Display对象,再从Display对象中获得屏幕的宽和高。
// 获得屏幕的宽和高
WindowManager manger = getWindowManager();
Diaplay diaplay = manager.getDefaultDisplay();
int screenWidth = display.getWidth();
int screenHeight = display.getHeight();
3、边界的确定
在很多游戏中都需要对绘制在屏幕中格的视图进行边界的确定。例如,在射击类游戏中我们就需要判断玩家、敌人、子弹等视图的边界位置。边界的判断无非是对上、下、左、右屏幕边界的判断。
如果当前视图的X坐标小于零,则当前视图左越界。如果当前视图的X坐标大于屏幕的宽,则右越界。
如果当前视图的Y坐标小于零,则当前视图上越界。如果当前视图的Y坐标大于屏幕的高,则下越界。
4、视图的移动
游戏的实现过程其实很简单,就是不但改变视图的位置坐标,然后重新将他们绘制在屏幕上。不过这种坐标的位置改变和绘制过程是通过一定逻辑来控制实现的。视图的移动就是通过改变视图坐标位置来实现的。改变了坐标再重新绘制,给我们的感觉是视图在移动。
如果视图水平向左移动,X坐标减小;如果视图水平向右移动,X坐标增大。
如果视图垂直向上移动,Y坐标减小;如果视图垂直向下移动,Y坐标增大。
5、Android游戏开发基本框架
Android游戏开发框架基本对象有三个:一是图层对象,该图层对象定义图层的宽和高、图层的位置、图层的移动以及绘制方法等;二是视图对象,视图对象的主要作用是绘制图层对象、相应键盘事件和处理视图线程等;三是一个Activity控制游戏流程,例如启动游戏、暂停游戏、停止游戏等。

本文转载自:http://blog.csdn.net/caiwenfeng_for_23/article/details/13614199

蜀山下的鱼
粉丝 9
博文 405
码字总数 0
作品 0
广州
高级程序员
私信 提问
Android SVG、Vector和VectorDrawable矢量图及动画

Vector图像,第三方Sharp库,阿里巴巴的SVG图。 阿里巴巴矢量图库(http://www.iconfont.cn/) Android矢量图(一)--VectorDrawable基础- https://www.jianshu.com/p/0972a0d290e9 android下一些...

desaco
2018/10/18
0
0
[Android] Android Tweened Animations动画使用详解二

一、动画类型 Android的animation由四种类型组成:alpha、scale、translate、rotate XML配置文件中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效...

枫兮兮
2014/02/11
81
0
常见的四种Animation详解(深入可以制作效果动画)

anim.xml 放入res文件中自己创建,4种常用的动画效果,每个加入了注释 <?xml version="1.0" encoding="UTF-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <!-- T......

子曰疯
2013/11/21
396
1
Android动画开发——Animation动画效果

动画类型 Android的animation由四种类型组成 XML中 JavaCode中 Android动画模式 Animation主要有两种动画模式: 一种是tweened animation(渐变动画) 一种是frame by frame(画面转换动画) 如何...

元来元去
2012/03/19
881
0
Android Animations动画使用详解

一、动画类型 Android的animation由四种类型组成:alpha、scale、translate、rotate XML配置文件中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效...

长平狐
2013/01/06
77
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二)

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二) List 类型的操作 1、 向列表左侧添加数据 Long leftPush = redisTemplate.opsForList().leftPush("name", name); 2、 向列表右......

TcWong
今天
7
0
排序––快速排序(二)

根据排序––快速排序(一)的描述,现准备写一个快速排序的主体框架: 1、首先需要设置一个枢轴元素即setPivot(int i); 2、然后需要与枢轴元素进行比较即int comparePivot(int j); 3、最后...

FAT_mt
昨天
4
0
mysql概览

学习知识,首先要有一个总体的认识。以下为mysql概览 1-架构图 2-Detail csdn |简书 | 头条 | SegmentFault 思否 | 掘金 | 开源中国 |

程序员深夜写bug
昨天
10
0
golang微服务框架go-micro 入门笔记2.2 micro工具之微应用利器micro web

micro web micro 功能非常强大,本文将详细阐述micro web 命令行的功能 阅读本文前你可能需要进行如下知识储备 golang分布式微服务框架go-micro 入门笔记1:搭建go-micro环境, golang微服务框架...

非正式解决方案
昨天
9
0
前端——使用base64编码在页面嵌入图片

因为页面中插入一个图片都要写明图片的路径——相对路径或者绝对路径。而除了具体的网站图片的图片地址,如果是在自己电脑文件夹里的图片,当我们的HTML文件在别人电脑上打开的时候图片则由于...

被毒打的程序猿
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部