簡體   English   中英

ActionScript:如何將自定義屬性添加到Image實例?

[英]Actionscript: how can I add a custom property to an instance of Image?

var image:Image = new Image();
image.property_1 = "abcdefg";

無法按照Flash生成器的說明進行編譯:

Description  Resource     Path      Location       Type
1119: Access of possibly undefined property jdkfjds through a reference with static type mx.controls:Image.
             adm.mxml     /adm/src  Line 209       Flex Problem

我怎樣才能做到這一點? 還是我需要擴展Image類? 很無聊。

如果您知道需要添加的所有屬性並且它們不會更改(通常),則可以使用。

package mypackage
{
    import mx.controls.Image;
    public class ExtendedImage extends Image
    {
        public function ExtendedImage()
        {
            super();
        }

        //option 1
        private var prop1:String = "";
        public function get property_1():String
        {
            return prop1;
        }
        public function set property_1(val:String):void
        {
            prop1 = val;
        }

        //option 2
        public var property_2:String = "";
    }
}

Image未聲明為動態類,因此您無法動態添加屬性。

Image派生並使用dynamic關鍵字擴展類:

package mypackage
{
  import mx.controls.Image;

  public dynamic class DynamicImage extends Image {}
}

現在這將起作用:

import mypackage.DynamicImage;

var image:DynamicImage = new DynamicImage();
image.property_1 = "abcdefg";

但是,您可以將容器用於圖像,並在其中添加其他屬性。 或使用以圖片為鍵,以屬性為值的字典。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM