见截图先:



点击这里下载原文件
大家好,,,,第一次写这个东东~~心理好紧张挖````
大家了很多的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;
}