繁体   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