flash一元件位置问题

来源:百度知道 编辑:UC知道 时间:2024/05/23 16:32:39
flash在第一帧中规定了mc._x;mc._y(与原来舞台上的不同)。
然后在第二帧插入关键帧。第二帧只写上stop();第一帧没有stop();这时第二帧上mc位置与第一帧规定的相同。但是,如果在mc上写上指令。比如:
on (press) {
_root.gotoAndPlay(3);
}
则mc位置与原来舞台上的相同。(原来舞台上就是.fla舞台上所展示的)
请问真是怎么回事?该怎么处理?
就是我在舞台上摆放的位置(图上是0,0)在指令中写的不是假设;mc._x=100;mc._y=100
用全局函数好像不行
我是这样写的
_global.mc._x=100;
global.mc._y=100;但是不行怎么回事?
非常感谢3l对我的大力支持。
不过这段脚本必须写在主时间轴上,因为影片中有大量的mc,为了方便我建立了由mc组成的数组。如果将指令写在mc上将会非常麻烦。
在提高些分数。

我完全明白您的问题,而且我刚才试过了,问题确实存在。
我的想法是:您第一帧中的规定只是一个局部规定!因为毕竟关键桢复制的是舞台上的位置!而非你的脚本!那您肯定得问:为何不在mc上写命令就没事?
这就涉及较深的flash这个软件的内核,这里简单说下,flash读取作品的顺序是:桢,舞台(包括按钮,mc这些),影片剪辑内的东西。了解此顺序后,再看这个问题,你第二帧只写上stop();表面上使得第一帧中的规定的得到保留,实质上是flash没有继续读取“舞台”部分!!
而后来你在mc上写上指令,使得flash有机会读“舞台”,当然会把mc的位置改到原来位置!!!在说一次:关键桢复制的是舞台上的位置!而非你的脚本!!还有,如果您一定要用这个方式,必须用全局函数_global,我就不细说了。
明白了吧,呵呵。
mc要做按钮效果,还可以用hittest来模拟,就这些
补充说明:看来全局确实有问题,那么,另外有一个方法,
经试验有效,那就是直接在mc上编写脚本:
onClipEvent(enterFrame){
this._x=30;
this._y=30;
}
此方法优势在于,加关键桢时,mc上的这个脚本会一并复制到关键桢上,使设定保留。
还有就是hittest的模拟问题,hittest是碰撞检验的命令
,模拟原理也就是检验鼠标是否与mc碰撞!!格式类似如下
onClipEvent(enterFrame){
if((this.hitTest(_root._xmouse,_root._ymouse))&&(_root.onMouseDown)){
动作
}}
不过我向您道歉,因为太久没玩flash了,说错了,其实mc上可以加on (press),非常不好意思

再次补充:您真的是太好了,问了这么多问题,其实我上百度知道就是想过过答题的瘾,好,既然您又有要求,我稍稍想了下。。。这样,相信您肯定知道“空白mc”的说法。
首先,您提到用数组控制大量mc,其实完全不是必须写在桢上,桢不过作为一个“客观”的,“控制性”的角度,但只能是单桢上的效果,或者跳桢之类。