似乎Mario Online 的弹道同步可以做出来了(嘛~明天继续开始php学习吧!)

之前做不出弹道同步,是因为无法同步任意坐标的子弹和任意数量的子弹。

后来我亲爱的老爸给了我魂斗罗子弹发射的启发。即一定时间内,子弹打出一定的个数,间隔相同的时间。

估计由于脑袋死机了。。想不出间隔发子弹怎么实现。

嘛嘛~今天问了坛子里的朋友,终于搞定啦。

代码如下:

import flash.events.KeyboardEvent;
import flash.display.MovieClip;
import flash.events.Event;

var ct:uint;
const key_right:uint = 39;
var key:Object=new Object();

stage.addEventListener(KeyboardEvent.KEY_DOWN,isDown);
stage.addEventListener(KeyboardEvent.KEY_UP,isUp);
stage.addEventListener(Event.ENTER_FRAME,init);

function isDown(e:KeyboardEvent)
{
key[e.keyCode] = true;
}
function isUp(e:KeyboardEvent)
{
delete key[e.keyCode];
}
function init(e:Event)
{
if (key[key_right]==true)
{
trace(“1”);
fire();
stage.removeEventListener(Event.ENTER_FRAME,init);
}

}
function fire()
{
ct = setInterval(makeBullet,1000);
function makeBullet()
{
clearInterval(ct);
var myBullet:Bullet=new Bullet();
myBullet.x=0;
myBullet.y=stage.stageHeight/2;
addChild(myBullet);
myBullet.addEventListener(Event.ENTER_FRAME,bulletMove);
stage.addEventListener(Event.ENTER_FRAME,init);
}
}

function bulletMove(e:Event)
{
var obj:MovieClip=e.target as MovieClip;
obj.x+=10;
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.