Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 28-02-2006, 10:12   #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)
}
Sascha Laurent ist offline   Mit Zitat antworten
Alt 28-02-2006, 10:18   #2 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
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
bamboocha ist offline   Mit Zitat antworten
Alt 28-02-2006, 12:20   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 61
Zitat:
Zitat von bamboocha
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!
Kannst du nicht bitte etwas konkreter werden?
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
Sascha Laurent ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 21:54 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele