Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-03-2008, 16:13   #1 (permalink)
Neuer User
 
Benutzerbild von zoomzoom
 
Registriert seit: Sep 2004
Ort: bei Karlsruhe
Beiträge: 52
Bilder aus und einfaden

Hallo

ich habe eine kleine Galerie erstellt indem die Buttons ein externes Bild aufrufen. Nun sollen die Bilder einfaden. Wenn möglich auch beim Wechsel auch ausfaden.

hier mein Script (scheinbar funktioniert die function fader noch nicht richtig):

Code:
//--- Aktionen für die Button_MCs um externe Daten
//--- in den Ziel-MC "ladeziel" zu laden ---------
bild_1.onPress = function() {
	ladeziel._alpha = 0;
	ladeziel.loadMovie("Bild1.jpg");
	faden();
	ladestatus();
	};

bild_2.onPress = function() {
	ladeziel._alpha = 0;
	ladeziel.loadMovie("Bild2.jpg");
	faden();
	ladestatus();
	};


bild_3.onPress = function() {
	ladeziel._alpha = 0;
	ladeziel.loadMovie("Bild3.jpg");
	faden();
	ladestatus();
	};
//-------------------------------------------------

//--- Ladeanzeige unsichtbar machen ---------------
loader._visible = false;
//-------------------------------------------------


//--- Fader----
faden = function () {
    ladeziel._alpha += 50;
    if(ladeziel._alpha >= 100){
        clearInterval(id);
    }
}
id = setInterval(faden,100);

//--- Ladefunktion --------------------------------
ladestatus = function () {
	// Einen onEnterFrame-Event erstellen, so dass nun
	// der Ladezustand kontinuierlich abgefragt und
	// angezeigt wird
	loader.onEnterFrame = function() {
		// Geladene und zu ladenede Bytetes abfragen
		geladen = _root.ladeziel.getBytesLoaded();
		zuladen = _root.ladeziel.getBytesTotal();
		// Sicherheitsabfrage, da ein leerer MC so ungefähr
		// 4 bis 5 Bytes hat und zu Verfälschungen führen könnte
		if (geladen>=10) {
			// Ladeanzeige sichtbar machen
			loader._visible = true;
			// Berechnung der bereits geladenen Prozent
			prozent = Math.round(geladen/zuladen*100);
			// Ausgabe im dynamischen Textfeld "prozentanzeige"
			this.prozentanzeige.text = prozent+" Prozent geladen";
			// Skalierung des Balkens anhand der Prozentzahl
			this.balken._xscale = prozent;
			// Wenn komplett geladen
			if (prozent>=100) {
				// den EnterFrame-Event löschen um Performance zu sparen
				delete this.onEnterFrame;
				// die Ladeanzeige wieder unsichtbar machen
				this._visible = false;
			}
		}
	};
};
//-------------------------------------------------
wie muss ich das umschreiben damit es läuft?

gruss Zoomy
__________________
Wir haben so lange so viel mit so wenig versucht, dass wir jetzt in der Lage sind, fast alles mit fast nichts zu bewerkstelligen!
zoomzoom ist offline   Mit Zitat antworten
Alt 08-03-2008, 16:26   #2 (permalink)
CodeGecko
 
Benutzerbild von hellslawyer
 
Registriert seit: Aug 2007
Ort: Hagen
Beiträge: 1.242
Das Interval muss natürlich auch an der richtigen Stelle gesetzt werden. So wie es bei Dir gesetzt ist, wird es nicht durch die Buttons ausgelöst:
ActionScript:
  1. bild_3.onPress = function() {
  2.     ladeziel._alpha = 0;
  3.     ladeziel.loadMovie("Bild3.jpg");
  4.     id = setInterval(faden,100);
  5.     ladestatus();
  6.     };
__________________
Grütze Reinhart

XING || Simple Flash-Filter-Generator || DateChooser (AS3)
MovieClipLoader-Example (AS2) || PreloaderClass (AS2) || Framechecker-Component (AS2)

Bitte keine Flashfragen per PN oder ICQ. Dafür ist das Forum da.
hellslawyer ist offline   Mit Zitat antworten
Alt 08-03-2008, 18:10   #3 (permalink)
Neuer User
 
Benutzerbild von zoomzoom
 
