0
好吧,即時嘗試做的是讓我的景觀背後的夜晚循環。有一個太陽和一個月亮,他們在相反的一側旋轉一圈。 (即當太陽升起時,太陽升起,反之亦然),當太陽升起時,它應該從夜間動畫片剪輯到黎明動畫片剪輯,然後當太陽升起一點點時,淡入到當天moviclip,這工作得很好,但由於某種原因,當它到達日落時,它不會工作:/和從日落到夜晚的時候一樣:/任何和所有的healp都非常感激,我花了5幾小時試圖弄清楚這一點,不能!請幫忙!閃存as3,淡入/淡出分層問題
stage.addEventListener(Event.ENTER_FRAME, daynightcycle)
//setChildIndex(night, getChildIndex(day));
setChildIndex(sunset, 0);
setChildIndex(day, 1);
setChildIndex(dawn, 2);
setChildIndex(night, 3);
function daynightcycle(e:Event):void {
if(sun.currentLabel == "dawn") {
setChildIndex(sunset, 0);
setChildIndex(day, 1);
setChildIndex(dawn, 2);
setChildIndex(night, 3);
stage.addEventListener(Event.ENTER_FRAME, nightTdawn);
}else if(sun.currentLabel == "sunset") {
setChildIndex(dawn, 0);
setChildIndex(night, 1);
setChildIndex(sunset, 2);
setChildIndex(day, 3);
stage.addEventListener(Event.ENTER_FRAME, dayTsunset);
}else if(sun.currentLabel == "night") {
setChildIndex(day, 0);
setChildIndex(dawn, 1);
setChildIndex(night, 2);
setChildIndex(sunset, 3);
stage.addEventListener(Event.ENTER_FRAME, sunsetTnight);
}else if(sun.currentLabel == "day") {
setChildIndex(night, 0);
setChildIndex(sunset, 1);
setChildIndex(day, 2);
setChildIndex(dawn, 3);
stage.addEventListener(Event.ENTER_FRAME, dawnTday);
}else if(sun.currentLabel == "switch") {
stage.addEventListener(Event.ENTER_FRAME, switchLayers);
}
}
function nightTdawn(e:Event):void {
if(night.alpha != 0) {
night.alpha -= 0.01;
}else {
stage.removeEventListener(Event.ENTER_FRAME, nightTdawn);
night.alpha = 100;
//setChildIndex(night, getChildIndex(sunset));
}
}
function dayTsunset(e:Event):void {
if(day.alpha != 0) {
day.alpha -= 0.01;
}else {
stage.removeEventListener(Event.ENTER_FRAME, dayTsunset);
day.alpha = 100;
//setChildIndex(day, getChildIndex(dawn));
}
//day.visible = false;
//sunset.visible = true;
}
function sunsetTnight(e:Event):void {
if(sunset.alpha != 0) {
sunset.alpha -= 0.01;
}else{
stage.removeEventListener(Event.ENTER_FRAME, sunsetTnight);
sunset.alpha = 100;
//setChildIndex(sunset, (getChildIndex(day)));
}
//sunset.visible = false;
//night.visible = true;
}
function dawnTday(e:Event):void {
sunset.visible = true;
day.visible = true;
if(dawn.alpha != 0) {
dawn.alpha -= 0.01;
}else{
stage.removeEventListener(Event.ENTER_FRAME, dawnTday);
dawn.alpha = 100;
//setChildIndex(dawn, (getChildIndex(night)));
}
}
function switchLayers(e:Event):void {
setChildIndex(dawn, 0);
setChildIndex(night, 1);
setChildIndex(sunset, 2);
setChildIndex(day, 3);
night.alpha = 100;
sunset.alpha = 100;
day.alpha = 100;
dawn.alpha = 100;
stage.removeEventListener(Event.ENTER_FRAME, switchLayers);
}
WOW! thanx標誌!我對開關語句並不熟悉,但是有一個問題,當太陽標籤改變以使整體工作時,我如何調用「onSunLabelChanged()」函數? :/ – 2010-06-07 02:15:05
這取決於,你是否通過代碼更新太陽?或者它是一個只是循環的MovieClip? – 2010-06-07 06:44:48
它的一個影片剪輯,做循環,我應該改變? – 2010-06-07 14:18:21