Browsed by
月份:2012年10月

获取Obj变量地图

获取Obj变量地图

获取Obj上的所有public属性,可以用于两个对象的属性的快速匹配,详情请见 flash.utils.describeType 方法的API

[codesyntax lang=”actionscript3″]

		public function initParams(obj:Object):void{
			this.paramVo = new ParamsVo();
			var obj:Object = getVariablesMapObj(paramVo);
			for(var i:String in obj){
				trace(i);
				if(obj.hasOwnProperty(i)){
					paramVo[i] = obj[i];
				}
			}
		}

		/**
		 * 获得变量地图
		 * @param target
		 * @return
		 *
		 */
		private function getVariablesMapObj(target:Object):Object
		{
			var obj:Object = new Object();
			var dt:XML=describeType(target);
			for each(var node:XML in dt.variable)
			{
				obj[node.@name] = node.@type;
			}
			return obj;
		}

[/codesyntax]

在mxml中addChild一个sprite

在mxml中addChild一个sprite

在flex项目中讲一个没有继承UIComponent的flash的DisplayObject加载(addChild)到舞台上

[codesyntax lang=”actionscript3″]

<?xml version="1.0" encoding="utf-8"?>
<s:Application name="Spark_SpriteVisualElement_addChild_test"
        xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:mx="library://ns.adobe.com/flex/halo"
        initialize="init();">

    <fx:Script>
        <![CDATA[
            private spr1:Sprite = new Sprite();

            private function init():void {
                spr1.graphics.beginFill(0xFF0000, 0.5);
                spr1.graphics.drawRect(10, 10, 100, 80);
                spr1.graphics.endFill();
                con.addChild(spr1);
            }
        ]]>
    </fx:Script>

    <s:SpriteVisualElement id="con" />

</s:Application>

[/codesyntax]