Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-11-2011, 22:25   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2010
Beiträge: 64
Alle Objekte einer Klasse ansprechen

Ich möchte eine Methode aller Objekte einer bestimmten Klasse ansprechen. Geht das? Oder gibtes alternativ die möglichkeit all diese Objekte direkt in ein Array zu erzeugen? Ich bekomme das nicht hin. Ich kann ein neues Objekt nur erzeugen in dem ich es einer (nicht-Array) Variable zuweise.
magic_al ist offline   Mit Zitat antworten
Alt 04-11-2011, 22:35   #2 (permalink)
+ Zimt & Zucker
 
Registriert seit: Mar 2006
Ort: hinterm Mond gleich links
Beiträge: 2.040
Was möchtest du denn überhaupt machen?
Deine zwei Zeilen klingen so, als hättest du dich da in einer Idee verrannt.

Was ist denn eine "nicht-Array Variable"?

Zeig uns doch mal den Code den du hast und was er tun soll, dann kann dir mit Sicherheit geholfen werden.
__________________
anbei Grüße vom milchreis: Viva la [Silb]
"Selbst wenn uns nur noch der Zynismus treibt, wir werden trotzdem einfach immer weiter gehen!"

[Von null auf Flash in einem Klick.] <<< klick
milchreis ist offline   Mit Zitat antworten
Alt 04-11-2011, 22:40   #3 (permalink)
Neuer User
 
Registriert seit: Dec 2010
Beiträge: 64
Zitat:
Zitat von milchreis Beitrag anzeigen
Was möchtest du denn überhaupt machen?
Deine zwei Zeilen klingen so, als hättest du dich da in einer Idee verrannt.

Was ist denn eine "nicht-Array Variable"?

Zeig uns doch mal den Code den du hast und was er tun soll, dann kann dir mit Sicherheit geholfen werden.
Code:
import classes.buttonEffekt;

var btnAboutEffects:buttonEffekt = new buttonEffekt(mainMenu.btnAbout);
var btnShopEffect:buttonEffekt = new buttonEffekt(mainMenu.btnShop);
Code:
package classes {
	import flash.events.MouseEvent;
	
	public class buttonEffekt {

		public function buttonEffekt(initialButton:Object) {
			button = initialButton;
		
			button.buttonMode = true;
			addEvents();
		}
		
		public var button:Object;
		
		//Add Event Listener
		public function addEvents():void {
			button.gotoAndStop(1)
			button.addEventListener(MouseEvent.MOUSE_OVER, overButton);
			button.addEventListener(MouseEvent.MOUSE_OUT, outButton);
			button.addEventListener(MouseEvent.CLICK, activateButton);
		}
		
		//Remove Event Listener
		public function removeEvents():void {
			button.removeEventListener(MouseEvent.MOUSE_OVER, overButton);
			button.removeEventListener(MouseEvent.MOUSE_OUT, outButton);
			button.removeEventListener(MouseEvent.CLICK, activateButton);
		}
		
		//Event Listener Funktionen
		private function overButton (event:MouseEvent):void {
			button.gotoAndStop(2)
		}
		
		private function outButton (event:MouseEvent):void {
			button.gotoAndStop(1)
		}
		
		private function activateButton (event:MouseEvent):void {
				button.gotoAndStop(2)
				removeEvents();
		}

	}
	
}
Ich erzeuge mit der klasse onmouseOver/Out Effekte für meine Buttons. Jetzt möchte ich eg. nur noch, dass der Button auf den ich zu letzt geklickt habe auf Frame 2 springt. Alle anderen müssen folglich wieder zurück auf Frame 1.

Jetzt kann es natürlich sein, dass ich auf einer Seite mehrere Links habe. Zum Beispiel die vom Hauptmenü und die von dem Untermenü einer Seite. Diese Link-Gruppen müssen von der Kennzeichnung des aktiven Links natürlich unabhängig von einander funktionieren. Das heißt ich muss die Links die in eine Gruppe gehören iwie zusammen fassen. Ich dachte da an ein Array. Gibts bessere Möglichkeiten?
magic_al ist offline   Mit Zitat antworten
Alt 05-11-2011, 06:43   #4 (permalink)
+ Zimt & Zucker
 
Registriert seit: Mar 2006
Ort: hinterm Mond gleich links
Beiträge: 2.040
Die Idee, die Gruppierung über die Klasse scheitert daran, das du dann eben nur eine Gruppe haben könntest.

Es wäre also sinnvoll noch eine Klasse zu erstellen, die sich um so eine Horde Buttons kümmert, sich den aktuell aktiven merkt und wie du schon richtig erkannt hast, alle ihr zugehörigen Buttons in einem Array.

Schau dir aber noch mal deine Klasse an:
- wenn es um die Typisierung von Parametern geht, ist Object keine gute Idee.

- deine Klasse ist einem SimpleButton sehr ähnlich.
Also erweitere doch diese Klasse. In der Dokumentation siehst du auch, das dort keine Objecte übergeben werden.
__________________
anbei Grüße vom milchreis: Viva la [Silb]
"Selbst wenn uns nur noch der Zynismus treibt, wir werden trotzdem einfach immer weiter gehen!"

[Von null auf Flash in einem Klick.] <<< klick
milchreis ist offline   Mit Zitat antworten
Alt 05-11-2011, 10:49   #5 (permalink)
Neuer User
 
Registriert seit: Dec 2010
Beiträge: 64
Zitat:
Zitat von milchreis Beitrag anzeigen
Schau dir aber noch mal deine Klasse an:
- wenn es um die Typisierung von Parametern geht, ist Object keine gute Idee.
Warum nicht? Es sind nun mal Objekte oder nicht?! Danke für die Antwort.
magic_al ist offline   Mit Zitat antworten
Alt 05-11-2011, 11:21   #6 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Zitat:
Zitat von magic_al Beitrag anzeigen
Warum nicht? Es sind nun mal Objekte oder nicht?! Danke für die Antwort.
In AS ist alles ein Object. Deshalb ist es auch eigentlich eine 0-Information, wenn man darauf typisiert

Dein Button ist doch allem Anschein nach ein MovieClip?! Wieso typisierst Du ihn dann nicht darauf?
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Flash CS5] Alle MovieClips einer Klasse ansprechen? Jenkin879 Flash Einsteiger 1 27-11-2010 12:00
[Flash CS3] Alle MovieClips einer Klasse ansprechen? Reign_of_Light Flash Einsteiger 6 27-05-2010 08:35
Alle Objekte in MC per ActionScript ansprechen eugene8499 ActionScript 2 2 06-06-2008 14:29
Alle Objekte auf einer Ebene clicadou ActionScript 1 3 28-10-2003 15:01
alle anderen objekte ansprechen Bluto ActionScript 1 9 08-11-2002 11:15


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:53 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele