Sprite和MovieClip之间的区别 flash movieclip

刚开始学习as3的时候,尤其是对于一个从as2转型到as3的人来说,可能最先遇到的一个问题就是,sprite是个什么东西呢?原来你会发现,原来sprite就是一个轻量型的clip,它没有时间轴的概念,在开发项目的时候,如果用不到时间轴的话,我们尽量用Sprite而不用MovieClip,可以提高程序的执行效率。但是今天我又有了一个新发现,不说了,先卖个关子,嘿嘿!先给大家讲讲我是怎么遇到问题的。

在有些程序中,我们需要动态生成一个列表,列表中的每一个项(Item)包含有若干种属性,当点击某个项的时候,我们需要将这些属性推送出去。最初我就是用Sprite生成了一个列表,但是加属性的时候提示无法访问未定义属性。如下:

  1. var ball:Sprite = new Sprite();
  2. ball.act = 1;
  3. addChild(ball);
  4. trace(ball.act);//这里就会报错

在用as2开发项目的时候,这种情况是不会出现的,这里当时憋了我好一阵子,后来想了想,只能先建一个子类继承Sprite,然后在子类中添加属性,这样在建立影片的时候,直接生成这个子类的实例。这个过程很简单,但是毕竟多了一个步骤, 感觉很不爽。有一次我在场景中绘制了一个图形,直接添加了属性,居然能够正常输出,开始以为是继承了我的那个子类的缘故,检查了一遍发现不是。我突然心声一念,场景中的图形不就是MovieClip么,那我在程序中生成一个MovieClip的话,理论上应该也是没问题的(之前一直没有注意过这个问题),于是我赶紧测试,验证一下想法,果然不出所料。以后在做项目的时候,什么时候该用Sprite,心里就更有数了,有效的运用他们的特性可以事半功倍的。

MovieClip 是 dynamic类,而Sprite不是。因此Sprite无法添加任何动态属性,而MovieClip可以。

其中在“类”的位置,MovieClip 注明为 public dynamic class MovieClip
Sprite和MovieClip之间的区别 flash movieclip
Sprite 注明为 public class Sprite

  

爱华网本文地址 » http://www.aihuau.com/a/25101015/245954.html

更多阅读

红米1S电信版和移动版和联通版的区别 红米1s移动版破解联通

红米1S电信版和移动版和联通版的区别——简介 直到今天,发烧级平民手机红米手机各种移动运营商制式总算全部发布起了!这也给不是IT行业的朋友选购带来了纠结,哪一版本适合自己呢?各个版本有什么全部呢?今天小编为你一一解析!希望能给你提

石英表和机械表的区别 精 机械表石英表区别

石英表和机械表的区别 精——简介准备想购买一块手表,但不很清楚石英表和机械表的区别在哪,经过一番购买咨询,也知道了他们之间的一些区别,下面分享给大家,在买手表、钟表等时可以参考一下哦。石英表和机械表的区别 精——方法/步骤石英

纯露和花水的区别 纯露可以当爽肤水用吗

纯露和花水的区别——简介国际上通行的叫法,hydrosol,hydralat,floral water 是一个概念,所以纯露=花水。国内市场混乱,没有统一标准。要看纯露和花水的区别,我们要看到事物的本质,纯露或者花水,是指100%纯天然植物提取的,没有添加化学成分

声明:《Sprite和MovieClip之间的区别 flash movieclip》为网友月光易缠分享!如侵犯到您的合法权益请联系我们删除