首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

鸟哥,射击游戏技术分享三

2012-09-21 
鸟哥,射击游戏技术分享3参见游戏图片和视频四、背景滚动?首先背景图片做得可以上下连接(上下滚动),就是画一

鸟哥,射击游戏技术分享3

参见游戏图片和视频

四、背景滚动

鸟哥,射击游戏技术分享三

?首先背景图片做得可以上下连接(上下滚动),就是画一张图片,下面接着画,或者上面接着画,看起来都是无缝的。然后程序上的处理:计一个变量go值,每桢go += add;add为滚动速度(向上为负值,向下为正值)程序上为向下滚动,这样看起来人就在前进了

go += add; int heights = 0; int drawY = 0; heights = one.getHeight();//图片高度 
drawY = (go >> 2) % one.getHeight();//之前是还有云层什么的, //最底下>>2,第二层>>1的,以控制各层不同速度。后来因为内存不够用,砍层了,>>2就一直没变 if(drawY - Datas.height < 0)//Datas.height为屏幕高度,如果发现起始画点在屏幕中,则多画一张 {//达到遮盖目的 g.drawImage(one, 0, drawY, 20);//one是图片Image对象,xy坐标,20是anchor,鸟哥发现有好些人不是用20,用0的 //经过测试发现0与20其实结果是一样的 } g.drawImage(one, 0, drawY - heights, 20); 

?

五、怪物生成

有些游戏根据坐标,有些游戏根据时间,有些写死,有些随机。本游戏根据时间。

为了确保效果,做了个简单的怪物编辑器,由策划自己编辑:

鸟哥,射击游戏技术分享三

坐标编辑:

鸟哥,射击游戏技术分享三

两者结合,策划方便地看到怪运动轨迹。第几秒出现什么线路的怪,啥等级的。都有明确显示。

编辑器上一些描述:

