[转]CS3转型FLEX:类与元件的绑定

http://uh.9ria.com/space-12147-do-blog-id-280.html

个人认为,CS3在做游戏方面,与FLEX比没有任何优势。甚至应该说,FLEX在做游戏方面比起FLASH有压倒性优势。

还是FLEX的资料比较少的缘故。其实许多人依然钟情于用FLASH做游戏,为了它的类绑定功能应该是一个重要的原因吧。想起来确实很方便,虽然有点违反OOP。

但是,FLEX其实是可以实现类绑定的

最简代码:

package
{
import flash.display.Sprite;
  [Embed(source="asset/loader.swf",symbol="loadmc")]
public class CustomLoader extends Sprite
{
public function CustomLoader():void{
//do something
}
}
}
其实就是换了个位置,把一般写在var xxx:Class的Embed放在了整个类的上面(记得后面不要加分号)。其意义,和在库里将某个元件设个链接叫loadmc,然后绑定类为CustomLoader的效果是一样的。可以取到设置的实例名,标签名称。也能正确检查错误,诸如未为设置的实例名称在AS里写上相应的属性这样的。

就是反了过来。
想想这样反过来的优势,搞这个的应该明白。

这样做会有个与以前不同的效果:SWF内部所有AS会被忽略,包括stop();
其实也不算什么坏事。如果写[Embed(source="asset/loader.swf"],也可以用,这样里面的AS都会保留,但这相当于整个内部播放SWF文件,里面的实例以及种种内容外部都无法访问。不是很推荐这样做。

你可能感兴趣的:(游戏,Blog,Flex,Flash,oop)