Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29-07-2009, 10:39   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2009
Beiträge: 5
Unterschiedliche Events bei erstem und zweitem Mausklick

Hallo zusammen und Achtung vor freilaufenden Anfänger-Fragen

Ich habe hier eine Animation für eine Produktbeispiel-Seite. Die Grundidee: Die Produkte "fliegen" von links unten nach rechts oben, bei Klick auf ein Produkt, soll dieses mittig platziert, auf 150% skaliert und der Hintergrund dabei verdunkelt werden. Soweit so gut. Das Stoppen und Skalieren funktioniert auch soweit. Problem ist jetzt: Wie bekomme ich den gestoppten MC wieder zum Laufen, nachdem ich ihn per Mausklick gestoppt hatte?
Idealerweise sollte man wieder auf das (gleiche) Produkt klicken können, damit die Animation weiterläuft ...
Kann man einen EventListener für zweiten Mausklick erstellen? Oder geht das überhaupt irgendwie?

Vielleicht muss ich auch dazu sagen, dass ich mich nun zwar schon seit guten zwei Wochen täglich acht Stunden versuche, da durchzubeißen, aber der programmiertechnische Teil von AS bleibt mir immer noch mehr oder weniger ein Rätsel.
Vielleicht ist mein Ansatz auch total falsch und/oder kompliziert und das lässt sich alles viel einfach lösen?

Ich bin auf jeden Fall dankbar für jede Hilfe!

Liebe Grüße,
Lena

PS: Hier mal noch der Code, mit dem ich im Moment meine Produkte steuere:
Code:
//stoppt und bringt zum Mittelpunkt
this.prod_composing.prod0_01.addEventListener(MouseEvent.CLICK, clickStop01);
function clickStop01(e:MouseEvent):void {
	this.prod_composing.prod0_01.gotoAndStop(125);
	this.prod_composing.prod0_02.gotoAndStop(75);
	this.prod_composing.prod0_03.gotoAndStop(25);
	this.prod_composing.prod0_04.stop();
	this.prod_composing.prod0_05.stop();
	this.prod_composing.stop();
	}
this.prod_composing.prod0_02.addEventListener(MouseEvent.CLICK, clickStop02);
function clickStop02(e:MouseEvent):void {
	this.prod_composing.prod0_01.gotoAndStop(175);
	this.prod_composing.prod0_02.gotoAndStop(125);
	this.prod_composing.prod0_03.gotoAndStop(75);
	this.prod_composing.prod0_04.gotoAndStop(25);
	this.prod_composing.prod0_05.stop();
	this.prod_composing.stop();
	}
this.prod_composing.prod0_03.addEventListener(MouseEvent.CLICK, clickStop03);
function clickStop03(e:MouseEvent):void {
	this.prod_composing.prod0_01.gotoAndStop(225);
	this.prod_composing.prod0_02.gotoAndStop(175);
	this.prod_composing.prod0_03.gotoAndStop(125);
	this.prod_composing.prod0_04.gotoAndStop(75);
	this.prod_composing.prod0_05.gotoAndStop(25);
	this.prod_composing.stop();
	}
this.prod_composing.prod0_04.addEventListener(MouseEvent.CLICK, clickStop04);
function clickStop04(e:MouseEvent):void {
	this.prod_composing.prod0_01.stop();
	this.prod_composing.prod0_02.gotoAndStop(225);
	this.prod_composing.prod0_03.gotoAndStop(175);
	this.prod_composing.prod0_04.gotoAndStop(125);
	this.prod_composing.prod0_05.gotoAndStop(75);
	this.prod_composing.stop();
	}
this.prod_composing.prod0_05.addEventListener(MouseEvent.CLICK, clickStop05);
function clickStop05(e:MouseEvent):void {
	this.prod_composing.prod0_01.stop();
	this.prod_composing.prod0_02.stop();
	this.prod_composing.prod0_03.gotoAndStop(225);
	this.prod_composing.prod0_04.gotoAndStop(175);
	this.prod_composing.prod0_05.gotoAndStop(125);
	this.prod_composing.stop();
	}

//startet Ein-/Auszoomen
this.prod_composing.prod0_01.addEventListener(MouseEvent.CLICK, clickZoom01);
function clickZoom01(e:MouseEvent):void {
	this.prod_composing.prod0_01.prod00_01.gotoAndPlay(2);
	}
