Flex Application里的addChild()
转自:http://www.cnblogs.com/jiahuafu/archive/2009/03/20/1417679.html
在Flex Application里,是不能直接用addChild添加Sprite,MovieClip等来自flash.display包里的类的。譬如以下代码就会报错:
private function init():void
{
var sp:Sprite = new Sprite();
addChild(sp);
}
TypeError: Error #1034: 强制转换类型失败:无法将 flash.display::Sprite@156b7b1 转换为mx.core.IUIComponent。
这是因为Application的addChild方法并非完全继承自DisplayObjectContainer,
Application→LayoutContainer→Container→UIComponent→FlexSprite→Sprite→DisplayObjectContainer
而是在Container那里被重写了:
public override function addChild(child:DisplayObject):DisplayObject
public override function addChild(child:DisplayObject):DisplayObject
虽然参数child的类型是DisplayObject,但是它必须实现IUIComponent接口(所有Flex组件都实现了这一接口),才能添加。
如果要在Application里添加Sprite,可以先把它装进一个UIComponent,然后再添加这个UIComponent:
import mx.core.UIComponent;
private function init():void
{
var sp:Sprite = new Sprite();
var uc:UIComponent = new UIComponent();
uc.addChild(sp);
addChild(uc);
}
相关文档:
Repeater 顾名思义,Repeat就是重复的意思, Repeater 就是用来重复的控件
Repeater 会根据数据源中对象的多少来产生多少个子项,生成的子项全部是以数组形式存在的
<mx:Repeater id="myRepeater" dataProvider="{myArray}">
<mx:HBox>
  ......
Flex的事件其实很容易明白,象JAVA语言一样,给某个控件注册一个listener,然后事件发生的时候触发相应的函数,这点我相信大多数人都能够明白。今天我想要说的不是这个,而是更加细节的一些东西。
1.事件的传播过程。
Flex事件有下面三个阶段,当事件发生时依次为:
1.capturing(捕捉)
2.targeting(目标)
3.bubbli ......
学Flex也有一段时间了,参考了许多人的资料。一直想着自己写点东西分享给大家。如是,自己准备写这样的一个RPG游戏DEMO的系列。或许自己的算法,结构上设计有些许问题,但仍希望能给大家带来帮助,不好的地方请PASS掉。。。~~游戏也参考了深蓝色右手的许多设计思想,在此向其表示感谢。他的博客地址:http://w ......
Flex是Macromedia发布的presentation server(展现服务),它是java web
container或者.net
server的一个应用,根据.mxml文件(纯粹的xml描述文件和actionscript)产生相应得.swf文件,传送到客户端,由客户端的
flash player或者shockwave player解释执行,给用户以丰富的客户体验。
大名鼎鼎的Macromedia Flash是强大 ......
对AS、Flex等知识进行汇总,方便大家学习和查找……
温馨提示:
1.下载教程请注意方法,鼠标右键点击链接从弹出菜单中选择迅雷等工具下载,服务器有时太繁忙还请耐心等待一下;
2.单个教程的分卷压缩包请全部下载后解压,否则解压会出现缺包的情况导致解压失败;
3.如还有问题,可以利用三种方法提出:
......