Android游戏开发教程:手把手教你写跳跃类游戏(一)
分类标签: SurfaceView
前言: 看了不少Andriod游戏开发方面的博客,发现大多都是讲解某一方面的知识,没有一个完整的开发教程。 所以我就写了这样一个系列的博客,完整的描述整个游戏的开发过程。 希望能给大家一点帮助,同时也希望大家能给出好的建议。我们共同学习~ 好了进入正题: 这是第一篇,里面涉及到的东西都比较基础~~~ 1.游戏介绍:这次编写的游戏是一款跳跃类游戏,类似与涂鸦跳跃。阅读全文 »
Android游戏开发教程之十四:触摸轨迹曲线
分类标签: SurfaceView
在上一章的学习中我们已经知道如何处理游戏中的触摸事件,这一章将向同学们介绍绘制游戏触摸轨迹的曲线图,在onTouchEvent方法中我们可以拿到手指在屏幕中触摸点 X Y时时的坐标,这章我们研究的课题就是如何把这些点变成一种无规则轨迹并且将这条无规则曲线显示在屏幕中。 Android提供了一个Path类 , 顾名思义这个类可以设置曲线路径轨迹。阅读全文 »
Android游戏开发教程之五:View与SurfaceView的区别
分类标签: View SurfaceView Canvas
由此可见View类属于Android开发绘制中的显示老大,任何与绘制有关系的控件都是它的子类。在这篇文章中我主要讲View 与SurFaceView 使用线程刷新屏幕绘制方面的知识。开发中如何去选择使用View还是SurFaceView。我相信读过我前几篇博客的朋友应该知道我在刷新屏幕的时候使用invalidate()方法来重绘,下面我详细的说明一下Andooid刷新屏幕的几种方法。阅读全文 »
Android提高21篇之十一:模拟信号示波器
分类标签: SurfaceView
上次简单地介绍了AudioRecord和AudioTrack的使用,这次就结合SurfaceView实现一个Android版的手机模拟信号示波器。最近物联网炒得很火,作为手机软件开发者,如何在不修改手机硬件电路的前提下实现与第三方传感器结合呢?麦克风就是一个很好的ADC接口,通过麦克风与第三方传感器结合,再在软件里对模拟信号做相应的处理,就可以提供更丰富的传感化应用。阅读全文 »
Android提高21篇之三:SurfaceView与多线程配合使用
分类标签: SurfaceView 线程 Canvas
上节中简单介绍了SurfaceView的基本使用方法,本节主要讲解SurfaceView与多线程的混搭。SurfaceView与多线程混搭,是为了防止动画闪烁而实现的一种多线程应用。android的多线程用法与JAVA的多线程用法完全一样,本文不做多线程方面的介绍了。直接讲解SurfaceView与多线程的混合使用,即开一条线程专门读取图片,另外一条线程专门绘图。阅读全文 »
Android提高21篇之二:SurfaceView的基本使用方法
分类标签: SurfaceView
上次介绍MediaPlayer的时候稍微介绍了SurfaceView,SurfaceView由于可以直接从内存或者DMA等硬件接口取得图像数据,因此是个非常重要的绘图容器,这次我就用两篇文章来介绍SurfaceView的用法。网上介绍SurfaceView的用法有很多,写法也层出不同,例如继承SurfaceView类,或者继承SurfaceHolder.Callback类等阅读全文 »
Android游戏开发26:论SurfaceView与GLSurfaceView的效率
分类标签: SurfaceView OpenGL
做游戏引擎总是倾向于使用OpenGL,这是为什么呢?本文就简单跟大家分析说明下。 如今国外游戏基本上质量都很好,不管是从视觉上、操作上还是流畅度上,那么今天我们关注的是流畅度。 首先有经验的游戏开发者,尤其是一直做2D游戏开发的童鞋门,从J2me到Android,很多做Android的都是从J2me过来的...阅读全文 »
Android游戏开发25:Android中贝塞尔曲线的绘制方法
分类标签: Canvas SurfaceView
贝塞尔曲线,很多人可能不太了解,什么叫做贝塞尔曲线呢?这里先做一下简单介绍:贝塞尔曲线也可以叫做贝济埃曲线或者贝兹曲线,它由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋。一般的矢量图形软件常利用贝塞尔曲线来精确画出曲线。 上面的介绍中,“线段像可伸缩的皮筋”这句话非常关键,但也特别好理解。阅读全文 »
Android游戏开发20:物理游戏之重力系统开发--圆形自由落体Demo
分类标签: SurfaceView
本节为大家提供有关物理游戏的知识,讲解了一个简单的圆形自由落体Demo的编写。Android游戏开发18:重力传感器在游戏开发中的应用中讲了重力传感器的使用,本文要介绍的重力系统实际上是类似的。 在重力传感器中,虽然我也实现了一个圆形会根据手机反转的角度而拥有不同的速度,但是其内置加速度算法都是Android os封装好的...阅读全文 »
Android游戏开发19:SurfaceView运行机制剖析--处理切换到后台再重新进入程序时的异常
分类标签: SurfaceView LogCat Canvas
有不少朋友都遇到过这种问题,程序执行时切换到后台,然后再重新进入会报异常,本文就这种问题全面讲解下SurfaceView的运行机制,了解了这些原理你就能自己解决这些问题了。 我们通常会通过单击HOME按键或返回按键等操作切换到后台,之后可能会再次进入程序,这个时候就有可能报异常。阅读全文 »
Android游戏开发18:重力传感器在游戏开发中的应用
分类标签: Sensor SurfaceView
手势操作可以说是智能手机的一种魅力所在,前两节给大家讲解了两种有趣的手势操作,将它们置于游戏当中,大大提升了游戏的可玩性和趣味性。本节将继续介绍智能手机的另一种神奇之处:传感器。 一、何为传感器 所谓传感器就是能够探测如光、热、温度、重力、方向等等的装置。阅读全文 »
Android游戏开发17:自定义手势--输入法手势技术
分类标签: 手势操作 SurfaceView 触屏事件
进行软件开发时,通常我们都喜欢使用较新版本的工具,但这里我为什么使用低版本的SDK来开发Android游戏呢?这里介绍下原因: 1、Android SDK 属于向下兼容!那么低版本可以运行的,高版本基本上更是没问题!(当然每次SDK的更新也会带来新功能,或者修改了一些原来的BUG等等,那么其实对于游戏开发来说,如果你的游戏中不需要更高的SDK版本的支持情况下,完全不必去追求最新的SDK!)阅读全文 »
Android游戏开发14:SurfaceView中使用Tween Animation渐变动画
分类标签: 动画 SurfaceView
在Android游戏开发4中讲解了使用一张13帧的png图片,采用设置可视区域的方式来实现动画效果,但这是我们手动实现的,实际上Android提供了两种自定义动画的方式:Frame By Frame帧动画和Tween Animation 渐变动画。下面分别介绍: 第一类:Frame By Frame帧动画(不推荐在游戏开发中使用)...阅读全文 »
Android开发实例之多点触控程序
分类标签: 手势操作 SurfaceView
智能终端设备的多点触控操作为我们带来了种种炫酷体验,这也使得很多Android开发者都对多点触控程序的开发感兴趣。实际上多点触控程序的实现并不是那么遥不可及,而是比较容易。本文就主要通过一个实例具体讲解多点触控程序的实现。 首先来了解一下Android中多点触控的原理。阅读全文 »
Android游戏开发7:SurfaceView添加组件后如何全屏显示
分类标签: SurfaceView xml
上一节中讲了如何在SurfaceView中添加Button、TextView等组件,基本已经成功了。但如果是在开发Android游戏的话,你肯定不希望我们的SurfaceView只占了中间一部分,就像播放电影一样,而是想让它占据尽可能多的空间,也就是全屏显示。阅读全文 »
Android游戏开发6:SurfaceView中添加组件并进行数据交互的方法
分类标签: SurfaceView TextView Button
SurfaceView中如何添加系统组件,如我们经常会用到的EditText、TextView、Button等,让很多朋友非常纠结。网上常见到有童鞋在寻找此问题的答案。本文就和各位分享下SurfaceView中添加组件的方法。 1、因为我们的SurfaceView是个View,对于添加的组件其实也是View,如果我们只是一味的想在SurfaceView中添加View组件其实是错误的思想...阅读全文 »
Android游戏开发4:游戏角色在屏幕上行走的Demo及Android游戏基础框架
分类标签: SurfaceView Canvas
上一节中对SurfaceView的分析实际上就是一个简单的游戏框架了。当然这里再强调一下,是简单的游戏框架,高手们不要乱喷哦~ 这个Demo是写的一个对图片操作以及按键处理、游戏简单框架的demo,这里放出给大家分享~阅读全文 »
Android游戏开发3:SurfaceView类使用详解
分类标签: SurfaceView Canvas
上一节中我们对Android游戏开发中的View类和SurfaceView类作了讲解,并进行了对比,得出的结论是SurfaceView类更适合在Android游戏开发中应用。下面我们就详细分析SurfaceView的结构和用法。 首先贴一段实例代码:...阅读全文 »
Android示例程序剖析之LunarLander游戏
分类标签: SurfaceView 线程 Canvas
前几篇文章是对Android示例程序贪吃蛇Snake程序的剖析,本文继续分析Android自带的另一个小游戏LunarLander的程序。在贪吃蛇Snake程序中采用了“定时器+系统调用onDraw”的架构,而LunarLander程序采用的是“多线程+强制自行绘制”的架构思路,比前者更为实用。阅读全文 »
Android游戏开发2:游戏开发中的View类和SurfaceView类
分类标签: View SurfaceView
在Android游戏开发中比较重要同时也比较复杂的就是显示和游戏逻辑的处理,所以用到的主要的类除了控制类就属显示类了,在J2ME中通过Display和Canvas类来实现显示,而Android中为视图显示提供了View类。 SurfaceView类...阅读全文 »