Хорошо, я пытаюсь сделать цикл изо дня в ночь позади моего пейзажа. Есть солнце и луна, они вращаются по кругу с разных сторон. (т. е. солнце встает, когда луна опускается, и наоборот), когда солнце взлетает, оно должно исчезнуть из ночного видеоклипа в рассветный видеоклип, затем, когда солнце встает немного больше, исчезнуть в дневной видеоклип это работает довольно хорошо, но по какой-то причине, когда он добирается до заката, он просто не будет работать: / и то же самое будет, когда он переходит от заката к ночи: / любая и вся помощь очень ценится, я потратил 5 часами пытаюсь понять это и не могу! пожалуйста, помогите!
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);
}