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