当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash MX 编程深层次应用-Flash射击游戏(3)

Flash动画制作
Flash新手入门教程:AS2代码中duplicateMOvieClip的应用
Flash新手入门教程:AS代码实现漂亮的立体球旋转效果
Flash新手入门教程:AS代码打造漂亮的螺旋上升效果
Flash新手入门教程:初识Flash的开始页面、界面、工具栏
Flash新手入门教程:文件的导出和导入
Flash新手入门教程:AS入门第一课_认识编程环境
Flash cs3仿真艺术设计3.2:遮罩运用制作飘扬的旗帜
Flash AS3.0菜鸟学飞教程:创建Bitmap类
Flash AS 3.0入门教程:初识AS 3.0
Flash cs3仿真艺术设计3.3:遮罩运用打造光圈变换效果
Flash AS3.0菜鸟学飞教程:用反射动态创建实例
Flash cs3仿真艺术设计3.4:遮罩运用制作手写字效果
Flash cs3仿真艺术设计3.5:遮罩运用之聚光灯效果
Flash AS3.0菜鸟学飞教程:代码的位置
Flash实例教程:AS 3.0打造漂亮的水汶效果
Flash cs3仿真艺术设计3.6:运用遮罩打造焦点效果
Flash AS 3.0实例教程:Main类打造发散效果
Flash cs3仿真艺术设计4.1:阴影的基本运用
Flash cs3仿真艺术设计4.2:阴影之投影的应用
Flash cs3仿真艺术设计4.3:阴影之透视阴影

Flash动画制作 中的 Flash MX 编程深层次应用-Flash射击游戏(3)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 35 ::
收藏到网摘: n/a

6.2 游戏制作(前台)(2)

    

6.2.2  我的子弹

1.子弹发射函数

我的飞船要与敌人进行战斗,就得有发射子弹的功能,这里是通过一个函数来实现的。程序代码如下:

function fire (place_x, place_y) {

    // 我的飞船发射子弹的最大数是_root.deplicate

    my_temp = _root.now_bullet++;

    if (my_temp>_root.deplicate) {

             my_temp = 0;

    }

    var new_name = "my_bullet_"+my_temp;

    attachMovie("my_plane_bullet", new_name, my_temp+2);

    //根据我的飞船的子弹的层数来转向

    _root[new_name].gotoAndStop("shot_bullet_"+_root.bullet_level);

    _root[new_name]._x = place_x;

    _root[new_name]._y = place_y;

    _root.now_bullet = my_temp+1;

}

动画中有大量的可移动物体时,动画的速度将会明显降低。因此,为了加快程序运行速度,就要调整我的飞船发射子弹数的最大值,这个数也就是在屏幕上同时显示的最多子弹数。_root.bullet_level变量存放的是我的子弹的层数,1层就是每次发射1颗子弹,3层就每次发射3颗子弹。这里最大的层数是4层,也就是最多可以发射4颗子弹。有人可能会问,为什么定义这么小的层数,完全可以让它一次发射8颗或者更多子弹。我非常佩服你的勇气,但是可以告诉你的是,如果定义8颗子弹,子弹数增加,程序判断的内容大大增加,这个游戏跑起来就像老牛拉破车一样跑不动了!唉,Flash就是不适合做这种大量物体运动的动画及编程。为了画面的流畅,不得不在游戏情节上做出一些牺牲。

子弹移动函数