所以我一直在用 Action Script 3 和 CS5.5 制作这个游戏。您要做的是在穿越太空时避开小行星。我认为让太阳系外的行星在整个游戏的背景中沿着屏幕向下移动会很酷。有点让它看起来像你飞过他们。我这样做的方法是每秒每帧在它们的 y 坐标上添加五个。一旦他们的 y 坐标达到 600(屏幕底部),我将添加一个新的行星,它会做同样的事情。由于某种原因,一旦我到达土星,一切都变得很奇怪。土星来得早,天王星也来得早。我不知道发生了什么事。我为此沮丧了一个小时。这是我认为有问题的部分。
公共函数 onTick(timerEvent:TimerEvent):void {
earth.PlanetMovement(5);
if (earth.y==600)
{
mars.PlanetsStart(300, -100);
addChild( mars );
levels=levels+5;
}
mars.PlanetMovement(5);
if (mars.y==600)
{
jupiter.PlanetsStart(300,-150);
addChild (jupiter);
levels=levels+10;
}
jupiter.PlanetMovement(5);
if (jupiter.y==600)
{
saturn.PlanetsStart(300,-155);
addChild (saturn);
levels=levels+20;
}
saturn.PlanetMovement(5);
if (saturn.y==600)
{
uranus.PlanetsStart(300,-160)
addChild ( uranus);
levels=levels+25;
}
uranus.PlanetMovement(5);
PlanetMovement 和 PlanetsStart 是 Planets 类中的两个函数。如果您需要更多信息,请告诉我。
编辑:我想我应该进一步解释。PlanetsStart 是一个函数,它具有每个影片剪辑的起始坐标。因此,一旦地球到达 600 的 y 坐标,火星就会从 (300, -100) 开始。然后它被添加到屏幕上。levels 是一个变量,它会提高每个 fps 的分数。PlanetMovement 是每个movieclip 将移动多少fps。如果我使用 >= 那么分数会提高太多。
这正是发生的事情。地球出现在它应该出现的地方。然后火星准时出现。然后由于某种原因土星突然出现在火星和木星的中间。在土星到达底部后,天王星出现。然后木星到达底部,一切正常。土星出现,然后是天王星