• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 15-05-2010, 15:51   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2006
Beiträge: 487
Exclamation Benutzerdefiniertes Event von MouseEvent ableiten

Ich möchte ein benutzerdefiniertes Event von dem MouseEvent ableiten - und zwar vom Typ CLICK:
Code:
package {

	import flash.events.*;

	public class PageMouseEvent extends MouseEvent {
		
		public static const LEFT:String = "LEFT";
		public static const RIGHT:String = "RIGHT";
		
		public var _side:String;		
		
		public function PageMouseEvent(side:String, bubbles:Boolean=false, cancelable:Boolean=false) {
			super("CLICK", bubbles, cancelable);
			_side = side;
		}
		//
		// get's
		//
		public function get side():String {
			return _side;
		}
	}
}
Code:
[...]
_mc_page_left.addEventListener(PageMouseEvent.LEFT, mouseClickHandler);
_mc_page_right.addEventListener(PageMouseEvent.RIGHT, mouseClickHandler);
[...]
Allerdings wird das Event nicht gefeuert - ein normales MouseEvent.CLICK hingegen schon.

Vielen Dank für eure Antworten im Voraus!
Mit freundlichen Grüßen
Firemice
Firemice ist offline   Mit Zitat antworten
Alt 15-05-2010, 16:07   #2 (permalink)
~~~~~~~~~~~~
 
Benutzerbild von _geo_
 
Registriert seit: May 2002
Ort: AUSTRIA (OÖ)
Beiträge: 3.297
Wieso sollte es denn gefeuert werden blos weil du es von MouseEvent ableitest? Alles was du in dem Fall gemacht hast ist ne Klasse die nirgends verwendet wird, außer als String fürs die addEventListener() Funktion.

Um das CLICK MouseEvent zu ersetzen musst du das MouseEvent abfangen und als dein erweitertes Event neu dispatchen, ansonsten wird das leider nix. Ableiten alleine erstellt dir nur ne neue Klasse ansonsten nichts
__________________
--- :P ---

Blog
Bei unerwünschten Nebenwirkungen zerreißen Sie die Packungsbeilage oder erschlagen ihren Arzt oder Apotheker

Geändert von _geo_ (15-05-2010 um 16:08 Uhr)
_geo_ ist offline   Mit Zitat antworten
Alt 15-05-2010, 17:53   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2006
Beiträge: 487
Exclamation

Und wie leite ich das jetzt ab? Gibt es da einen Trick / eine gute Anleitung / Beispiel / Lösung?

Vielen Dank für eure Antworten im Voraus!
Mit freundlichen Grüßen
Firemice
Firemice ist offline   Mit Zitat antworten
Alt 15-05-2010, 19:30   #4 (permalink)
~~~~~~~~~~~~
 
Benutzerbild von _geo_
 
Registriert seit: May 2002
Ort: AUSTRIA (OÖ)
Beiträge: 3.297
Hab dirs mal so zusammengeastellt wiers funktionieren "könnte", ich hab allerdings den sinn deiner LEFT und RIGHT side nicht gecheckt, vllt wärs zielführender wenn du einfach sagst was du erreichen willst?

ActionScript:
  1. package {
  2.  
  3.     import flash.events.MouseEvent;
  4.  
  5.     public class PageMouseEvent extends MouseEvent {
  6.        
  7.         public static const LEFT:String = "LEFT";
  8.         public static const RIGHT:String = "RIGHT";
  9.        
  10.         public function PageMouseEventMouseEvent (type:String, bubbles:Boolean = true, cancelable:Boolean = false, localX:Number = null, localY:Number = null, relatedObject:InteractiveObject = null, ctrlKey:Boolean = false, altKey:Boolean = false, shiftKey:Boolean = false, buttonDown:Boolean = false, delta:int = 0);{
  11.             super(type, bubbles, cancelable, localX, localY, relatedObject, ctrlKey, altKey, shiftKey, buttonDown, delta);
  12.         }
  13.        
  14.         // clone() fehlt hier noch
  15.     }
  16. }
  17.  
  18. package
  19. {
  20.     public class TestDispatchExtendedMouseEventInsteadOfMouseEvent extends Sprite
  21.     {
  22.         public function TestDispatchExtendedMouseEventInsteadOfMouseEvent()
  23.         {
  24.             addEventListener(MouseEvent.CLICK, dispatchExtendedEvent);
  25.         }
  26.        
  27.         public function dispatchExtendedEvent(e:MouseEvent)
  28.         {
  29.             var type:String = PageMouseEvent.LEFT;
  30.             dispatchEvent(new PageMouseEvent(type, e.bubbles, e.cancelable, e.localX, e.localY, e.relatedObject, e.ctrlKey, e.altKey, e.shiftKey, e.buttonDown, e.delta));
  31.         }
  32.     }
  33. }
  34.  
  35. [...]
  36. _mc_page_left.addEventListener(PageMouseEvent.LEFT, mouseClickHandler);
  37. _mc_page_right.addEventListener(PageMouseEvent.RIGHT, mouseClickHandler); // wird nicht funktionieren
  38. [...]

lg
__________________
--- :P ---

Blog
Bei unerwünschten Nebenwirkungen zerreißen Sie die Packungsbeilage oder erschlagen ihren Arzt oder Apotheker
_geo_ ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
ableiten, benutzerdefiniert, click, event, mouseevent

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
benutzerdefiniertes TextField newgame Flash CS3 Professional 3 09-01-2009 15:23
Event.COMPLETE verhindert MouseEvent? thebigc74 ActionScript 3 1 25-11-2008 12:49
MouseEvent.MOUSE_MOVE - Maus zu schnell für Event nsp ActionScript 3 5 27-07-2008 15:44
Benutzerdefiniertes Objekt marcodeneu ActionScript 1 7 05-01-2004 00:38


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:37 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele