Android游戏开发之旅
pilou5400
这个作者很懒,什么都没留下…
展开
-
Android中Context简介
<br />Context字面意思是上下文,位于framework package的android.content.Context中,其实该类为LONG型,类似Win32中的Handle句柄。很多方法需要通过 Context才能识别调用者的实例:比如说Toast的第一个参数就是Context,一般在Activity中我们直接用this代替,代表调用者的实例为Activity,而到了一个button的onClick(View view)等方法时,我们用this时就会报错,所以我们可能使用ActivityNam转载 2010-12-01 17:50:00 · 348 阅读 · 0 评论 -
Android游戏开发之旅(九)VideoView类剖析
<br />有关SurfaceView 相关的内容今天Android123继续延用系统 的示例类VideoView来让大家深入了解Android平台 的图形绘制基础类的实现原理。大家可能会发现VideoView类的控制方面无法改变,我们可以通过重构VideoView类来实现更个性化的播放 器<br /> public class VideoView extends SurfaceView implements MediaPlayerControl { private String TAG =转载 2010-11-25 16:30:00 · 501 阅读 · 0 评论 -
Android游戏开发之旅(十)位图旋转
<br />在Android中图形的旋转和变化提供了方便的矩阵Maxtrix类,Maxtrix类的setRotate方法接受图形的变换角度和缩放,最终Bitmap类的createBitmap方法中其中的重载函数,可以接受Maxtrix对象,方法原型如下<br />public static Bitmap createBitmap (Bitmap source, int x, int y, int width, int height, Matrix m, boolean filter)<br />参数的具体意转载 2010-11-25 16:31:00 · 343 阅读 · 0 评论 -
Android游戏开发之旅(十二)Sensor重力感应(1)
<br />从Android手机 开始,主流的智能机纷纷加入了感应器Sensor硬件,常见的有光线感应器、重力感应器、加速感应器,而更高级的有磁极方向、陀螺仪、距离感应器、温度感应器等等。对于Android游戏开发 ,我们主要用到重力、加速、磁力和陀螺仪四种,当然部分游戏可能需要GPS 或Cellid定位来修正一些位移信息。从系统 中提高的感应器主要在android .hardware中,我们可以看到系统提供了 android.hardware.SensorEventListener、Sensor和Sens转载 2010-11-25 16:33:00 · 549 阅读 · 0 评论 -
Android游戏开发之旅(十五) 按键中断处理
<br />有关Android平台上游戏开发中我们需要处理一些特别的按键事件,对于突发的事情我们需要特别的考虑,比如突然来电话了和游戏中按下一些特殊的键,比如拍照键<br />@Override public boolean dispatchKeyEvent(KeyEvent event) { switch (event.getKeyCode()) { case KeyEvent.KEYCODE_VOLUME_U转载 2010-11-25 16:36:00 · 376 阅读 · 0 评论 -
Android游戏开发之旅(十八) SoundPool类
<br />对于Android的游戏音效播放,上次Android123已经告诉大家使用SoundPool类来实现,由于本次我们的游戏需要多种音效同时播放所以就选择了SoundPool类,它和Android提供常规的MediaPlayer类有哪些不同呢? <br /> 1. SoundPool载入音乐文件使用了独立的线程,不会阻塞UI主线程的操作。但是这里Android开发网提醒大家如果音效文件过大没有载入完成,我们调用play方法时可能产生严重的后果,这里Android SDK提供了一个SoundPool转载 2010-11-25 16:39:00 · 376 阅读 · 0 评论 -
Android游戏开发之旅(十九) 分辨率大全
<br />对于Android游戏开发我们不得不像iPhone那样思考兼容Android平板电脑,对于苹果要考虑iPad、iPhone 3GS和iPhone 4等屏幕之间的兼容性,对于几乎所有的分辨率Android123总结了大约超过20中粉笔阿女郎的大小和对应关系,对于开发Android游戏而言可以考虑到未来的3.0以及很多平板电脑的需要。 <br /> 常规的我们可能只考虑QVGA,HVGA,WVGA,FWVGA和DVGA,但是抛去了手机不谈,可能平板使用类似 WSVGA的1024x576以及WXGA转载 2010-11-25 16:40:00 · 389 阅读 · 0 评论 -
Android游戏开发之旅(一)
<br />今天Android开始新的Android游戏开发 之旅系列,主要从控制方法(按键、轨迹球、触屏、重力感应、摄像头、话筒气流、光线亮度)、图形 View (高效绘图技术如双缓冲)、音效(游戏音乐)以及最后的OpenGL ES(Java 层)和NDK 的OpenGL和J2ME游戏移植 到Android方法,当然还有一些游戏实现惯用方法,比如地图编辑器,在Android OpenGL如何使用MD2文件 ,个部分讲述下Android游戏开发的过程最终实现一个比较完整的游戏引擎。相信大家都清楚Androi转载 2010-11-25 15:21:00 · 378 阅读 · 0 评论 -
Android游戏开发之旅(二)View和SurfaceView
<br />在Android游戏 当中充当主要的除了控制类外就是显示类,在J2ME中我们用Display和Canvas来实现这些,而Google Android中涉及到显示的为view类,Android游戏开发 中比较重要和复杂的就是显示和游戏逻辑的处理。这里我们说下 android .view.View 和android.view.SurfaceView。SurfaceView是从View基类中派生出来的显示类,直接子类有GLSurfaceView和VideoView,可以看出GL和视频播放 以及Came转载 2010-11-25 15:25:00 · 309 阅读 · 0 评论 -
Android游戏开发之旅(十一)View中手势识别
<br />有关Android平台 的游戏开发 中我们需要涉及到控制,在开始的Android游戏开发之旅中我们提到了按键和轨迹球的控制方式,从今天开始 Android123开始给出大家游戏中其他的一些控制方式,比如今天的手势操作和未来重力感应。<br /><br />很多网友发现Android中手势识别提供了两个类,由于Android 1.6以下的版本比如cupcake中无法使用android .view.GestureDetector,而 android.gesture.Gesture是Android 1转载 2010-11-25 16:32:00 · 325 阅读 · 0 评论 -
Android游戏开发之旅(八)SurfaceView类实例
<br />有关SurfaceView 我们将通过三个系统 自带的例子 来深入掌握Android绘图必会的SurfaceView,今天我们以SDK中的Sample 游戏 lunarlander中的LunarView具体实现,Android123建议大家导入该游戏工程到你的Eclipse 然后自己编译 先玩一下这个游戏,然后再看代码 比较好理解。<br /> class LunarView extends SurfaceView implements SurfaceHolder.Callback {转载 2010-11-25 16:28:00 · 358 阅读 · 0 评论 -
Android游戏开发之旅(六)自定义View
<br />有关Android的自定义View 的框架今天我们一起讨论下,对于常规的游戏 ,我们在View中需要处理以下几种问题: 1.控制事件 2.刷新View 3. 绘制View。(文/Android开发 网)<br /><br /> 1. 对于控制事件今天我们只处理按键事件onKeyDown,以后的文章中将会讲到屏幕 触控的具体处理onTouchEvent以及Sensor重力感应等方法。<br /><br /> 2. 刷新view的方法这里主要有invalidate(int l, int t, i转载 2010-11-25 16:11:00 · 375 阅读 · 0 评论 -
Android创建和删除桌面快捷方式
1 、创建2、删除3、声明权限在AndroidManifest.xml 文件中声明 创建和删除快捷方式时声明权限/** * 删除程序的快捷方式 */ private void delShortcut(){ Intent shortcut = new Intent("com.android.launcher.action.UNINSTALL_SHORTCUT"); //快捷方式的名称 shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, ge转载 2010-12-06 09:49:00 · 511 阅读 · 0 评论 -
Android游戏开发之旅(三)View类详解
<br /> 在Android游戏开发 之旅二中我们讲到了View 和SurfaceView的区别,今天Android123从View类开始着重的介绍 Android图形显示基类的相关方法和注意点。(文/Android开发网)<br /><br />自定义 View的常用方法:<br /><br />onFinishInflate() 当View中所有的子控件 均被映射成xml后触发<br /><br />onMeasure(int, int) 确定所有子元素的大小<br /><br />onLa转载 2010-11-25 15:36:00 · 393 阅读 · 0 评论 -
Android游戏开发之旅(七)自定义SurfaceView
<br />今天我们说下未来的Android游戏 引擎模板架构问题,对于游戏我们还是选择SurfaceView ,相关的原因Android123已经在Android游戏开发 之旅二 View和SurfaceView中说的很清楚了,这里我们直接继承SurfaceView,实现 SurfaceHolder.Callback接口,处理surfaceCreated、surfaceChanged以及 surfaceDestroyed方法,这里我们并没有把按键控制传入,最终游戏的控制方面仍然由View内部类处理比较好,转载 2010-11-25 16:26:00 · 431 阅读 · 0 评论 -
Android游戏开发之旅(十二)Sensor重力感应(2)
<br />有关Android游戏开发中的Sensor感应示例今天我们将一起来讨论,对于目前最新的Android 2.2平台 而言仍然没有具体的感应判断逻辑,下面我们一起定义 下常用的感应动作事件。首先Android123提醒大家由于是三轴的立体空间感应所以相对于轨迹球、导航键的上下左右外,还提供了前后的感应,所以我们定义最基本的六种空间方向。 <br />public static final int CWJ_UP = 0; public static final int CWJ_DOWN = 1;转载 2010-11-25 16:34:00 · 425 阅读 · 0 评论 -
Android游戏开发之旅(十六) 异步音乐播放
<br />在Android游戏开发中我们必须考虑背景音乐播放问题,在Android平台中提供了MediaPlayer类可以播放声音,但是游戏除了播放音乐外还需要考虑画面的流畅性,以及多种音效同时播放,所以必须用到Android多线程机制和异步音效播放。Android SDK从1.0开始就提供了AsyncPlayer类,这里我们为了根据我们自己的需要可以派生或修改出更灵活的播放类。<br />import android.content.Context; import android.net.Uri;转载 2010-11-25 16:37:00 · 457 阅读 · 0 评论 -
Android游戏开发之旅(十七) 图像渐变特效
<br />在Android游戏开发中我们不免要涉及到一些图形特效处理,今天主要看下Android平台下实现渐变效果。在 android.graphics中我们可以找到有关Gradient字样的类,比如LinearGradient 线性渐变、RadialGradient径向渐变和 角度渐变SweepGradient 三种,他们的基类为android.graphics.Shader。为了显示出效果android123使用一个简单的例子来说明。 <br /> 一、LinearGradient线性渐变<br /转载 2010-11-25 16:38:00 · 486 阅读 · 0 评论 -
Android游戏开发之旅(二十) 双按事件捕获
<br />对于游戏开发中我们可能经常要用到双按屏幕,在Android 1.6以前并没有提供完善的手势识别类,在Android 1.5 SDK中我们可以找到android.view.GestureDetector.OnDoubleTapListener,但是经过测试仍然无法正常工作,不知道什么原因。最终我们使用的解决方法如下 <br /> 最终我们测试的如下:<br />public class TouchLayout extends RelativeLayout { public Han转载 2010-11-25 16:42:00 · 309 阅读 · 0 评论 -
Android游戏开发之旅(四)Canvas和Paint实例
<br />昨天我们在Android游戏开发 之旅(三)View 类详解中提到了onDraw方法,有关详细的实现我们今天主要说下Android的Canvas和Paint对象的使用实例。<br /><br />Canvas类主要实现了屏幕 的绘制过程,其中包含了很多实用的方法,比如绘制一条路径、区域、贴图、画点、画线、渲染文本,下面是Canvas类常用的方法,当然Android开发网提示大家很多方法有不同的重载版本,参数更灵活。<br /><br />void drawRect(RectF rect, Pai转载 2010-11-25 15:45:00 · 362 阅读 · 0 评论 -
Android游戏开发之旅(五)Path和Typeface
<br />今天我们继续处理上次 Android游戏开发 之旅(四)Canvas和Paint实例 中提到的Path路径和Typeface字体两个类。对于Android游戏开发或者说2D绘图中来讲Path 路径可以用强大这个词来形容。在Photoshop中我们可能还记得使用钢笔工具绘制路径的方法。Path路径类在位于 android .graphics.Path中,Path的构造方法比较简单,如下<br />Path cwj=new Path(); //构造方法<br /> <br />下面我们画一个封闭的转载 2010-11-25 16:05:00 · 518 阅读 · 0 评论 -
Android游戏开发之旅(十四) 游戏开发实战一
<br />从今天开始Android123将开始带领大家进入Android游戏开发实战篇,本次我们首个游戏为2D的基于SurfaceView的类似横版卷轴游戏。第一天我们说下需要做哪些准备: <br /> 一、游戏地图编辑器,在J2ME时代我们可能都是用GIF分割多帧或BMP上放置多个图片通过减少文件头来压缩体积,但是在Android平台上开发游戏我们不需要那么节省,不过资源的释放仍然很重要,否则会出现OutOfMemoryError这样的悲剧发生。一般简单的2D平面游戏地图都是使用二维数组来标记的。我们转载 2010-11-25 16:35:00 · 370 阅读 · 0 评论