Registriert seit: Sep 2004
Ort: bei Karlsruhe
Beiträge: 52
hmm habe das jetzt umgebaut:

Code:
//--- Aktionen für die Button_MCs um externe Daten
//--- in den Ziel-MC "ladeziel" zu laden ---------
bild_1.onPress = function() {
	ladeziel._alpha = 0;
	ladeziel.loadMovie("Bild1.jpg");
	faden();
	ladestatus();
	};

bild_2.onPress = function() {
	ladeziel._alpha = 0;
	ladeziel.loadMovie("Bild2.jpg");
	faden();
	ladestatus();
	};



     bild_3.onPress = function() {
     ladeziel._alpha = 0;
     ladeziel.loadMovie("Bild3.jpg");
     id = setInterval(faden,100);
     ladestatus();
     }; 
//-------------------------------------------------

//--- Ladeanzeige unsichtbar machen ---------------
loader._visible = false;
//-------------------------------------------------


//--- Fader----
faden = function () {
    ladeziel._alpha += 5;
    if(ladeziel._alpha >= 100){
        clearInterval(id);
    }
}
id = setInterval(faden,100);
...etc...

aber es funktioniert nun immer noch nicht.
habe ich es falsch eingebunden?
__________________
Wir haben so lange so viel mit so wenig versucht, dass wir jetzt in der Lage sind, fast alles mit fast nichts zu bewerkstelligen!
zoomzoom ist offline   Mit Zitat antworten
Alt 08-03-2008, 18:23   #4 (permalink)
CodeGecko
 
Benutzerbild von hellslawyer
 
Registriert seit: Aug 2007
Ort: Hagen
Beiträge: 1.242
Also zumindest bei Bild_3 sollte es nun funktionieren. Das Interval musst Du natürlich in den anderen onPress-Funktionen genauso setzen. Das letzte alleinstehende Intervall kannst Du getrost löschen.
__________________
Grütze Reinhart

XING || Simple Flash-Filter-Generator || DateChooser (AS3)
MovieClipLoader-Example (AS2) || PreloaderClass (AS2) || Framechecker-Component (AS2)

Bitte keine Flashfragen per PN oder ICQ. Dafür ist das Forum da.
hellslawyer ist offline   Mit Zitat antworten
Alt 08-03-2008, 18:38   #5 (permalink)
Neuer User
 
Benutzerbild von zoomzoom
 
Registriert seit: Sep 2004
Ort: bei Karlsruhe
Beiträge: 52
nein leider nicht, es wird sofort eingeblendet.

ich habe es nur mal beim 3 Schalter eingebettet.
Die fla habe ich angehängt.

vielleicht übersehe ich was...
Angehängte Dateien
Dateityp: zip galerie2.zip (7,4 KB, 24x aufgerufen)
__________________
Wir haben so lange so viel mit so wenig versucht, dass wir jetzt in der Lage sind, fast alles mit fast nichts zu bewerkstelligen!
zoomzoom ist offline   Mit Zitat antworten
Alt 08-03-2008, 19:36   #6 (permalink)
elanimal
 
Benutzerbild von burki
 
Registriert seit: Oct 2002
Ort: Tirol
Beiträge: 378
Hallöchen!

