快速业务通道

通过实例学习NetBeans 6的新功能 第3部分:使用Mobility开发游戏 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
ight : image 类中的平铺层的纵向高度(像素) */

如下所示,在平铺层 tl 右上方的帖图(第 0 行 第 0 列)中配置红色屋顶的房子时(图像文件的索引编号为 9),可以使用 setCell() 方 法来定义平铺层的图像:

tl.setCell(0, 0, 9); // 将索引编号为“9”的图像复制到平铺层的第 0 行和第 0 列中

如下所示,游戏生成器自动生成平铺层的获取方法并将其保存在类中〔下面的 getMyImage() 方法用于读入图像文件并充当 Image 对象的 返回方法〕。

public TiledLayer getMyTiledLayer() throws java.io.IOException {      if (MyTileLayer == null) {        MyTileLayer = new TileLayer(24, 23, getMyImage(), 16, 16);        int tiles[][] = {          { 7, 3, 17, 6, 6, 6, 6, 35, 23, 16, 16, ... }          { 7, 3, 5, 16, 16, 16, 16, 16, 26, 16, ...}          ....          {16, 16, ..... }        };        for (int row = 0; row < 23; row++) {          for (int col = 0; col < 24; col++) {            tl.setCell(col, row, tiles[row][col]);          }        }      }      return myTiledLayer;    }

还可以在图层中嵌入动画,显示动画的图层叫做“动画层”。比如说,准备好以下图像,然后将各个图像定义为帧之后就可以实现灯光火焰 摇曳的情景。

通过实例学习NetBeans 6的新功能 第3部分:使用Mobility开发游戏 - 编程入门网

图 5 灯光的火焰

以纸质笔记本上的“翻页动画”涂鸦为例,绘制在每张纸上的画就相当于 1 个帧。游戏生成器可以通过设置帧来创建动画,如下所示,将 每个图像都当做 1 个帧并且按顺序粘贴起来,这样便可以实现动画效果。下面的图像有点不好解释,但上面的 4 个图像按从左到右的顺序配 置后,用 200ms 的速度来切换图像,就可以表现出进行此类编辑的情形。按下播放键一边确认一边继续编辑。完成后的动画(这里就是指摇曳 的灯火)可以配置在平铺层的任何位置。

通过实例学习NetBeans 6的新功能 第3部分:使用Mobility开发游戏 - 编程入门网

图 6 编辑动画层

通过实例学习NetBeans 6的新功能 第3部分:使用Mobility开发游戏(4)

时间:2011-07-18 大野圭一

在程序中,这个动作也是通过使用索引编号访问来实现。如下所示,创建一个单维数组,其中保存了图像各帧的索引编号(假设火焰各张图 像的索引编号从右到左依次为:89、90、91、92),然后将这个数组传递给 TiledLayer 类的 createAnimatedTile() 方法,此平铺层的索引编 号就重新分配并且做为返回值返回。

int[] AnimTorchSequence001 = {89, 90, 91, 92};    // tl 是 TiledLayer 类的实例    int AnimTorch = tl.createAnimatedTile(AnimTorchSequence001[0]);

如果在定义平铺层的 2 维数组中使用此平铺层的索引编号 (上例中为返回到 AnimTorch 的整数) ,那么就可以创建包含动画平铺的平铺层 。

int tiles[][] = {          { 7, 3, 17, 6, AnimTorch, 6, 6, 35, 23, 16, 16, ... }          { 7, 3, 5, 16, 16, 16, 16, 16, 26, 16, ...}          ....          {16, 16, ..... }        };

在上例中,我们定义了 200ms 的显示间隔,这个显示间隔仅仅做为游戏生成器创建的静态值保存在用于实际控制游戏的类中。这个显示间 隔没有硬性规定必须在游戏生成器中定义,但是,如果以后游戏生成器扩展的话,它可能做为实际显示代码的一部分使用。

动画层

使用游戏生成器创建动画层和上面创建动画平铺的方法大体相同。首先创建相当于游戏角色的动画层,这样便可以在动画层中定义相应角色 的复数动画。比如下面的图像是 NetBeans 提供的示例,它用一个个镜头表现角色的动作:第 1 行向下

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号