BOSS制作教程+详细代码解释+源代码

王朝other·作者佚名  2006-11-24
宽屏版  字体: |||超大  

见截图先:

点击这里下载原文件

大家好,,,,第一次写这个东东~~心理好紧张挖````

大家了很多的FLASH飞机游戏,,,但是真正象"灵动碰射"那样完整的少之又少,大部分都是没

有BOSS的,,,只是在一个画面内循环出现敌机,趣味自然降低了不少...

近来FLASH8游戏版块新教程太少,我也写个教程,,算是对FLASH8游戏版块的一个回报:-)

在这里我只谈做BOSS的制作思想,其他的主角啊,,敌人(小兵)就不包括其内了,,,FLASH8关于这方面的教程应该有很多,大家可以去找一下

好了,废话不多说了,,,总而言之,,,我的方法不是最好的,,,但希望可以给菜鸟一些鼓励和信心(包括我),,做出自己的象"灵动碰射"一样的游戏来:-)

点击下载源文件

大家好,,,,第一次写这个东东~~心理好紧张挖````

大家了很多的FLASH飞机游戏,,,但是真正象"灵动碰射"那样完整的少之又少,大部分都是没有BOSS的,,,只是在一个画面内循环出现敌机,趣味自然降低了不少...

近来FLASH8游戏版块新教程太少,我也写个教程,,算是对FLASH8游戏版块的一个回报:-)

在这里我只谈做BOSS的制作思想,其他的主角啊,,敌人(小兵)就不包括其内了,,,FLASH8关于这方面的教程应该有很多,大家可以去找一下

好了,废话不多说了,,,总而言之,,,我的方法不是最好的,,,但希望可以给菜鸟一些鼓励和信

心(包括我),,做出自己的象"灵动碰射"一样的游戏来:-)

原理其实很简单:

BOSS是独立的,,,他自己是一个单独的MC,,,这个MC里面有很多桢,,,每一桢都是它的一个"行为",,,比如: 向主角移动拉,,,,狂发子弹拉....发超必杀攻击拉....自己死亡的动画拉,,,,然后这个MC的第一祯,,,是一个随机函数,,,随机转到BOSS的MC里面的一祯,,,那么BOSS就会响应的做出行为,,,怎么样??是不是很简单呢?那么开启你的FLASH 2004,开始正式的制作吧,呵呵

1:舞台上MC的布置:

主场景一共就两个MC,,,,一个是BOSS的子弹,,,在场景里面名字叫做bosszd,,,另外一个就是BOSS拉,,,理所当然,,,,它在场景里面的名字就叫它BOSS吧!

2:BOSS最外层的事件处理器:代码如下:

onClipEvent (load) {

this._alpha = 0;//刚出来的透明度是为0的,,,目的是让它出场有个平滑的效果

}

}

onClipEvent (enterFrame) {

if (this._alpha<100) {//也就是上面所说的拉,,,初始化的时候BOSS的ALPHA为0,,,当它小于100的时候,让他从最右边(场景外)飞进来,,,直到ALPHA为100的时候就暂时停止下来了

this._x -= 9;

this._alpha += 5;

}

if (this._x<=354) {

this._x++;

}

if (this._x>=495) {

this._x--;

}///这两句是让BOSS限制在场景右方运动,,,如果跑到最左边了那么游戏者就表活了噢:-)

}

3.随机运动起来吧!!!BOSS!!!

双击进入BOSS的MC,第一祯代码:

onClipEvent (load) {

this._alpha = 0;//刚出来的透明度是为0的,,,目的是让它出场有个平滑的效果

}

}

onClipEvent (enterFrame) {

if (this._alpha<100) {//也就是上面所说的拉,,,初始化的时候BOSS的ALPHA为0,,,当它小于100的时候,让他从最右边(场景外)飞进来,,,直到ALPHA为100的时候就暂时停止下来了

this._x -= 9;

this._alpha += 5;

}

if (this._x<=354) {

this._x++;

}

if (this._x>=495) {

this._x--;

}///这两句是让BOSS限制在场景右方运动,,,如果跑到最左边了那么游戏者就表活了噢:-)

}

3.随机运动起来吧!!!BOSS!!!

双击进入BOSS的MC,第一祯代码:

onClipEvent (load) {

this._alpha = 0;//刚出来的透明度是为0的,,,目的是让它出场有个平滑的效果

}

}

onClipEvent (enterFrame) {

if (this._alpha<100) {//也就是上面所说的拉,,,初始化的时候BOSS的ALPHA为0,,,当它小于100的时候,让他从最右边(场景外)飞进来,,,直到ALPHA为100的时候就暂时停止下来了

this._x -= 9;

this._alpha += 5;

}

if (this._x<=354) {

this._x++;

}

if (this._x>=495) {

this._x--;

}///这两句是让BOSS限制在场景右方运动,,,如果跑到最左边了那么游戏者就表活了噢:-)

}

3.随机运动起来吧!!!BOSS!!!

双击进入BOSS的MC,第一祯代码:

onClipEvent (load) {

this._alpha = 0;//刚出来的透明度是为0的,,,目的是让它出场有个平滑的效果

}

}

onClipEvent (enterFrame) {

if (this._alpha<100) {//也就是上面所说的拉,,,初始化的时候BOSS的ALPHA为0,,,当它小于100的时候,让他从最右边(场景外)飞进来,,,直到ALPHA为100的时候就暂时停止下来了

this._x -= 9;

this._alpha += 5;

}

if (this._x<=354) {

this._x++;

}

if (this._x>=495) {

this._x--;

}///这两句是让BOSS限制在场景右方运动,,,如果跑到最左边了那么游戏者就表活了噢:-)

}

3.随机运动起来吧!!!BOSS!!!

双击进入BOSS的MC,第一祯代码:

stop();

a = random(8)+2;

gotoAndStop(a);

//主要是取得一个随机数,,然后跳转到这个祯,,从而可以随机出BOSS的不同行为

终于开始发射子弹拉!!!第2祯代码:

为了形象,,,在这一祯,BOSS已经不是一个静止的图片了,,为什么?它在发射子弹!!!

我用了一个很简单的循环小动画MC来表示他在发子弹

这个发射子弹的MC事件处理函数如下:

onClipEvent (load) {

count = 0;//初始化一个行为持续计时器,,,我们叫用来控制当前这个动作(发射子弹动作)的持续时间

time = 0;//初始化子弹间隔计时器,,,

}

onClipEvent (enterFrame) {

if (_root.plane._y<=110) {

_root.boss._y += 3;

}//让BOSS在发射子弹的同时,,,进行一个Y方向上的移动,,,这样不至于让它太呆板

time++;

count++;//既然是计时器,,,他当然是不断的自增拉...模拟时间的流逝

if (time>=5) {

duplicateMovieClip(_root.bosszd, "bosszd"+count, count+11100);

time = 0;//当子弹间隔计时器到了5,马上让他清0,,,达到子弹的循环复制

}

if (count>=25) {

_root.boss.gotoAndPlay(1);

}//行为持续计时器大于25的时候,,,让他到第一祯,,,进行下一次的随机调用行为

}

关于子弹,,它是和BOSS完全独立的,,,也就是他有自己的方法,,,他是固定的,,,代码如下:

onClipEvent (load) {

if (String(_name) != "bosszd") {

this._x = _parent.boss._x-104;

this._y = _parent.boss._y+160;

}

[1] [2] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有