`
爱孔孟
  • 浏览: 3128 次
  • 性别: Icon_minigender_1
  • 来自: 保定
最近访客 更多访客>>
社区版块
存档分类
最新评论

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,游戏开发圆形碰撞

    在Android游戏开发中,圆形碰撞检测是一个至关重要的技术,它涉及到物体之间的交互,尤其是在2D游戏中。本项目“CircleCollision”提供了一个实例,演示如何在Android平台上实现圆形对象的碰撞效果。下面我们将深入...

    Android范围碰撞检测

    在Android开发中,碰撞检测是一项重要的技术,广泛应用于游戏、动画以及其他交互式应用。它使得对象之间能够感知到彼此的接触,从而触发相应的事件或行为。本篇文章将深入探讨"Android范围碰撞检测",包括矩形碰撞...

    安卓Android源码——(Region碰撞检测).rar

    这个压缩包文件“安卓Android源码——(Region碰撞检测).rar”显然包含了一个关于Region碰撞检测的详细讲解。Region碰撞检测是游戏开发、动画设计以及用户界面交互中的关键技术,它用于判断两个或多个图形区域是否...

    android 两球或多球碰撞检测实例

    在Android游戏开发中,碰撞检测是一项基础且关键的技术,它涉及到物体之间的交互,尤其是在物理模拟或者运动物体的游戏场景中。本实例将详细讲解如何实现两球或多球的碰撞检测,这对于初学者理解碰撞检测原理非常有...

    Android 检测游戏碰撞的原理实现

    本文将深入探讨Android平台下游戏碰撞检测的原理与实现方法。 一、基本概念 碰撞检测是游戏编程中的核心部分,其目的是判断游戏中的两个或多个物体(如角色、障碍物等)是否发生接触。根据复杂程度,碰撞检测可以...

    安卓Android源码——(Region碰撞检测).zip

    本资料包"安卓Android源码——(Region碰撞检测).zip"包含了关于这个主题的具体实现代码,可以帮助开发者深入理解并实践Region碰撞检测。 首先,我们需要了解Region的基本概念。在Android中,Region通常用来表示屏幕...

    Android游戏开发之碰撞检测(矩形碰撞、圆形碰撞、像素碰撞)

    在Android游戏开发中,碰撞检测是一项关键的技术,用于判断游戏对象之间是否发生接触。本篇文章主要探讨了三种基本的碰撞检测方法:矩形碰撞、圆形碰撞以及像素碰撞,并且涉及到了多矩形碰撞的处理。 1. **矩形碰撞...

    Android应用源码之(Region碰撞检测).zip

    在Android应用开发中,Region碰撞检测是一项重要的技术,主要用于游戏开发、动画制作或者任何需要检测图形元素之间相互作用的场景。本源码提供了一个具体的实现示例,帮助开发者理解和掌握如何在Android平台上进行...

    Android 3D游戏开发技术宝典-OpenGL ES 2.0 (吴亚峰) 源代码

    第2章 游戏开发相关android基础知识 23 2.1 游戏中的音效 23 2.1.1 游戏中的即时音效 23 2.1.2 即时音效的一个案例 24 2.1.3 背景音乐播放技术 27 2.1.4 简易音乐播放器的实现 29 2.2 简单数据的...

    Android 3D 游戏开发技术宝典 opengles2.0 源码

    7. **第11章 常用3D开发技巧案例**:通过具体的实例,讲解了3D开发中的实用技巧,如光照计算、碰撞检测、动画实现等,这些技巧能显著提升游戏体验。 8. **第12章 几种剪裁与测试**:介绍了深度测试、剪裁测试等,...

    Android 3D游戏开发技术宝典 源代码1

    7. **第11章 常用3D开发技巧案例**:这部分可能包含了一些实战技巧,如光照计算、碰撞检测、动画制作等,这些都是3D游戏开发中的常见问题。通过案例,开发者可以学习到如何在实际项目中应用这些技巧。 8. **第12章 ...

    基于OpenGL的Android+3D游戏开发技术详解与典型案例(源码)

    通过该案例向读者介绍了在Android平台下进行3D游戏开发的相关知识和基本流程,并对游戏开发中的编程技巧进行了介绍,并主要介绍了篮球与地面、墙面及篮框的碰撞检测及运动动画的实现方法  第17章 益智类游戏——...

    Android 3D游戏开发技术宝典

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

    精通Android游戏开发-源代码

    - `ch03.SpaceBlaster`:此项目可能涉及2D游戏开发,可能讲解如何使用Android的Canvas和SurfaceView进行游戏画面的绘制,以及碰撞检测和游戏逻辑的实现。 - `ch05.OpenGL`:OpenGL ES是Android上进行3D图形渲染的...

    Android游戏开发简单教程

    5. **物理引擎**:虽然不是所有游戏都需要复杂的物理模拟,但了解Box2D或Bullet等开源物理引擎可以帮助实现更真实的碰撞检测和物理效果。 6. **网络编程**:如果游戏需要多人在线对战,那么了解Socket编程和使用...

    Android2.0游戏开发实战宝典 (1-16章 全)

    6. **碰撞检测**:探讨如何实现物体之间的碰撞检测,包括矩形、圆形等简单形状的碰撞检测算法。 7. **物理引擎**:介绍集成物理引擎(如Box2D)到游戏中,实现物体的动态行为、重力、摩擦力等物理效果。 8. **音频...

    Android 3D 游戏开发教程.zip

    此外,物理引擎如Box2D或Bullet可以添加真实感的物理模拟,比如碰撞检测和重力。学习如何将这些引擎与你的3D图形系统集成是必要的。 游戏逻辑和控制是另一个重要方面,这需要理解事件处理、用户输入、游戏循环以及...

    [Android游戏源码]-简单的贪吃蛇源码.rar_Android游戏源码_android_android 贪吃蛇_贪吃蛇_贪

    2. **碰撞检测**:碰撞检测是贪吃蛇游戏中的关键部分,用于判断蛇头是否碰到食物或者蛇身。这部分通常通过坐标比较来实现,一旦检测到碰撞,游戏状态就会发生变化,如蛇长度增加或者游戏结束。 3. **食物生成**:...

    Androidstudio游戏入门碰撞图片.zip

    这个"Androidstudio游戏入门碰撞图片.zip"文件显然包含了用于2D游戏开发的一些基础元素,特别是关于物体碰撞检测和屏幕边缘反弹的图像资源。我们将深入探讨这些知识点。 首先,2D游戏开发在Android Studio中主要...

Global site tag (gtag.js) - Google Analytics