Flash MX 编程深层次应用-Flash射击游戏(4)
6.2 游戏制作(前台)(3)在初始化时需用程序把多余的部分隐藏起来,仅显示正常飞船的数。其程序如下:for (i=5; i>=my_plane_number; i--) { eval("my_plane_num_" i)._visible = false;}当我的飞船爆炸时就同时减少一个显示,代码如下:_root["my_plane_num_" (_root.my_plane_number-1)]._visible = false;_root.my_plane_number--;这个代码已经包含在前面的飞船控制程序中了。如果此时我们接到一个令牌,就应先对_root.my_plane_number加1,再将对应的小飞船显示出来。最后,来看看加命令牌中的程序:onClipEvent (enterFrame) { _parent._x= random(6)-3; _parent._y= 5; if((_parent._x>_root.play_width)||(_parent._x<0) || (_parent._y>_root.play_height) || (_parent._y<0)) { _parent.removeMovieClip(); } //如果我的飞船与令牌相撞击,就表示我已经接到令牌 if (_parent.hitTest(_root.my_plane)) { // 播放接到令牌时的声音 _root.get_pai.start(); _root["my_plane_num_" _root.my_plane_number]._visible = true; _root.my_plane_number; //如果接到令牌后,就清除之 _parent.unloadMovie(); }}在这里,令牌移动的x坐标位置在正负3个点之内,而y坐标位置每次向下移动5个点,这样就保证了令牌的随机下落,而不会呆板地直线下落。当然了,令牌如果移出屏幕还没有被飞船接到,就清除它。2.增加血量同理,增加血量令牌程序如下:onClipEvent (enterFrame) { _parent._x= random(6)-3; _parent._y= 5; if((_parent._x>_root.play_width)||(_parent._x<0) || (_parent._y>_root.p
页:
[1]