使用NetBeans进行J2ME开发(五):揭开游戏开发的神秘面纱 - 编程入门网
eturn;
}
if(gco!=null)
{
gco.setCharAct(2,isOnFlat);
}
}
和我们前面的介绍也是刚好一一对应。 下面我们再来看看Sprite类怎么使用。这里,gfo、gfyo等等精灵我就不讲了,只看看gco,这个精灵是我们游戏的主角,也就是那个跑来跑去跳上跳下的那个小人儿。该精灵对应的素材图片如下: 使用NetBeans进行J2ME开发(五):揭开游戏开发的神秘面纱(4)时间:2011-01-18 海边沫沫这个图片的文件名为char.png,不难看出,第一帧图象是站立不动时的效果,第2-5帧为向左跑动的效果,第6-9帧为向右跑动的效果,10-13帧为上下跳动的效果。Sprite类有一个构造函数Sprite(Image img,int x, int y),其中第一个参数就是该素材图片,后面的两个参数为每一帧图象的宽和高,至于总共有多少帧图象,Sprite类会自己计算。 gco精灵所对应的类为gameCharObj,从它的构造函数中,我们可以看出它正是以这个图片作为参数的,如下:
在Sprite中,我们通过指定不同的帧序列,就可以实现动画,比如下面定义的四个数组,分别代表了站立时、向左跑时、向右跑时和跳起时的动画序列: private int[] stand={0}; private int[] w_left={1,1,2,2,3,3,4,4}; private int[] w_right={5,5,6,6,7,7,8,8}; private int[] jump={9,9,10,10,11,11,12,12}; 当我们需要改变精灵的动画序列的时候,只需要调用Sprite.setFrameSequence()函数即可,如下面这段代码所示:
设置完动画序列后,只有调用Sprite.nextFrame(),精灵才会真正的动起来,这一个调用是在主线程中完成的,大家回到开头就不难看到gco.nextFrame()这样的代码了。 遗憾的是,这个游戏中没有使用到TiledLayer和LayerManager这两个类,所以没有办法让大家看到实例了。当然,要想全面了解游戏开发的各个细节,最好还是找一些专业的书来读。最后,给大家介绍一个非常好的J2ME开发网站:www.j2medev.com,这这里,大家可以找到很多文章和资源。 原文链接:http://www.blogjava.net/youxia/archive/2007/08/18/137785.html |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |