关于动作2的问题。 我有两个数组 - 一个用于按钮,另一个用于按钮触发的影片剪辑:
var def:Array = [mc1, mc2, mc3];
var defBtn:Array = [btn1, btn2, btn3];
所以我得到了由相应按钮触发的影片剪辑 - 任何被调用的影片剪辑都是可见的并播放其时间轴。
for(i=0; i<def.length; i++) {
defBtn[i].iv = i;
def[i].iv = i;
defBtn[i].onRelease = function() {
for( i=0; i<defBtn.length; i++ ) {
def[this.iv]._visible = true;
def[this.iv].play();
}
};
};
但是,任何被调用的影片剪辑始终保持可见状态。 我希望数组中的所有影片剪辑都是不可见的,除了相应按钮调用的影片。
不知道如何做到这一点因为我需要使用onRelease(而不是onRollOut)来让影片剪辑在它们动画片后稍微消失。
我很感激您对这个AS代码的帮助! 谢谢
答案 0 :(得分:2)
自从我必须编写AS2代码以来已经很多年了,但我会尝试一下......
在每个按钮上,设置以下代码,将索引值更改为数组中按钮的索引:
on(release){
showClip(0); // change value here as needed
}
在同一时间线上存在按钮和动画片段,您需要此代码:
var def:Array = [mc1, mc2, mc3];
var defBtn:Array = [btn1, btn2, btn3];
function showClip(clipToShow:Number) {
// hide all clips
for( i = 0; i < def.length; i++ ) {
def[i]._visible = false;
def[i].stop();
}
// only show clip after all clips have been hidden
def[clipToShow]._visible = false;
def[clipToShow].stop();
};
不幸的是,我没有办法在我的机器上编译AS2代码,因为我有Adobe CC 2015,它不再支持AS2;否则,我会为你测试这段代码。希望这对你有用。别的我知道了。