2010-01-01 14 views
5

मैं अपने बिटमैप में एक ईवेंट श्रोता जोड़ने की कोशिश कर रहा हूं। टाइल गेमप्रॉप फैलाता है, जो बिटमैप को बढ़ाता है। मैं addEventListener का उपयोग करने की कोशिश करो। यह काम नहीं करता है। लेकिन एडोब डॉक्स का कहना है कि बिटमैप में addEventListener ऑब्जेक्ट है।बिटमैप Eventlistener काम नहीं कर रहा

package { 
      import flash.display.BitmapData; 
      import flash.events.*; 
      import flash.events.MouseEvent; 
      import flash.geom.Rectangle; 
      import flash.geom.Point; 

      public class Tile extends gameProps { 

       public var tileNum:Number = 0; 


       public function Tile(tileNumber:Number):void 
       { 
        tileNum = tileNumber;   
        addEventListener(MouseEvent.MOUSE_OVER, respond); 
       } 


       public function respond(e:MouseEvent):void 
       { trace("HELLO");    
       } 

      } 
     } 

उत्तर

5

बिटमैप क्लास डिस्प्लेऑब्जेक्ट को इंटरएक्टिव ऑब्जेक्ट नहीं बढ़ाता है और इसलिए माउस ईवेंट प्राप्त नहीं कर सकता है। स्प्राइट उप-वर्ग में बिटमैप ऑब्जेक्ट को लपेटने का प्रयास करें। इस (छद्म कोड) की तरह कुछ:

public class Image extends Sprite 
{ 
    var bitmap:Bitmap; 

    public function Image() 
    { 
     bitmap = new Bitmap(); 
     addChild(bitmap); 
    } 
} 

InteractiveObject डॉक्स: http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/display/InteractiveObject.html

+0

हे, मैं डॉक्स देख रहा था और यह EventDispatcher विरासत में मिला कहा, इसलिए प्लस यह एक अपने तरीकों addEventlistner जा रहा है पता चला है। यकीन नहीं है कि क्यों। लेकिन मैं जितना संभव हो उतना हल्का होने की कोशिश कर रहा हूं। मैं टाइलिंग कर रहा हूं और स्प्रिंग्स का उपयोग करके मेरी स्क्रॉलिंग धीमा कर रहा हूं। क्या कोई बेहतर समाधान है ? – numerical25

+0

@ संख्यात्मक 25: प्रलेखन को पढ़ना जारी रखें, और आप देखेंगे कि सिर्फ कुछ इवेंट डिस्पैचर है, इसका मतलब यह नहीं है कि यह माउस ईवेंट पर प्रतिक्रिया करता है। सभी डिस्प्ले ऑब्जेक्ट्स इवेंट प्रेषक हैं, जो ADDED_TO_STAGE और REMOVED_FROM चरण जैसी घटनाओं को प्रेषित करने में सक्षम हैं। – richardolsson

+0

हाँ लेकिन यह addeventlistner को एक विधि http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/Bitmap.html के रूप में भी दिखाया गया है। यह नहीं कह रहा कि आप लोग गलत हैं। मैं पूरी तरह से सहमत। लेकिन यह सिर्फ मुझे थोड़ा फेंक दिया। लेकिन आपकी मदद के लिए धन्यवाद। मैं इसकी अत्यधिक सराहना करता हूँ। – numerical25