当前位置 :主页>知识堂>As2.0编程>列表

手把手教你用AS2动态改变影片注册点

时间:2008-03-19 来源:www.kingda.org  作者:黑羽   点击:
    核心提示:以前我碰到这个问题就是直接打个包装MovieClip就不管了,但是对于要访问影片内部的子影片或者其他属性就麻烦了。因为路径改变了。

  这个问题在QQ群中以及论坛中遇见了好多人在问,所以整理一下,发个贴出来。希望对一些新手有些帮助!以前我碰到这个问题就是直接打个包装MovieClip就不管了,但是对于要访问影片内部的子影片或者其他属性就麻烦了。因为路径改变了。

www.darronschall.com上有一个更好的方法:
通过静态类方法initialize将目标MC加上了几个新属性,_x2,_y2等等新的属性。然后呢,设定新的注册点坐标。
在我们操作_x2,_y2等属性时,实际上是执行了set_x2()等get,set函数,这些函数就执行了一些换算,将我们新设置的值_x2与新设置的注册点位置进行偏移折算,转换成了真正的_x值,这样target_mc就等到了转换之后的_x值,并执行了相应的变化。

以下内容来自http://www.darronschall.com/weblog/archives/000054.cfm
点击此处下载工具类
然后,使用方法如下:

//使用前,先导入类
import com.darronschall.DynamicRegistration;

// Assume there is an instance named square_mc on the stage
//你要操作的MC
var square_mc:MovieClip;

// updated 7/28/05 - add the dynamic registration stuff at runtime to our square movieclip
//使用DynamicRegistration初始化你的目标MC
DynamicRegistration.initialize(square_mc);

// The square_mc has an original registration at 0,0 so
// let's change that to 10, 60 at runtime.
//输入新注册点的坐标
square_mc.setRegistration(10, 60);

// Now whenever we access a property of the square_mc that deals
// with the registration point, use a "2" after the property name... 
// These are the available properties:
//然后要操作这个MovieClip时就用如下的新属性来操作,只不过是在原来的尾部上加一个2
square_mc._x2 = 4;
square_mc._y2 = 7;
square_mc._rotation2 = 40;
square_mc._xscale2 = 140;
square_mc._yscale2 = 80;
// square_mc._xmouse2 is readonly
// square_mc._ymouse2 is readonly

上一篇:没有了     下一篇:Flash的画线和回放功能
版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。
转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。
特别注意:本站所提供的源文件,电子书,第三软件,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。
 评论内容:(最新评论共有 0) 位网友发表了评论不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码: 匿名? 马上注册
 
 
知识堂分类
 
本站所提供的所有素材版权归原作者所有,本站只供网友参考与交流,未经作者同意请勿用于商业用途
服务器带宽提供:零刻数据 本站CDN由海诺互动提供技术支持。 下载带宽支持:重庆万网
京ICP备08051668号