0
我在做类似KABOOM游戏我的ActionScript类的Actionscript - 随机水平运动删除对象
http://www.groovz.com/play/kaboom/
我意识到我甚至还没有接近完成,它可能是低劣的,但是这是我的到目前为止的代码:
var bucket:Bucket=new Bucket
var sun:Sun=new Sun
var fireBalls:Array=new Array()
var livesLeft:Array=new Array()
addChild(bucket)
addChild(sun)
sun.x=sun.width/2
sun.y=50
bucket.x=bucket.width/2
bucket.y=stage.stageHeight-50
bucket.speed=15
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown)
function onKeyDown(event:KeyboardEvent){
if (event.keyCode==37&&bucket.x>bucket.width/2){ // left arrow key
bucket.x=bucket.x-bucket.speed;
}
if (event.keyCode==39&&bucket.x<stage.stageWidth-bucket.width/2){ // right arrow key
bucket.x=bucket.x+bucket.speed;
}
}
stage.addEventListener(MouseEvent.MOUSE_MOVE,followBucket);
function followBucket(event:MouseEvent):void {
bucket.x=mouseX;
}
addEventListener(Event.ENTER_FRAME,onEnterFrame)
function checkForCollisions(){
}
function onEnterFrame(event:Event){
checkForCollisions.call();
sun.x=sun.x+15;
if (fireBalls.length>0&&fireBalls[0].y>stage.stageHeight-20){ // Fireballs exit stage
removeChild(fireBalls[0]);
fireBalls.shift();
}
for (var j:int=0; j<fireBalls.length; j++){
fireBalls[j].y=fireBalls[j].y+15;
if (fireBalls[j].y>stage.stageHeight-fireBall.width/2){
}
}
if (Math.random()>.2){ // Fireballs shooting from Sun
var fireBall:FireBall=new FireBall;
fireBall.x=sun.x;
addChild(fireBall);
fireBalls.push(fireBall);
}
if (sun.x>stage.stageWidth){ // Sun hits right side of stage
sun.x=0;
}
if (sun.x<0){ // Sun hits left side of stage
sun.x=stage.stageWidth;
}
}
我知道我想用一个定时器事件或东西拿到阳光下随机切换方向,但我不能完全弄清楚,建议?
这是什么样的SWF看起来像一个想法(在这一模拟不加载的一切,桶是在舞台上和左移动,在现实中右的onkeydown):
http://www.shareswf.com/game/24222/kaboom-sun-clone
感谢这很好的工作,现在我还有最后一个问题:我怎么能让火球更频繁地掉落?我假设我正在使用Math.random不正确?还是等待1从数组中删除另一个之前从数组中删除? – Eratosthenes 2012-03-26 02:30:35
运行链接到的swf,我得到一个空引用错误。我认为你的代码中的其他地方的错误会导致脚本崩溃。 – ricick 2012-03-26 02:35:01
雅我认为空引用是fireBalls数组,我在这里提出了一个新问题:http://stackoverflow.com/questions/9866132/actionscript-dropping-multiple-objects-using-an-array – Eratosthenes 2012-03-26 03:07:35