Flash MX 编程深层次应用-Flash射击游戏(3)

发布日期  发布: 2009-5-25 | 发布人  发布者: 一壶乡愁 | 来源  来源: 江西广告网


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; } 当Flash动画中有大量的可移动物体时,动画的速度将会明显降低。因此,为了加快程序运行速度,就要调整我的飞船发射子弹数的最大值,这个数也就是在屏幕上同时显示的最多子弹数。_root.bullet_level变量存放的是我的子弹的层数,1层就是每次发射1颗子弹,3层就每次发射3颗子弹。这里最大的层数是4层,也就是最多可以发射4颗子弹。有人可能会问,为什么定义这么小的层数,完全可以让它一次发射8颗或者更多子弹。我非常佩服你的勇气,但是可以告诉你的是,如果定义8颗子弹,子弹数增加,程序判断的内容大大增加,这个游戏跑起来就像老牛拉破车一样跑不动了!唉,Flash就是不适合做这种大量物体运动的动画及编程。为了画面的流畅,不得不在游戏情节上做出一些牺牲。 子弹移动函数上面的代码仅仅是创建子弹的,还需要通过程序让子弹移动: onClipEvent (enterFrame) { //子弹每次移动32个点 _parent._y -= 32; if((_parent._x>_root.play_right)||(_parent._x<_root.play_left)||(_parent._y>_root.play_bottom) || (_parent._y<_root.play_top)) {
本站文章部分内容来自互联网,供读者交流和学习,如有涉及作者版权问题请及时与我们联系,以便更正或删除。感谢所有提供信息的网站,并欢迎各类媒体与我们进行信息共享合作。
关闭本窗口 | 打印 | 收藏此页 |  推荐给好友 | 举报

版块排行

  • SEO搜索                                    5984
  • Web软件                                    3334
  • 交互设计                                    3279
  • 平面软件                                    2575
  • 设计欣赏                                    2501
  • 游戏世界                                    1244
  • 程序开发                                    830
  • 前沿视觉                                    560
  • 电脑网络                                    514
  • 摄影赏析                                    291