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

Flash动画制作
Flash卡通景物绘制
鼠绘偏写实人物
鼠绘--柱顶红的画法
FLASH实现滚动条+网页书签效果
Flash MX中Button Object的用法
as入门之数学函数--弧度
as入门之数学函数--Math类
闪动的变色圆盘
组件封装为mxp文件的方法
判断数字大小
Flash 缓存问题的解决
Flash MX pro 2004 新特性之Flash Lite
在Flah MX2004的ListBox中应用HTML
Flash MX 2004中的XML应用之原理篇
Flash MX 2004视频教程超速入门系列(1)
Flash MX 2004视频教程超速入门系列(2)
Flash MX 2004视频教程超速入门系列(3)
Flash MX 2004视频教程超速入门系列(4)
Flash MX 2004视频教程超速入门系列(5)
Flash MX 2004视频教程超速入门系列(6)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 71 ::
收藏到网摘: 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就是不适合做这种大量物体运动的动画及编程。为了画面的流畅,不得不在游戏情节上做出一些牺牲。

子弹移动函数