主题:  求教高手!!!

michaelhong

职务:普通成员
等级:1
金币:1.0
发贴:172
#12002/11/17 22:16:16
一段电影剪辑,设定了它是从左向右移动,现在要加入一段Action,使它在鼠标停在电影剪辑上面时停止从左向右移动,并且改为随鼠标移动;当鼠标离开电影剪辑后,电影剪辑继续从左向右移动,请问Action该怎么写?



michaelhong

职务:普通成员
等级:1
金币:1.0
发贴:172
#22002/11/18 1:20:12
高手能告诉我吗?



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#32002/11/18 10:38:03
发问前先搜索一下旧帖

www.5dmedia.com/bbs/newsdetail.asp?id=376349



michaelhong

职务:普通成员
等级:1
金币:1.0
发贴:172
#42002/11/18 11:23:32
janlay在上个帖子中说
引用:
发问前先搜索一下旧帖

www.5dmedia.com/bbs/newsdetail.asp?id=376349


我就是想要这个效果,谢谢你janlay。



michaelhong

职务:普通成员
等级:1
金币:1.0
发贴:172
#52002/11/18 14:33:11
janlay在上个帖子中说
引用:
发问前先搜索一下旧帖 :)

www.5dmedia.com/bbs/newsdetail.asp?id=376349

效果作出来了,可是还有两个问题:
1。我的MC1和MC2 播放时有时不连贯,有时却重叠在一起,如果要它连贯并且不重叠该改哪里?
2。代码不是全部都会,janlay您能大概解释一下吗?
第一个问题很重要,请一定指教一下。第二个问题没时间就算了
以下是您的AS

Stage.scaleMode = "noScale";
fscommand ("allowscale", false);
_root.onLoad = function () {
    MovieWidth = 764;
    ActualHeight = 79;
    BlockWidth = 764;
    PicSpacing = 9;
    speed = (this._xmouse - MovieWidth / 2) / 20;
};
_root.onEnterFrame = function () {
    if (_xmouse > 0 && _xmouse < Moviewidth && _ymouse > 0 && _ymouse < ActualHeight) {
        if (speed > 0) {
            speed -= 0.3;
            if (speed < 0) {
                speed = 0;
            }
        } else if (speed < 0) {
            speed += 0.3;
            if (speed > 0) {
                speed = 0;
            }
        }
    } else {
        speed = (this._xmouse - MovieWidth / 2) / 20;
    }
    mc1._x += speed;
    mc2._x += speed;
    for (i = 1; i <= 2; i++) {
        for (j = 1; j <= 9; j++) {
        }
    }
};
mc1.onEnterFrame = function () {
    if (this._x <= BlockWidth / 2) {
        mc2._x = this._x + BlockWidth + PicSpacing;
    }
    if (this._x >= BlockWidth / 2) {
        mc2._x = this._x - BlockWidth - PicSpacing;
    }
};
mc2.onEnterFrame = function () {
    if (this._x <= BlockWidth / 2) {
        mc1._x = this._x + BlockWidth + PicSpacing;
    }
    if (this._x >= BlockWidth / 2) {
        mc1._x = this._x - BlockWidth - PicSpacing;
    }
};

编辑历史:[这消息被michaelhong编辑过(编辑时间2002-11-18 15:20:05)]


janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#62002/11/18 15:51:08
_root.onLoad 这个事件的初始化很重要,你要把变量的值相应地改为你实际中所使用的大小,各变量意义如下:

MovieWidth = 764;
//滚动条宽,这里假设和整个动画宽相同
ActualHeight = 79;
//滚动高度
BlockWidth = 764;
//每个图片块的宽度。这个效果需要两个一模一样的图片块连在一起移动
PicSpacing = 9
//两图片块的间距,你应该可以想像得到,图片块的间距和图片块内部图片的间距是一样的

另外,代码中有一个空的ij嵌套循环,没用,做的时候忘了删除



michaelhong

职务:普通成员
等级:1
金币:1.0
发贴:172
#72002/11/18 17:50:49
janlay在上个帖子中说
引用:


BlockWidth = 764;
//每个图片块的宽度。这个效果需要两个一模一样的图片块连在一起移动
PicSpacing = 9
//两图片块的间距,你应该可以想像得到,图片块的间距和图片块内部图片的间距是一样的

另外,代码中有一个空的ij嵌套循环,没用,做的时候忘了删除


哦,我看了你的注释后知道为什么我那两个MC会连不上或重叠了,因为要求两个MC要相同,可我的两个MC是由不同图片组成的,所以长度也不同。。。 ,哈哈现在改了
另外你说的多余的嵌套是_root.onEnterFrame 那个嵌套吗?



michaelhong

职务:普通成员
等级:1
金币:1.0
发贴:172
#82002/11/18 19:03:28
还有一个问题:动画是一帧的,我把它放到多帧的动画中动不了,我在最后一帧插入关键帧也动不了,现在要加些什么?



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#92002/11/19 10:42:52

for (i = 1; i <= 2; i++) {
for (j = 1; j <= 9; j++) {
}
}
就这段,废的

一般来说,这样的效果是不会单儿做为一个动画的,如果场景中还有其他元素,可以把这个效果所使用的全部内容做进一个mc里面去。然后做少许的改动:把_root换成this(用相对路径);再把前两行设置代码放在主场景的第一帧,基本上就差不多了。



michaelhong

职务:普通成员
等级:1
金币:1.0
发贴:172
#102002/11/19 16:56:33
janlay在上个帖子中说
引用:

for (i = 1; i <= 2; i++) {
for (j = 1; j <= 9; j++) {
}
}
就这段,废的

一般来说,这样的效果是不会单儿做为一个动画的,如果场景中还有其他元素,可以把这个效果所使用的全部内容做进一个mc里面去。然后做少许的改动:把_root换成this(用相对路径);再把前两行设置代码放在主场景的第一帧,基本上就差不多了。


现在好开心哦,经过您的指导,我想做的都已做好了 。谢谢janlay了