PHP-Code:
if(ladeziel._alpha >= 100
Achtung! Alpha liefert keine Geraden Werte!Versuchs mal mit einem Counter!
burki ist offline   Mit Zitat antworten
Alt 08-03-2008, 20:10   #7 (permalink)
elanimal
 
Benutzerbild von burki
 
Registriert seit: Oct 2002
Ort: Tirol
Beiträge: 378
Hab mir Dein Fla angeschaut hellslawyer's Tipp läuft tadellos
burki ist offline   Mit Zitat antworten
Alt 08-03-2008, 23:41   #8 (permalink)
Neuer User
 
Benutzerbild von zoomzoom
 
Registriert seit: Sep 2004
Ort: bei Karlsruhe
Beiträge: 52
hmm also ich weiss nicht ich hab es jetzt auf alle arten probiert.
nichts klappt bei mir.

könnt ihr mir das AS mal hier reinschreiben?
__________________
Wir haben so lange so viel mit so wenig versucht, dass wir jetzt in der Lage sind, fast alles mit fast nichts zu bewerkstelligen!
zoomzoom ist offline   Mit Zitat antworten
Alt 10-03-2008, 11:41   #9 (permalink)
Neuer User
 
Benutzerbild von zoomzoom
 
Registriert seit: Sep 2004
Ort: bei Karlsruhe
Beiträge: 52
so habe nun mal den Code verändert, nun mit dem Transition Manager:

Code:
//TransitionManager

import mx.transitions.*;
import mx.transitions.easing.*;

//--- Aktionen für die Button_MCs um externe Daten
//--- in den Ziel-MC "ladeziel" zu laden ---------
bild_1.onRollOver = function() {
	ladeziel.loadMovie("Bild1.jpg");
	ladestatus()
	mx.transitions.TransitionManager.start(ladeziel, {type:mx.transitions.Fade, direction:mx.transitions.Transition.IN, duration:1, easing:mx.transitions.easing.Back.easeInOut});
	}
bild_1.onRollOut = function() {
     mx.transitions.TransitionManager.start(ladeziel, {type:mx.transitions.Fade, direction:mx.transitions.Transition.OUT, duration:1, easing:mx.transitions.easing.Back.easeInOut});
	 };

bild_2.onRollOver = function() {
	ladeziel.loadMovie("Bild2.jpg");
	ladestatus()
	mx.transitions.TransitionManager.start(ladeziel, {type:mx.transitions.Fade, direction:mx.transitions.Transition.IN, duration:1, easing:mx.transitions.easing.Back.easeInOut});
	}
bild_2.onRollOut = function() {
     mx.transitions.TransitionManager.start(ladeziel, {type:mx.transitions.Fade, direction:mx.transitions.Transition.OUT, duration:1, easing:mx.transitions.easing.Back.easeInOut});
	 };

bild_3.onRollOver = function() {
     ladeziel.loadMovie("Bild3.jpg");
     ladestatus()
	 mx.transitions.TransitionManager.start(ladeziel, {type:mx.transitions.Fade, direction:mx.transitions.Transition.IN, duration:1, easing:mx.transitions.easing.Back.easeInOut});
	 }
bild_3.onRollOut = function() {
     mx.transitions.TransitionManager.start(ladeziel, {type:mx.transitions.Fade, direction:mx.transitions.Transition.OUT, duration:1, easing:mx.transitions.easing.Back.easeInOut});
	 };
	 
//-------------------------------------------------

//--- Ladeanzeige unsichtbar machen ---------------
loader._visible = false;
//-------------------------------------------------

//--- Ladefunktion --------------------------------
ladestatus = function () {
	// Einen onEnterFrame-Event erstellen, so dass nun
	// der Ladezustand kontinuierlich abgefragt und
	// angezeigt wird
	loader.onEnterFrame = function() {
		// Geladene und zu ladenede Bytetes abfragen
		geladen = _root.ladeziel.getBytesLoaded();
		zuladen = _root.ladeziel.getBytesTotal();
		// Sicherheitsabfrage, da ein leerer MC so ungefähr
		// 4 bis 5 Bytes hat und zu Verfälschungen führen könnte
		if (geladen>=10) {
			// Ladeanzeige sichtbar machen
			loader._visible = true;
			// Berechnung der bereits geladenen Prozent
			prozent = Math.round(geladen/zuladen*100);
			// Ausgabe im dynamischen Textfeld "prozentanzeige"
			this.prozentanzeige.text = prozent+" Prozent geladen";
			// Skalierung des Balkens anhand der Prozentzahl
			this.balken._xscale = prozent;
			// Wenn komplett geladen
			if (prozent>=100) {
				// den EnterFrame-Event löschen um Performance zu sparen
				delete this.onEnterFrame;
				// die Ladeanzeige wieder unsichtbar machen
				this._visible = false;
			}
		}
	};
};
//-------------------------------------------------
hier das Ergebnis...nur die ersten 3 Buttons sind verlinkt:
http://screens.chip-allianz.de/galerie/galerie.html

ideen und vorschläge höre ich gerne.
__________________
Wir haben so lange so viel mit so wenig versucht, dass wir jetzt in der Lage sind, fast alles mit fast nichts zu bewerkstelligen!
zoomzoom 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 18:09 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele