我需要一些帮助,一些摇滚运动......我在这个编码的东西真的新的和有几乎不知道我在做什么...摇滚运动
我有岩石以每一种方式移动......我想要的是他们从左边的一组边界开始,移动到右边的一组边界。
如果他们被击中,我希望他们爆炸,而不是分裂成另外2块岩石。在电影里我有多个岩石(大,中,小)和一个叫做爆炸框架,但这个剧本我试图从另一个代码适应似乎没有在它的工作..
public function planeHit() {
removeEventListener(Event.ENTER_FRAME,movePlane);
MovieClip(parent).removePlane(this);
gotoAndPlay("explode");
}
当所有虫子都没有了(从正在拍摄或离开屏幕),我想新一轮的开始...
这里的脚本我有位置和岩石的运动...
任何帮助你可以给会很棒!
// ROCKS
// create a single rock of a specific size
public function newRock(x,y:int, rockType:String) {
// create appropriate new class
var newRock:MovieClip;
var rockRadius:Number;
if (rockType == "Big") {
newRock = new Rock_Big();
rockRadius = 35;
} else if (rockType == "Medium") {
newRock = new Rock_Medium();
rockRadius = 20;
} else if (rockType == "Small") {
newRock = new Rock_Small();
rockRadius = 10;
}
// choose a random look
newRock.gotoAndStop(Math.ceil(Math.random()*3+1));
// set start position
newRock.x = x;
newRock.y = y;
// set random movement and rotation
var dx:Number = Math.random()*2.0;
var dy:Number = Math.random()*2.0-1.0;
// add to stage and to rocks list
gameObjects.addChild(newRock);
rocks.push({rock:newRock, dx:dx, dy:dy, rockType:rockType, rockRadius: rockRadius});
}
// create four rocks
public function nextRockWave(event:TimerEvent) {
rocks = new Array();
newRock(100,100,"Big");
newRock(200,100,"Big");
newRock(450,100,"Big");
newRock(350,100,"Big");
gameMode = "play";
}
// animate all rocks
public function moveRocks(timeDiff:uint) {
for(var i:int=rocks.length-1;i>=0;i--) {
// move the rocks
var rockSpeed:Number = rockSpeedStart + rockSpeedIncrease*gameLevel;
rocks[i].rock.x += rocks[i].dx*timeDiff*rockSpeed;
rocks[i].rock.y += rocks[i].dy*timeDiff*rockSpeed;
// wrap rocks
if ((rocks[i].dx > 0) && (x <-50)) {
gameObjects.removeChild;
rocks.splice();
}
else if ((rocks[i].dx < 0) && (x > 350)) {
gameObjects.removeChild;
rocks.splice();
}
}
}
public function rockHit(rockNum:uint) {
// create two smaller rocks
if (rocks[rockNum].rockType == "Big") {
newRock(rocks[rockNum].rock.x,rocks[rockNum].rock.y,"Medium");
newRock(rocks[rockNum].rock.x,rocks[rockNum].rock.y,"Medium");
} else if (rocks[rockNum].rockType == "Medium") {
newRock(rocks[rockNum].rock.x,rocks[rockNum].rock.y,"Small");
newRock(rocks[rockNum].rock.x,rocks[rockNum].rock.y,"Small");
}
// remove original rock
gameObjects.removeChild(rocks[rockNum].rock);
rocks.splice(rockNum,1);
}
你的问题是什么?现在你只需要一个代码转储和一个愿望清单来改变。你能把它缩小到你正在努力的一件事吗? – Brian
嘿,对不起,没问题。我喜欢改变岩石的移动方式,我希望它们能够更直线地移动,但无论我改变什么,它们似乎都是随机移动的,我很小心Math.random控制着这个,但我不是确定如何改变它,让它们沿着屏幕直线前进。其次,我不确定为什么当岩石从屏幕上移开不再开始时,它们就会消失,什么都不会发生,我甚至不知道代码是如何控制的。任何帮助,这将是伟大的 – jbuzz