this.prod_composing.prod0_02.addEventListener(MouseEvent.CLICK, clickZoom02);
function clickZoom02(e:MouseEvent):void {
	this.prod_composing.prod0_02.prod00_02.gotoAndPlay(2);
	}
this.prod_composing.prod0_03.addEventListener(MouseEvent.CLICK, clickZoom03);
function clickZoom03(e:MouseEvent):void {
	this.prod_composing.prod0_03.prod00_03.gotoAndPlay(2);
	}
this.prod_composing.prod0_04.addEventListener(MouseEvent.CLICK, clickZoom04);
function clickZoom04(e:MouseEvent):void {
	this.prod_composing.prod0_04.prod00_04.gotoAndPlay(2);
	}
this.prod_composing.prod0_05.addEventListener(MouseEvent.CLICK, clickZoom05);
function clickZoom05(e:MouseEvent):void {
	this.prod_composing.prod0_05.prod00_05.gotoAndPlay(2);
	}
flashlena ist offline   Mit Zitat antworten
Alt 29-07-2009, 12:41   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Hallo zusammen und Achtung vor freilaufenden Anfänger-Fragen
Dafür gibt es hier einen Einsteigerbereich...
->verschoben

Zitat:
Kann man einen EventListener für zweiten Mausklick erstellen?
Lösch den ersten Listener mit einem removeEventListener und setz dann einen neuen.
  Mit Zitat antworten
Alt 29-07-2009, 14:42   #3 (permalink)
Neuer User
 
Registriert seit: Feb 2009
Beiträge: 5
Zitat:
Dafür gibt es hier einen Einsteigerbereich...
Ups, sorry. Konnte mich nicht entscheiden, zwischen Einsteiger- oder Programmversionsschublade ... Danke für's Verschieben!

Zitat:
Lösch den ersten Listener mit einem removeEventListener und setz dann einen neuen.
Hab ich schon versucht, aber ich komm nicht drauf, wo ich den removeEventListener setzen muss.
Erst mal soll das Ereignis ja stattfinden ...
Mein addEventListener-Code liegt auf der Hauptzeitleiste. Wenn ich removeEventListener darunter setze, löscht der sich gleich selbst ...
Kann man von einem untergeordneten MC aus auf einen EventListener der Hauptzeitleiste zugreifen? Und wenn ja wie?
Und wenn nein, wie kann ich das sonst lösen?
flashlena ist offline   Mit Zitat antworten
Alt 29-07-2009, 14:48   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
PHP-Code:
this.prod_composing.prod0_01.addEventListener(MouseEvent.CLICKclickStop01);
function 
clickStop01(e:MouseEvent):void {
   
//event löschen
   
prod_composing.prod0_01.removeEventListener(MouseEvent.CLICKclickStop01);

   
//alternativen Event setzen
   
prod_composing.prod0_01.addEventListener(MouseEvent.CLICKalternativEventHandler); 
  Mit Zitat antworten
Alt 29-07-2009, 15:05   #5 (permalink)
Neuer User
 
Registriert seit: Feb 2009
Beiträge: 5
Code:
this.prod_composing.prod0_01.addEventListener(MouseEvent.CLICK, clickStop01);
function clickStop01(e:MouseEvent):void {
   //event löschen
   prod_composing.prod0_01.removeEventListener(MouseEvent.CLICK, clickStop01);
   //alternativen Event setzen
   prod_composing.prod0_01.addEventListener(MouseEvent.CLICK, clickGo01);
   function clickGo01(e:MouseEvent):void {
	   	this.prod_composing.prod0_01.gotoAndPlay(125);
		this.prod_composing.prod0_02.gotoAndPlay(75);
		this.prod_composing.prod0_03.gotoAndPlay(25);
		this.prod_composing.prod0_04.play();
		this.prod_composing.prod0_05.play();
		this.prod_composing.play();
	   }
	this.prod_composing.prod0_01.gotoAndStop(125);
	this.prod_composing.prod0_02.gotoAndStop(75);
	this.prod_composing.prod0_03.gotoAndStop(25);
	this.prod_composing.prod0_04.stop();
	this.prod_composing.prod0_05.stop();
	this.prod_composing.stop();
	}
Ausgabe-Fehlermeldung:
Zitat:
TypeError: Error #1010: Ein Begriff ist nicht definiert und hat keine Eigenschaften.
at MethodInfo-7()
flashlena ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
as3, eventlistener, flash cs4, maus, zweiter klick

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 03:30 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele