Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 17-08-2011, 15:08   #1 (permalink)
AS Programmer
 
Benutzerbild von Mattcheck
 
Registriert seit: Dec 2009
Beiträge: 36
addEventListener auf eine nicht instantiierte Klasse anwenden

Hallo,

ich entwickle gerade eine Adobe Air Datein mit Flash Professional und den Code bearbeite ich mit FlashBuilder.
Man kann in dem Programm mehrere Einstellungen tätigen. Dazu habe ich gedacht, dass ich eine "Setting" Klasse erstelle, die nicht instantiiert wird. Diese soll über eine "public static function" namens "save" verfügen. Sobald man also einen Knopf drückt wird die Stativ.save - Methode aufgerufen.
Diese Funkion soll dann ein Event "dispatchen", damit an anderer Stelle diese ändernung der Einstellung bemerkt wird.
Bis hier hin funktioniert auch alles. Jetzt kommt das Problem.
Ich möchte über Setting.addEventListener(...) das Event abfragen.

Ich denke das Problem ist, dass Settings kein Objekt sondern eine Klasse ist auf die man nicht direkt zugreifen kann.

Was gibt es für mögliche Lösungen?

Danke schonmal im Vorraus und ich hoffe ich habt es alle verstanden ansonsten kann ich auch den Code mit schicken aber es geht ja nur ums Prinzip!

Gruß Matti
Mattcheck ist offline   Mit Zitat antworten
Alt 17-08-2011, 15:40   #2 (permalink)
Neuer User
 
Benutzerbild von padavan
 
Registriert seit: Apr 2002
Beiträge: 496
ich würde die save-methode garnicht in der static-klasse machen

ich seh die static-klasse mehr als datencontainer (model) und das speichern würde eher dem controller zufallen, oder?

lass mich auch gern berichtigen...

edit: zur frage, glaub nicht dass du ohne instanz nen listener hinzufügen kannst..sschon probiert?
__________________
Grafik - Webdesign - Programmierung - www.thsc.at
Adventkalender 2011 advent.wien.info/de
Jobspace - Universum der Lehrstellen www.jobspace.at
padavan ist offline   Mit Zitat antworten
Alt 17-08-2011, 15:42   #3 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
Registriert seit: Feb 2006
Ort: Augsburg
Beiträge: 3.495
Hi,

bist du mit dem Singleton-Pattern vertraut?

mfg

sx
__________________

flintfabrik.de
shin10 ist offline   Mit Zitat antworten
Alt 17-08-2011, 16:14   #4 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Ich habe mir vor einiger Zeit für diesen Zweck mal eine Klasse gebastellt (die ein Singleton ist, für den ich auch schon meine Prügel bezogen habe ):
PHP-Code:
package net.martinkraft.utils {
    
import flash.events.Event;
    
import flash.events.EventDispatcher;
    
    
/**
     * @author Martin Kraft
     */
    
    
public class StaticEventDispatcher extends EventDispatcher{
        
        
////
        
        
private static var _instance:StaticEventDispatcher;
        
        
///////////////////////////////////////////
        
        
public function StaticEventDispatchersi:SingleInstance ) {
            
super();
        }
        
        
///////////////////////////////////////////
        
        // Instance functions to static
        
        
static public function addEventListener(type:Stringlistener:Function, useCapture:Boolean falsepriority:int 0useWeakReference:Boolean true):void {
            
instance.addEventListener(typelisteneruseCapturepriorityuseWeakReference);
        }
        
        static public function 
dispatchEvent(event:Event):Boolean {
            return 
instance.dispatchEvent(event);
        }
        
        static public function 
hasEventListener(type:String):Boolean {
            return 
instance.hasEventListener(type);
        }
        
        static public function 
removeEventListener(type:Stringlistener:Function, useCapture:Boolean false):void {
            
instance.removeEventListener(typelisteneruseCapture);
        }
        
        static public function 
willTrigger(type:String):Boolean {
            return 
instance.willTrigger(type);
        }
        
        
////
        
        
static public function get instance():StaticEventDispatcher 
            if(!
_instance_instance = new StaticEventDispatcher( new SingleInstance() );
            return 
_instance;
        }
        
    }
}

internal class SingleInstance {
    
/// protects Singleton
    
public function SingleInstance():void { }

__________________
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
Alt 17-08-2011, 17:46   #5 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.139
Nächste Woche gibt es dazu einen Artikel von mir ... also, warum man einen Singleton vermeiden kann und seine Projekte gar noch skalierbar hält.
Omega Psi ist offline   Mit Zitat antworten
Alt 17-08-2011, 18:03   #6 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
Registriert seit: Feb 2006
Ort: Augsburg
Beiträge: 3.495
Muss ich dafür die Zeit oder die Süddeutsche kaufen?
__________________

flintfabrik.de
shin10 ist offline   Mit Zitat antworten
Alt 17-08-2011, 18:10   #7 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.139
Ach so, ne ... ich hab eine neue Domain.
Omega Psi ist offline   Mit Zitat antworten
Alt 17-08-2011, 18:39   #8 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Wir sind gespannt
__________________
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
Alt 17-08-2011, 18:46   #9 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
Registriert seit: Feb 2006
Ort: Augsburg
Beiträge: 3.495
Zitat:
Zitat von Omega Psi Beitrag anzeigen
Ach so, ne ... ich hab eine neue Domain.
Sowas hast du doch schon vor 6 Monaten behauptet.
__________________

flintfabrik.de
shin10 ist offline   Mit Zitat antworten
Alt 17-08-2011, 20:55   #10 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.139
Ach so.. hm... ne, wirklich ... vielleicht. Jetzt habe ich sie aber wirklich ...
Omega Psi ist offline   Mit Zitat antworten
Alt 17-08-2011, 22:13   #11 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
Registriert seit: Feb 2006
Ort: Augsburg
Beiträge: 3.495
Na ich tu da ja auch schon seit über nem Jahr rum hatte aber zumindest letzte Woche endlich einen Einfall, der Potential genug hat um tatsächlich mal fertig zu werden bevor ich mich langweile ... mal sehen.
__________________

flintfabrik.de
shin10 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
addeventlistener, dispatchevent, event, instanz, static

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
addEventListener auf mehrere Movieclips anwenden reisueber ActionScript 3 2 21-07-2010 15:36
Wie kann man addEventListener in einer Klasse verwenden? wesulaner ActionScript 3 3 19-12-2008 17:04
addEventListener auf Objekt in externer Datei anwenden Paeddl ActionScript 3 0 16-07-2008 12:28
Eigene Klasse auf diverse MCs anwenden robbie_bobbie Flash CS3 Professional 5 10-05-2008 15:26
addChild kann ich nur auf Display objekte anwenden, nicht auf die Klasse selbst Mr.Twister ActionScript 3 6 23-03-2007 17:53


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

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


Copyright ©1999 – 2012 Marc Thiele