#82002/7/5 9:02:31
问题已经解决了,并且我看了书之后,做了优化.这是个常见的图像随鼠标的移动变形的
特效,一幅画分成左上,右上,左下,右下四部分,做成四个电影夹子,起实体名为a,b,
c,d,还有一个电影夹子实体名为mouse,设置为可以用鼠标移动,以取得它的_x,_y值.都放在场景中,然后设置了四个夹子的属性如下边所示,据说是MX的新语法.
以前我用下载的那个实例的程序直接试,但出了问题,因为那个是400*400的
我想了一段时间,看了看书,解决了.
with(_root.a){
_x=_root.mouse._x/2;
_y=_root.mouse._y/2;
_xscale=_root.mouse._x/4;
_yscale=_root.mouse._y/3;
}
with(_root.b){
_x=(_root.mouse._x)+(800-(_root.mouse._x))/2;
_y=_root.mouse._y/2;
_xscale=(800-(_root.mouse._x))/4;
_yscale=_root.mouse._y/3;
}
with(_root.c){
_x=_root.mouse._x/2;
_y=_root.mouse._y+(600-(_root.mouse._y))/2;
_xscale=_root.mouse._x/4;
_yscale=(600-_root.mouse._y)/3;
}
with(_root.d){
_x=(_root.mouse._x)+(800-(_root.mouse._x))/2;
_y=_root.mouse._y+(600-(_root.mouse._y))/2;
_xscale=(800-(_root.mouse._x))/4;
_yscale=(600-_root.mouse._y)/3;
}
我现在明白为什么要把这个电影夹子的X轴数除以4,Y轴数除以3了,因为它是800*600
当鼠标拖的那个电影夹子的坐标在正中间时,以实体a为例,
with(_root.a){
_x=_root.mouse._x/2;
_y=_root.mouse._y/2;
//这个数不用改
_xscale=_root.mouse._x/4;
//_root.mouse._x为400,让它除以4,正好是不缩放,如果除以2,图就大了一倍,就会出问题
_yscale=_root.mouse._y/3;}
同理,这个应除以3,我先前说的有图像重合,就是因为我除以2造成的.
其它三个也做了相应的调整.谢谢大家的关心.
源程序,
我把它上传在http://nbartfree.myetang.com/qls/scls.zip中,可是现在下不了了,刚才还可以下呀,不知道怎么回事,别用直接点的方法,用复制粘贴的方法试试吧.
编辑历史:[这消息被糕编辑过(编辑时间2002-07-05 09:06:10)]