我的Flash项目遇到问题。我正在制作我自己的宇宙飞船格斗游戏版本。有一次我想随机产生敌人。这就是我在做的事情。
我在图书馆里有一个名为enemyShip的动画片段,AS-Linkage是普通的敌人。对象未放置在场景中。 在那个框架上的actionScipt上,我有下面的代码,这对我来说就是这样。发生的事情是这样的:前两个敌人正确地从第三个开始,每个新生成的隐藏,但不删除,前面的那个。第二个敌人是第一个消失的敌人。第一个敌人保持可见。想法好吗?我尝试过duplicateMovieClip和attachMovieClip,它们都有相同的结果。抱歉,这个问题很长!
var origEnemy:MovieClip = _root.attachMovie("normalEnemy", "origEnemy", this.getNextHighestDepth();
var numberOfEnemies:Number = 1;
var enemyIndex:Number = 0;
_root.onLoad();
{
spawnEnemy();
interval = setInterval(spawnEnemy,1000 + Math.random() * 2000);
};
// Spawns new enemies
function spawnEnemy()
{
if (numberOfEnemies > 10)
{
clearInterval(interval);
}
// Randomly calculate the starting coordinates of newly spawned enemy
var x_position = Math.random() * 50;
var y_position = Math.random() * 700;
// spawn a new enemy and assign random location
enemiesArray.push(origEnemy.duplicateMovieClip("enemy" + enemyIndex, this.getNextHighestDepth()));
//_root.attachMovie("normalEnemy","enemy" + enemyIndex,this.getNextHighestDepth());
// assign random location
enemiesArray[enemyIndex]._x = x_position;
enemiesArray[enemyIndex]._y = y_position;
// incerement number of enemies
numberOfEnemies++;
// Increment enemy Index
enemyIndex++;
}
答案 0 :(得分:0)
From the documentation on duplicateMovieClip
:
如果删除了父级影片剪辑,则也会删除重复的影片剪辑。
请改用attachMovie
。这样可以防止删除父动画片段,这样可以解决您遇到的问题。
此外,您需要使用_root.getNextHighestDepth()
。否则,您可能会冒着将每个物体附着在同一深度的风险......再次杀死您的重复物。