![]() |
闪客帝国 | 闪客院线 | 闪界资讯 | 爬行榜 | 影院 | 精英 | 加游站 | 学堂 | 闪客五周年 | 有问必答 |
|
帝国版主
@闪客帝国软件资源组™ ☆☆☆ |
#1
前几天看到一个朋友问的问题,联想到,得把这个知识点点一下,虽然是小问题,但还蛮重要的,呵呵.
_x: myMovieClip._x 说明 属性;设置影片 x 坐标的整数,该坐标相对于父级影片剪辑的本地坐标。如果影片剪辑在主时间轴中,则其坐标系统将舞台的左上角作为 (0, 0)。如果影片剪辑位于另一个具有变形的影片剪辑中,则该影片剪辑位于包含它的影片剪辑的本地坐标系统中。因此,对于逆时针旋转 90° 的影片剪辑,该影片剪辑的子级将继承逆时针旋转 90° 的坐标系统。影片剪辑的坐标指的是注册点的位置。 附:这只是MC的例子,但按钮等其他symbol的坐标也同样. _xscale: myMovieClip._xscale 说明 属性;确定从影片剪辑的注册点开始应用的影片剪辑的水平缩放比例 (percentage)。默认注册点为 (0,0)。 local(本地)坐标与 global(全局)坐标的转换: 所用函数: localToGlobal(); globalToLocal(); 帮助上有具体说明的,用到的朋友可以查阅. 看来是一部分人的盲点啦,再补充些细节 1,关于X,Y坐标 假设舞台上有个方形的MC,选中它,MX的属性面板上有W,H,X,Y.等几个值,W,H分别是宽度和高度这都知道了,但X,Y是不是它的X,Y坐标,即_x,_y?注意,不是的,请仔细看看上面的基本概念,属性面板上的X,Y值是MC左上角的坐标!,_x,_y是MC注册点的坐标,默认情况下,Symbol(当然包括MC),注册点是在它的几何中心的.所以,要记牢,X,Y和_x,_y是不同的. 2,关于_xscale和_yscale的补充 我们细读这句从影片剪辑的注册点开始应用,我们编写AS来随着鼠标的点击渐次放大主场景中的MC,显然,是从中心开始向外放大的,在放大的过程中,MC的坐标也就是它的几何中心的坐标不变,但其他各点的坐标都是变化的! 3,本部分对应上面第三部分". 接2,有意思的是如果你在mc1的内部再放一个MC:mc2,用trace()语句输出它的坐标,会发现它的_x,_y值始终不变,我靠.为什么是这样的?明明看到它随着放大而移动的吗?不要急,看这句设置影片 x 坐标的整数,该坐标相对于父级影片剪辑的本地坐标。,因为_x,_y是相对于父级影片来算的,mc1和它里面的mc2同步放大,相对于mc1来说,mc2的坐标是不变的.再用上面附录中的函数localToGlobal();(示例代码: pos=new Object(); pos.x=_root.mc1.mc2._x; pos.y=_root.mc1.mc2._y;//如果在此处trace();得出的mc2的坐标是不变的; localToGlobal(pos); trace(pos.x); trace(pos.y);//此时输出的是经过转换后的mc2的全局(_global)坐标,这个值是随着放大的进行而变动的 水平的提高来自一点一滴的努力,~~~~~ __________________
最后由 星光 编辑: 2003-06-18 02:42 PM. |
|
|
引用 |
|
Registered User
|
#11
3,本部分对应上面第三部分".
接2,有意思的是如果你在mc1的内部再放一个MC:mc2,用trace()语句输出它的坐标,会发现它的_x,_y值始终不变,我靠.为什么是这样的?明明看到它随着放大而移动的吗?不要急,看这句设置影片 x 坐标的整数,该坐标相对于父级影片剪辑的本地坐标。,因为_x,_y是相对于父级影片来算的,mc1和它里面的mc2同步放大,相对于mc1来说,mc2的坐标是不变的.再用上面附录中的函数localToGlobal();(示例代码: pos=new Object(); pos.x=_root.mc1.mc2._x; pos.y=_root.mc1.mc2._y;//如果在此处trace();得出的mc2的坐标是不变的; localToGlobal(pos); trace(pos.x); trace(pos.y);//此时输出的是经过转换后的mc2的全局(_global)坐标,这个值是随着放大的进行而变动的 我这样做了,为什么坐标值未变???看附件 看来我错了,写错位置 __________________ 家住南山下,性本爱青山 最后由 南山铁马 编辑: 2003-12-12 05:39 PM. |
|
|
引用 |