| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Oct 2005
Beiträge: 61
| Brauche Hilfe beim Script
Mit folgendem Code möchte ich folgendes erreichen - Auf einer MC befinden sich 5 Bilder in der ersten Ebene und einem Hintergrundbild. Die 5 Bilder habe ich in _parent.picture gespeichert. Hierzu habe ich 5 Buttons. Wenn ich auf einen dieser Buttons gehe soll das Bild eingefadet werden. Wenn ich von diesem Button runter gehe soll das Bild ausgefadet werden. Hierzu werden 5 Sekunden abgewartet. Sollte innerhalb der 5 Sekunden auf einen anderen Button gewechselt werden, dann soll das neue Bild eingefadet werden. Dieses klappt eigentlich auch sehr gut, ich habe nur das Problem wenn ich auf einen Button gehe und danach auf ein anderes Bild gehen, obwohl es noch nicht ausgefadet ist wird das neue Bild nicht angezeigt. Ich weis auch woran es liegt es liegt im Zusammenspiel zwischen der ersten 1. IF - Abfrage if (activePic <> newPic)) und der Zuweisung nach refactivePic._visible = false; activePic = newPic; ich nur keinen Lösungsansatz. Oder mache ich es mir evtl. viel zu schwer und es geht evtl. einfacher? Sascha Code: var activePic:Number = 0; // Nummer des aktiven Bildes 0 = keine
var newPic:Number = 0; // Nummer des zu aktivierenden Bildes 0 = keine
var Timer:Date = null; // Startzeit;
var steps:Number = 5; // Konstanteschrittweite zum Faden
var WaitingTime:Number = 5000; // 5 Sekunden bis eingreifen
onEnterFrame = function() {
var refactivePic = _parent.picture[activePic-1];
var refnewPic = _parent.picture[newPic-1 ];
if (activePic <> newPic) { // hat sicht das anzuzeigende Bild geändert?
if (newPic == 0) { // Kein Schalter ausgewählt
if (Timer == null) { // Noch keine Startzeit gesetzt
Timer = new Date; // neue Zeit einstellen
} else {
now = new Date; // Aktuelle Zeit
if (Timer + WaitingTime > now) { // Zeit verstrichen?
if (refactivePic._alpha - steps > 0) {
refactivePic._alpha = refactivePic._alpha - steps;
} else {
refactivePic._alpha = 0;
refactivePic._visible = false;
activePic = 0;
Timer = null;
} // if (refactivePic._alpha - steps > 0)
} // if (Timer + WaitingTime > now)
} // if (Timer == null)
} else { // Anderes Bild ausgewählt
Timer = null;
if (refnewPic._visible == false) { // Bild ausgeschaltet?
refnewPic._alpha = 0;
refnewPic._visible = true;
refnewPic.swapDepths(refnewPic._parent.getNextHighestDepth());
}
if (refnewPic._alpha + steps < 100) {
refnewPic._alpha = refnewPic._alpha + steps;
} else {
refnewPic._alpha = 100;
refactivePic._alpha = 0;
refactivePic._visible = false;
activePic = newPic;
} // if (refnewPic._alpha + steps < 100) {
} // if (newPic == 0)
} // if (activePic <> newPic)
} |
| | |
| | #2 (permalink) |
| °.oO°O.o°.oO.o°O Registriert seit: Jun 2005 Ort: CH
Beiträge: 1.490
|
ich würde dir anraten einen Prototype zu schreiben... einen für FadeIn und einen für FadeOut... Dann faden die Bilder unabhängig von den anderen ein und aus! So gibt es auch keine Kollisionen!
__________________ There is no way to happiness, happiness is the way! - Buddha |
| | |
| | #3 (permalink) | |
| Neuer User Registriert seit: Oct 2005
Beiträge: 61
| Zitat:
Wenn ich einen Prototypen schreiben würde, wie soll ich denn dann die Movies jeweils noch vorne bringen? Das würde doch zu kollessionen führen, oder sehe ich das falsch? Sascha | |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |