`
mapdigit
  • 浏览: 242763 次
文章分类
社区版块
存档分类
最新评论
文章列表
本篇介绍坦克大战游戏除坦克之外的几个角色。 1. Bullet 子弹类 坦克发射出的子弹在游戏中飞行 2.Explosion 爆炸类 子弹击中子弹,障碍物,或是坦克显示爆炸 3. Powerup 增强宝贝类 星星,加坦克,定时器等 4. Score 分数类。 击中坦克或是攻取增强宝贝,加分显示,分数有100,200,300,400,500,击中不同坦克分数不同。 为直观起见,参见下图,红圈里从上到下分别是Bullet, Powerup, Explosion, Score. 子弹类,屏幕中所有显示子弹从一个子弹池BULLET_POOL中取出,子弹有方向,速度,及强度等属性,高强度的 ...
本篇介绍坦克大战游戏场景类BattleField的设计思路。 BattleField 是Game API中TiledLayer的子类。TiledLayer实现了由小的图形(称为tile)拼接成大的背景,坦克大战游戏的背景是由砖块,石块,树林,水面,雪地等小的图片拼接而成。TiledLayer可以很容易的实现这种类型的背景,包括水面波汶的动态效果。 下面的图片是一个简单由多个小tile组成的游戏背景。 理论上TiledLayer可以实现无限大的背景。为简单起见坦克大战游戏中采用了半随机的方法来生成游戏背景,同时也提供了从文件读取游戏背景的方法,如果想完全复现FC的每一关,可以使用地图编辑器或 ...
有了游戏所需的图象及声音资源后,下面就可以开始定义游戏中的各种角色。为了方便起见,坦克大战游戏中定义了一个角色接口。 public interface Actor{ //////////////////////////////////////////////////////////////////////////// /** * Operation be ...
游戏中使用图象及声音资源 坦克大战游戏中用到游戏资源(音效及图片)来自网络。 这里先对游戏用到的资源做个说明 音效 snd1–snd2 格式为 midi 用于过场音乐及字弹发射及爆炸音效。 图片 img1 – img5 为游戏中各种坦克,物体的分解图片。 其中 img1 由下面图片组成 各种增强宝贝 (最左边两个是家,和炸毁的家),依次为加一辆,定时器等等 坦克或子弹爆炸动画效果 子弹(四个方向飞行) 我方坦克动画(四个方向及履带动态效果),最右方为无敌时状态 多种敌方坦克 img2 由下列图片组成 雪地 砖块 树林 水面 (两
Java ME中提供了一个Game API (javax.microedition.lcdui.game).大大方便了程序员在移动平台上开发复杂游戏。一般的游戏可以分为游戏人物及背景,可以将游戏场景分成多个层次。在Java ME Game API中提供了几个类。 Layer类,该类为一抽象类,提供了游戏人物及背景的层次的基本构架,它代表了游戏场景中一个可视化的元素,如游戏人物(Sprite)或是分片背景(TiledLayer).Sprite类,为一个基本动画游戏人物,它可以显示多个动画帧中其中一帧,比如人向前,向后,向左,向右,坦克大战游戏中各种坦克就是一个sprite类对象,它可以显示坦克向 ...
在前文曾经写过Java坦克大战游戏设计,但是后来由于没有时间,就没写完,最近,计划将地图开发包移植到Android平台。因此需要对Android平台进行学习,在看过Android开发指南后,对Android平台有了一些了解,但是还是无实战经验 ...
代码下载 www.imobilebbs.com/download/android/AndroidGraphics2DTutorial.zip Android 简明开发教程使用了引路蜂二维图形库作为例子,引路蜂二维图形库是引路蜂地图开发包 一部分,引路蜂地图开发包提供了对几乎所有软件平台(桌面和移动平台)的支持,采用统一的接口使用包括Google 地图,Bing地图,MapABC地图在内多达二十多种地图类型,并在同一开发包中支持离线地图,矢量地图显示。 引路蜂地图开发包Android平台示例可以参见http://www.imobilebbs.com/wordpress/? ...
在前面的例子中,我们忽略了一个重要的原则,在代码和Layout中,直接使用了字符串常量,比如: <Button android:text=”Pattern” android:id=”@+id/btnPattern” android:layout_width=”wrap_content” android:textColor=”@color/black” android:checked=”true” android:layout_height=”wrap_content”> </Button> 我们直接定义Button的显示内容为“Pattern” ...
到这里基本介绍了Android开发的一些基本知识,在开发实际应用时最常用的几个参考是: The Developer’s Guide Android References Android Resources 最后一个是Google.com :-) 写好应用后,在设备上测试后,最后一步是发布你的应用。和Java ME平台类似的,Android应用也需要进行数字签名后才能发布。但和Java ME不同的,Android用来签名的数字证书并不需要经过CA认证,这可以每年省下$400-$500的费用,iPhone 每年需交$100费用。Androi ...
在例子Android简明开发教程十七:Dialog 显示图像 中我们留了一个例子DrawMap()没有实现,这个例子显示在线地图,目前大部分地图服务器都是将地图以图片存储以提高响应速度。 一般大小为256X256个像素。具体可以参见离线地图下载方法解析 。 比如: URL http://www.mapdigit.com/guidebeemap/maptile.php?type=MICROSOFTMAP&x=7&y=4&z=14 显示: 下面的例子访问Internet下载地图图片,并拼接成地图显示,这种方法也是引路蜂地图开发包实现的一个 ...
Android 中BroadCast Receiver可以用来侦听广播事件。在使用Broadcast 之前,必须使用代码或是在AndroidManifest.xml进行注册。 下面的例子实现使用短信来触发AndroidGraphics2DTutorial中的示例。短信格式为:@demo:xxxx ,xxxx为 示例名称,比如, 启动Colors示例, 则向手机发送: @demo:Colors . 手机在收到短信后,先检测短信格式是否符合 @demo:xxxx, 若符合,这启动对应的示例。 在AndroidGraphics2DTutorial中添加一个自定义的Broadcast Receive ...
Android中使用线程Thread的方法和Java SE相同。和大多数OS系统一样,Android中也有称为UI Thread的主线程。UI Thread 主要用来给相应的Widget分发消息,包括绘制(Drawing)事件。UI Thread 也是用来处理用户交互事件的线程。比如:如果你按下屏幕上某个按钮,UI 线程则将Touch 事件通知对应的控件(Widgets),Widget 则将其状态设置成“按下”,并把“重绘”(Invalidate)事件发到Event Queue中去。 UI线程从Event Queue中读取事件后通知Widgets重画自身。 如果你的应用设计不好的话, UI线程 ...
Android自带的AlertDialog,ProgressDialog,DatePickerDialog,TimePickerDialog 可以用于简单的对话框显示。当还是有这些对话框不能满足应用需要的时候,这时就可以使用一些自定义的对话框。有多种方法可以实现自定义对话框。一是使用Activity作为Dialog,可以通过设置Activity显示Dialog风格,使得该Activity在外观上和Dialog一致:显示在其它Activity前面且半透明。 <Activity android:name=”MyDialogActivity” Android:theme=”@android:s ...
Dialog一般指可以显示在Activity前面的小窗口,当前的Activity失去焦点(Focus),Dialog将接受用户输入,一般可以用来显示消息或接受用户输入等等。使用Dialog时一般不需要直接创建Dialog类的实例。而是可以使用AlertDialog,ProgressDialog,DatePickerDialog,TimePickerDialog。最常用的是AlertDialog。下面就以使用AlertDialog为例,使用AlertDialog来选择显示图像的三个例子:DrawMap, JumbleImage,SeeThroughImage。其中DrawMap暂时不介绍,将在后面 ...
将RadioButton 换成Button ,类似的在res/layout 中新建brush.xml: <?xml version=”1.0″ encoding=”utf-8″?><LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android” android:orientation=”vertical” android:background=”@drawable/white”android:layout_width=”fill_parent”android:layout_height=”fill ...
Global site tag (gtag.js) - Google Analytics