Actionscript,将随机影片剪辑加载到场景中
Actionscript, load random Movie Clip into Scene
我正在制作一个简单的 flash 射击画廊动画,屏幕上有大约 5 个目标,但我对动作脚本毫无用处。
我在一个数组中有主场景和 5 个目标影片剪辑。我想...
-> 开始动画 -> 加载随机剪辑 -> 播放随机剪辑直到结束 -> 生成新的随机剪辑 -> 使用延迟偏移重复....
到目前为止我有以下内容:
function getRandomLabel():String {
var labels:Array = new Array("Tar1", "Tar2", "Tar3", "Tar4", "Tar5");
var index:Number = Math.floor(Math.random() * labels.length);
return labels[index];
}
this.gotoAndStop(getRandomLabel());
}
这是有效的...但我想添加一个延迟并且不再重复...
好的,开始吧。
// If you need to avoid playing the same movie two times.
var lastLabel:*;
// The list of labels.
var Labels:Array = ["Tar1", "Tar2", "Tar3", "Tar4", "Tar5"];
function playRandom():*
{
do
{
// Get a random index.
var anIndex:int = Math.random() * Labels.length;
}
while (Labels[anIndex] == currentLabel);
// Keep the current label in the variable.
currentLabel = Labels[anIndex];
gotoAndStop(currentlabel);
}
function playNext():void
{
// 1000 milliseconds = 1 second delay.
setInterval(playRandom, 1000);
}
然后。在每个影片剪辑的末尾,您需要正确调用 playNext 方法。如果这些电影在同一个时间轴上,如上面的代码,调用playNext(); 如果它们是单独的MovieClip对象,它可能会be (parent as MovieClip).playNext(); 我真的不能说,因为我不知道你电影的结构。您可能需要阅读以下内容才能理解:http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7e3e.html
我正在制作一个简单的 flash 射击画廊动画,屏幕上有大约 5 个目标,但我对动作脚本毫无用处。
我在一个数组中有主场景和 5 个目标影片剪辑。我想... -> 开始动画 -> 加载随机剪辑 -> 播放随机剪辑直到结束 -> 生成新的随机剪辑 -> 使用延迟偏移重复....
到目前为止我有以下内容:
function getRandomLabel():String {
var labels:Array = new Array("Tar1", "Tar2", "Tar3", "Tar4", "Tar5");
var index:Number = Math.floor(Math.random() * labels.length);
return labels[index];
}
this.gotoAndStop(getRandomLabel());
}
这是有效的...但我想添加一个延迟并且不再重复...
好的,开始吧。
// If you need to avoid playing the same movie two times.
var lastLabel:*;
// The list of labels.
var Labels:Array = ["Tar1", "Tar2", "Tar3", "Tar4", "Tar5"];
function playRandom():*
{
do
{
// Get a random index.
var anIndex:int = Math.random() * Labels.length;
}
while (Labels[anIndex] == currentLabel);
// Keep the current label in the variable.
currentLabel = Labels[anIndex];
gotoAndStop(currentlabel);
}
function playNext():void
{
// 1000 milliseconds = 1 second delay.
setInterval(playRandom, 1000);
}
然后。在每个影片剪辑的末尾,您需要正确调用 playNext 方法。如果这些电影在同一个时间轴上,如上面的代码,调用playNext(); 如果它们是单独的MovieClip对象,它可能会be (parent as MovieClip).playNext(); 我真的不能说,因为我不知道你电影的结构。您可能需要阅读以下内容才能理解:http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7e3e.html