2011-06-01 18 views
6

में गतिशील लोड ग्राफिक्स के साथ समस्या मैं कुछ गेम बनाता हूं, मैं बहुत सारे ग्राफिक्स का उपयोग करता हूं।एएस 3

public class MenuGFX 
{ 
    [Embed(source = '../../assets/graphics/menu/background.png')] 
    public static const backgroundGFX:Class; 
    [Embed(source='../../assets/graphics/menu/startD.png')] 
    public static const startDGFX:Class; 
    [Embed(source='../../assets/graphics/menu/startO.png')] 
    public static const startOGFX:Class; 
    [Embed(source='../../assets/graphics/menu/startU.png')] 
    public static const startUGFX:Class; 

} 

इस से ग्राफिक लोड करने के लिए मैं फ़ंक्शन का उपयोग करें: मैं कक्षा मेनू के लिए उदाहरण के लिए सभी ग्राफिक्स है कि बनाने के

public class GraphicsLoader 
{ 
    private static var graphicsDictionary:Dictionary = new Dictionary(); 

    public static function getGraphic(name:String):Bitmap 
    { 

     var bitmap:Bitmap = graphicsDictionary[name]; 
     if (bitmap == null) 
     { 

      var cls:Object = getDefinitionByName("Graphics::" + name) ; 
      bitmap = new (cls); 
      graphicsDictionary[name] = bitmap;   
     } 
     return bitmap; 
    } 

} 

लेकिन यह केवल काम कर रहा है जब मैं कुछ ग्राफिक्स बनाने के मैनुअल जोड़ें: private var backgroundBitmap:Bitmap = new MenuGFX.backgroundGFX; को लोडर वर्ग:

public class GraphicsLoader 
{ 
    private static var graphicsDictionary:Dictionary = new Dictionary(); 

    private var backgroundBitmap:Bitmap = new MenuGFX.backgroundGFX; 

    public static function getGraphic(name:String):Bitmap 
    { 

     var bitmap:Bitmap = graphicsDictionary[name]; 
     if (bitmap == null) 
     { 

      var cls:Object = getDefinitionByName("Graphics::" + name) ; 
      bitmap = new (cls); 
      graphicsDictionary[name] = bitmap;   
     } 
     return bitmap; 
    } 

} 

मैं private var someBitmap:Bitmap = new BitmapName; बनाने से बचने के लिए रास्ता तलाश रहा हूं। क्या आप जानते हैं कि मैं इससे कैसे निपट सकता हूं?

उत्तर

3

कक्षा MenuGFX आपके एसडब्ल्यूएफ में संकलित नहीं की जाएगी यदि वर्ग स्वयं आपके प्रोजेक्ट स्रोत कोड में संदर्भित/उपयोग नहीं किया गया है। यह आपके आवेदन में कहीं भी new MenuGFX पर कॉल करने के लिए पर्याप्त होना चाहिए (आपकी मुख्य कक्षा में हो सकता है)। कंपाइलर को यह जानना है कि इस कक्षा का उपयोग आपके आवेदन में कहीं भी किया जाएगा या इसे अनदेखा कर दिया जाएगा।

+0

उत्तर के लिए बड़ा धन्यवाद :) – piotrek

संबंधित मुद्दे