`

Android 基于坐标的图形开发

 
阅读更多

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控制游戏流程,例如启动游戏、暂停游戏、停止游戏等。

分享到:
评论

相关推荐

    android 3D坐标旋转

    在Android开发中,3D坐标旋转是一个重要的图形处理技术,常用于实现动态界面效果和复杂的用户交互。这个“android 3D坐标旋转”主题主要涵盖了如何在Android平台上使用OpenGL ES进行3D对象的旋转操作。OpenGL ES是...

    Android 三维图形演示代码

    在Android平台上,开发三维图形应用是一项复杂而富有挑战性的任务,因为这涉及到对硬件加速图形接口的深入理解和熟练使用。本示例项目“Android 三维图形演示代码”提供了一个具体的实例,展示了如何在Android设备上...

    Android OpenGL ES 简明开发教程四:3D 坐标变换

    在Android平台进行3D图形开发时,OpenGL ES(Open Graphics Library for Embedded Systems)是一项关键的技术。它允许开发者在移动设备上创建复杂的3D图形和动画。在OpenGL ES的环境中,3D坐标变换是构建和操作3D...

    Android图形与图像处理

    Android图形系统基于层叠窗口模型,其中每个窗口都可以有自己的图形内容。主要由View和Surface组件构成,View用于绘制用户界面,Surface则作为显示内容的缓冲区。Android支持多种图形API,如Canvas、OpenGL ES、 ...

    android不规则图形点击处理

    在Android开发中,有时我们需要处理不规则图形的点击事件,比如在地图应用中点击自定义形状的区域,或者在游戏中的交互元素等。在这种场景下,标准的矩形点击监听器无法满足需求,因为它们只能识别基于像素坐标的...

    Android坐标转换.zip

    在Android开发中,坐标转换是一项重要的任务,尤其是在处理地图、触摸事件或者图形绘制时。Android系统使用了多种坐标系统,包括设备坐标系、屏幕坐标系、像素坐标系以及OpenGL坐标系等,这些坐标系在不同的场景下有...

    Android-一个小的坐标转化工具可以将坐标点或其他的点转化到自定义的view上面

    首先,Android中的坐标系统是基于左上角为原点的笛卡尔坐标系,X轴向右延伸,Y轴向下延伸。然而,在实际应用中,我们可能需要处理其他坐标系统,比如GPS坐标、地理坐标等,它们与Android视图系统的坐标不完全一致。 ...

    Android小游戏——像素鸟

    《Android小游戏——像素鸟》是一款基于Android平台的休闲游戏,其核心玩法是引导一只像素风格的小鸟在由管道构成的障碍物间穿梭。这款游戏的实现主要涉及到Android开发的基础知识、Java编程语言以及游戏编程的基本...

    Android三维程序设计-基于OpenGL ES的图形应用程序设计

    《Android三维程序设计-基于OpenGL ES的图形应用程序设计》是由Prateek Mehta撰写的一本专业书籍,专注于探讨如何在Android平台上开发三维图形应用。OpenGL ES是本书的核心,它是OpenGL的一个精简版本,专为嵌入式...

    基于Basic4android平台的APP开发教学设计.pdf

    【基于Basic4android平台的APP开发教学设计】 在当前的职业教育中,Android移动应用开发课程正处于不断探索的初期阶段。为了培养出具有实践能力的移动软件开发人才,Basic4android(B4A)平台被引入Android程序开发...

    Android 3D游戏开发技术宝典

    《Android 3D游戏开发技术宝典》是一本深度探讨Android平台上3D游戏开发的专著,涵盖了从基础概念到高级技巧的全方位知识。在91.1 MB的资源中,作者详细阐述了如何利用Android系统特性,结合现代图形处理技术,创造...

    精通Android游戏开发-源代码

    - `ch05.OpenGL`:OpenGL ES是Android上进行3D图形渲染的主要工具,这部分可能详细介绍了OpenGL ES的基本概念、坐标系统、着色器语言(GLSL)的使用以及纹理映射等技术。 3. **游戏框架与引擎** - `ch04....

    Android图形系统的分析与移植

    而`android.opengl`则针对三维图形开发,基于OpenGL/ES标准。Skia是一个高性能的2D矢量图形库,具备字体渲染、坐标变换及位图处理能力,与OpenGL/ES结合,利用特定硬件特性,显著提升Android平台的图形显示性能。...

    精通Android游戏开发

    《精通Android游戏开发》这本书是Android游戏开发领域的权威指南,旨在帮助读者深入理解并掌握构建高性能、高质量Android游戏所需的技术和方法。高清版的PDF格式确保了内容的可读性和视觉体验,使得学习过程更为舒适...

    动画坐标控件的指定位置开始动画

    动画坐标系统是基于二维或三维空间中的坐标轴来定义对象的位置。在二维空间中,通常有X轴和Y轴,分别代表水平和垂直方向;在三维空间中,还有Z轴代表深度方向。动画坐标就是在这个坐标系统中定义动画的起点和路径,...

    Android大作业.zip

    【Android大作业.zip】是一个包含了两个重要项目的压缩文件,这些项目是针对Android开发的学习与实践。根据提供的描述,我们可以深入探讨这两个项目所涉及的关键知识点。 ### 第1题:网络通信程序 这个项目要求在...

    Android 图形系统的分析与移植

    在图形显示方面,Android基于Linux内核,但在图形处理上并没有采用传统的GTK(GIMP Toolkit)来构建X Window图形用户界面,也没有使用Cairo矢量图形库,而是采用了专为Android优化的2D矢量图形处理库Skia。...

    OpenGL ES基于安卓开发的地月星系(Android源码)

    总的来说,"OpenGL ES基于安卓开发的地月星系"项目展示了移动平台上的高级3D图形编程技术。它涵盖了3D建模、渲染、交互等多个方面,是学习和实践OpenGL ES技术的一个良好实例。通过对这个项目的深入研究,开发者可以...

    android,游戏开发圆形碰撞

    Android游戏开发通常基于Java或Kotlin语言,利用Android SDK和相关工具如Android Studio进行。游戏引擎如Unity或Cocos2d-x也是常用的开发平台,但本项目更侧重于原生Android开发。 二、图形与碰撞检测 在2D游戏中,...

Global site tag (gtag.js) - Google Analytics