AS2 从数组中隐藏对象
AS2 hide object from an array
关于 actionscript 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 代码的帮助!
谢谢
我已经很多年没有写 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;否则,我会为您测试这段代码。希望这对你有用。否则请告诉我。
关于 actionscript 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 代码的帮助! 谢谢
我已经很多年没有写 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;否则,我会为您测试这段代码。希望这对你有用。否则请告诉我。