public static String[][][] traces =    {         {//蝙蝠:              {//从上向下飞                  "飞行速度a1,到达屏幕上方1/4的时候,发射一颗瞄准子弹,子弹速度b1",                  "飞行速度a2,到达屏幕上方1/4的时候,发射一颗瞄准子弹,子弹速度b2",                  "飞行速度a1,到达屏幕上方1/4的时候,发射三颗散弹,子弹速度c1",                  "飞行速度a2,到达屏幕上方1/4的时候,发射三颗散弹,子弹速度c1"},              {//路线2:...},              {//路线3:抛物线(从右到左)              ....                 },              {//路线4:飞向屏幕(120,240)这一点,速度较快                  "无子弹",                  "刚出屏幕的时候发射一颗瞄准弹(瞄准主角),速度要比自身快"              }        }        ,        {//刺客:            ...        },        ............    };    public static String[][] tracesDescription =    {         {//蝙蝠:              "从上向下飞",              "路线3:抛物线(从左到右)",              "路线3:抛物线(从右到左)",              "路线4:飞向屏幕(120,240)这一点,速度较快"        },        {//刺客:            ...        },        {//枪手:        ...........        {//将军:            "路线1:从上往下,到屏幕四分之一出停留一段时间,发弹,离开"        },        {//巨兽:            "路线1:从上往下"        }    };

看看这些ai描述,大部分是以屏幕或者时间为参考的,这样,移植不同屏幕的机型时就不用修改了。?

用netbeans开发,很快拉出来两个界面。

?

95;311w-W,h+H//95:第几秒出现;3:怪的id;1:怪的等级;1:怪的线路.最后为出现坐标94;001w>1+W,-H94;001w>1-W,-H93;001w>1,-H-H93;001w>1-W,-H93;001w>1+W,-H90;131w+W,H86;101-W,-H86;111w+W,-H86;211-W,H84;001w>1+W,-H84;001w>1-W,-H83;201w>1,-H80;301W,h+H80;131w+W,H80;201w>1-W-W,-H80;201w>1+W+W,-H78;001w>1,-H-H78;001w>1-W,-H78;001w>1+W,-H76;211-W,H75;401w>1-W,-H75;401w>1+W,-H74;001w>1+W,-H74;001w>1-W,-H74;311w-W,h+H70;131w+W,H70;501w>1,-H68;201w>1,-H66;101-W,-H66;111w+W,-H66;211-W,H64;001w>1+W,-H64;001w>1-W,-H63;301W,h+H63;001w>1,-H-H63;001w>1-W,-H63;001w>1+W,-H60;131w+W,H56;121-W,H54;001w>1+W,-H54;001w>1-W,-H53;201w>1,-H53;311w-W,h+H50;131w+W,H50;401w>1-W,-H50;401w>1+W,-H48;001w>1,-H-H48;001w>1-W,-H48;001w>1+W,-H46;101-W,-H46;111w+W,-H46;301W,h+H46;121-W,H44;001w>1+W,-H44;001w>1-W,-H40;201w>1-W-W,-H40;201w>1+W+W,-H38;201w>1,-H36;121-W,H35;501w>1,-H34;001w>1+W,-H34;001w>1-W,-H33;001w>1,-H-H33;011-W,-H33;021w+W,-H32;311w-W,h+H30;131w+W,H28;002w>1,-H26;101-W-W,-H26;111w+W+W,-H26;121-W,H25;401w>1,-H24;201w>1+W+W,-H24;201w>1-W-W,-H23;201w>1,-H20;131w+W,H18;002w>1,-H-H18;021w+W,-H18;011-W,-H14;001w>1+W,-H14;001w>1-W,-H12;301W,h+H11;311w-W,h+H10;131w+W,H8;321w>1,-H6;101-W-W,-H6;111w+W+W,-H4;111w+W+W,-H4;101-W-W,-H3;201w>1,-H-H3;001w>1-W,-H3;001w>1+W,-H

?

? w,h为手机屏幕宽高,W,H为怪身体的宽高。>1表示向右移等。游戏会解析这些坐标值,得到具体坐标数据。

?它们都是以屏幕,或者自己做参考,这样不同手机屏幕移植一样有好处。

六、切图介绍

为了提高速度,游戏中的画图全部没有用到旋转,翻转。游戏本身决定。切图也没有用动编了。如下图:

鸟哥,射击游戏技术分享三

美术给出对应的坐标,用drawRegion搞定:

鸟哥,射击游戏技术分享三

也没什么人气,javaeye里j2me关注度本身就小。技术分享就到这里吧。鸟哥,感谢有关注的网友!

?

</pre>
<p>?</p>
</div>
<p>?</p> 24 楼 鸟哥哥 2010-07-04   我这边上个月刚完成一个rpg引擎,rpg上的东西很多,要是写blog的话,不知道要写多少。一旦写得不清楚,引起很多人问或者讨论,鸟哥应付不来。
简单提几个吧:动编原理,地编原理,卡马克算法,遮掩算法,脚本系统。 25 楼 ntop 2010-07-14   鸟哥哥 写道我这边上个月刚完成一个rpg引擎,rpg上的东西很多,要是写blog的话,不知道要写多少。一旦写得不清楚,引起很多人问或者讨论,鸟哥应付不来。
简单提几个吧:动编原理,地编原理,卡马克算法,遮掩算法,脚本系统。
鸟哥哥,能不能推荐几本书看看啊,感觉这些东西从来都没见过,也没听过,书上好像也没怎么写过。 26 楼 鸟哥哥 2010-07-14   ntop 写道鸟哥哥 写道我这边上个月刚完成一个rpg引擎,rpg上的东西很多,要是写blog的话,不知道要写多少。一旦写得不清楚,引起很多人问或者讨论,鸟哥应付不来。
简单提几个吧:动编原理,地编原理,卡马克算法,遮掩算法,脚本系统。
鸟哥哥,能不能推荐几本书看看啊,感觉这些东西从来都没见过,也没听过,书上好像也没怎么写过。
《手机游戏开发全书》有一些介绍。
动编原理,地编原理,遮掩算法,脚本系统
都有提到。
如果有很多真机,做做移植
遇到问题,就得去修改代码,调优代码,所谓的实战
这些东西学的东西就更多,书基本上也写不出来。
找书之前可以看看这些:
动编,有个叫motionwelder,看看它的demo,猴子吃香蕉的最最有名,除在图片使用上太粗放了,个人认为它的按键处理,游戏架构都是世界级的。
地编,有个叫tiled的开源优秀地编,入门最简单的要数mapwin了。
脚本系统,这个在j2me里,最好别使用人家啥的系统了,最好自己做一个。 27 楼 ntop 2010-07-17   鸟哥哥 写道ntop 写道鸟哥哥 写道我这边上个月刚完成一个rpg引擎,rpg上的东西很多,要是写blog的话,不知道要写多少。一旦写得不清楚,引起很多人问或者讨论,鸟哥应付不来。
简单提几个吧:动编原理,地编原理,卡马克算法,遮掩算法,脚本系统。
鸟哥哥,能不能推荐几本书看看啊,感觉这些东西从来都没见过,也没听过,书上好像也没怎么写过。
《手机游戏开发全书》有一些介绍。
动编原理,地编原理,遮掩算法,脚本系统
都有提到。
如果有很多真机,做做移植
遇到问题,就得去修改代码,调优代码,所谓的实战
这些东西学的东西就更多,书基本上也写不出来。
找书之前可以看看这些:
动编,有个叫motionwelder,看看它的demo,猴子吃香蕉的最最有名,除在图片使用上太粗放了,个人认为它的按键处理,游戏架构都是世界级的。
地编,有个叫tiled的开源优秀地编,入门最简单的要数mapwin了。
脚本系统,这个在j2me里,最好别使用人家啥的系统了,最好自己做一个。
哦,这样我就算入门了,谢谢鸟哥啊,你的那个小鸟真可爱!

热点排行