|
主题: 做个图像变形,可是有问题
|
 糕
职务:普通成员
等级:2
金币:15.0
发贴:329
|
#12002/7/3 22:01:53
是个800*600的,可是中间老是有一部分重复在一起,合的不好,代码如下, setProperty("/a", _x, /mouse:_x/2); setProperty("/a", _xscale, /mouse:_x/4); //很奇怪,这里除以2,得到的结果不对,必须除以4才行,不知道怎么回事 setProperty("/a", _y, /mouse:_y/2); setProperty("/a", _yscale, /mouse:_y/2); setProperty("/b", _x, 800-(800-(/mouse:_x))/2); setProperty("/b", _xscale, (800-(/mouse:_x))/4); setProperty("/b", _y, /mouse:_y/2); setProperty("/b", _yscale, /mouse:_y/2); // 下面的两张图 setProperty("/c", _x, /mouse:_x/2); setProperty("/c", _xscale, /mouse:_x/4); setProperty("/c", _y, (600-/mouse:_y)/2+/mouse:_y); setProperty("/c", _yscale, (600-/mouse:_y)/2); setProperty("/d", _x, 800-(800-(/mouse:_x))/2); setProperty("/d", _xscale, (800-(/mouse:_x))/4); setProperty("/d", _y, (600-/mouse:_y)/2+/mouse:_y); setProperty("/d", _yscale, (600-/mouse:_y)/2);
|
 奔腾的心
职务:普通成员
等级:7
金币:10.0
发贴:6114
|
#22002/7/3 23:18:04
swf 贴出来,看看好了
|
 糕
职务:普通成员
等级:2
金币:15.0
发贴:329
|
|
 5D限制级
职务:普通成员
等级:6
金币:10.0
发贴:4970
|
#42002/7/4 9:37:58
The reference to a non-html file from other host is forbidden.
你的空间不支持SWF DOWN
我打开来什么也看不见 你文件传的有效吗?
|
 5D荣誉斑竹
职务:普通成员
等级:2
金币:10.0
发贴:585
|
#52002/7/4 11:55:13
我想问一句,你从哪儿找来的这个程序?
|
 apple6
职务:普通成员
等级:1
金币:0.0
发贴:55
|
#62002/7/4 14:08:41
没有没有,根本什么也看不见嘛!
|
 糕
职务:普通成员
等级:2
金币:15.0
发贴:329
|
#72002/7/4 15:25:16
不好意思,可是我早上明明可以看到呀,这个是我从帝国下的一个源程序,我在学习的过程中,做了一些修改.以前的是400*400的,现在做成了800*600.X轴的变形没有问题,Y轴就不行,中间有一些图像是重复的.不能完整构成一幅画.
|
 糕
职务:普通成员
等级:2
金币:15.0
发贴:329
|
#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)]
|