主题:  这个效果怎么做?

盛装五步

职务:普通成员
等级:3
金币:12.0
发贴:731
#12002/10/28 18:52:19

Flash 动画

Flash 动画

请问哪位高手能告诉我这两个影片中的按钮效果怎么做?



嘎嘎

职务:普通成员
等级:1
金币:1.0
发贴:287
#22002/10/28 21:31:28
第一个可以把按钮放在一个MC中做旋转!并给按钮做当划过时“STOP”
第二个比较难,鼠标跟随还好说,但不知道按钮之间的粘性如何实现的,要是有源文件参考一下就好了。
有人知道它的Action 么???



Me

职务:普通成员
等级:2
金币:10.0
发贴:320
#32002/10/28 22:16:35
按钮Action
onClipEvent (load) {
    top=10;
    left=10;
    right=390;
    bottom=390;
    xspeed=0;
    yspeed=0;
    oldx=_x;
    oldy=_y;
    drag=.98;
}
onClipEvent (enterFrame) {
    if (!dragging) {
        xspeed*=drag;
        yspeed*=drag;
        _x+=xspeed;
        _y+=yspeed;
        if (_x<=left) {
            _x=left;
            xspeed*=-1;
        }
        if (_x>=right) {
            _x=right;
            xspeed*=-1;
        }
        if (_y<=top) {
            _y=top;
            yspeed*=-1;
        }
        if (_y>=bottom) {
            _y=bottom;
            yspeed*=-1;
        }
        if (this.hitTest (_root.node2, true)) {
            xspeed*=-1;
            yspeed*=-1;
        }
    } else {
        xspeed=_x-oldx;
        yspeed=_y-oldy;
        oldx=_x;
        oldy=_y;
    }
}



嘎嘎

职务:普通成员
等级:1
金币:1.0
发贴:287
#42002/10/28 22:18:46
谢先,我收回去参考一番!



Me

职务:普通成员
等级:2
金币:10.0
发贴:320
#52002/10/28 22:50:35
第二个比较难,鼠标跟随还好说,但不知道按钮之间的粘性如何实现的,要是有源文件参考一下就好了。
有人知道它的Action 么???

上面的action是开始静止时的,粘贴效果非常好,比较喜欢.
下面的Action是上面效果2的真正原码:
按钮AS
on (press) {
    _parent.signal = 0;
    startDrag("", true);
}
on (release, releaseOutside) {
    stopDrag();
    _parent.signal = 1;
}

下面AS的p1,p2和p3分别是三个按钮的实例名
主场景里layer上的AS:
duplicateMovieClip("line", "newLine1", 1);
newLine1._x = p1._x+p1.kp._x;
newLine1._y = p1._y+p1.kp._y;
newLine1._xscale = (p2._x+p2.kp._x)-(p1._x+p1.kp._x);
newLine1._yscale = (p2._y+p2.kp._y)-(p1._y+p1.kp._y);
duplicateMovieClip("line", "newLine2", 2);
newLine2._x = p2._x+p2.kp._x;
newLine2._y = p2._y+p2.kp._y;
newLine2._xscale = (p3._x+p3.kp._x)-(p2._x+p2.kp._x);
newLine2._yscale = (p3._y+p3.kp._y)-(p2._y+p2.kp._y);
duplicateMovieClip("line", "newLine3", 3);
newLine3._x = p3._x+p3.kp._x;
newLine3._y = p3._y+p3.kp._y;
newLine3._xscale = (p4._x+p4.kp._x)-(p3._x+p3.kp._x);
newLine3._yscale = (p4._y+p4.kp._y)-(p3._y+p3.kp._y);



盛装五步

职务:普通成员
等级:3
金币:12.0
发贴:731
#62002/10/29 9:16:19
引用:
ad747在前面说:第一个可以把按钮放在一个MC中做旋转!并给按钮做当划过时“STOP”

可是当前面的按钮停止时,后面的小点和线条仍在旋转,怎么办?

编辑历史:[这消息被ohnancy编辑过(编辑时间2002-10-29 09:18:27)]


嘎嘎

职务:普通成员
等级:1
金币:1.0
发贴:287
#72002/10/29 10:56:08
呵呵,的确是啊。忽略了~~~
试试faithli 的AS吧。



盛装五步

职务:普通成员
等级:3
金币:12.0
发贴:731
#82002/10/29 12:24:40
faithli在上个帖子中说
引用:
第二个比较难,鼠标跟随还好说,但不知道按钮之间的粘性如何实现的,要是有源文件参考一下就好了。
有人知道它的Action 么???

上面的action是开始静止时的,粘贴效果非常好,比较喜欢.
下面的Action是上面效果2的真正原码:
按钮AS
on (press) {
    _parent.signal = 0;
    startDrag("", true);
}
on (release, releaseOutside) {
    stopDrag();
    _parent.signal = 1;
}

下面AS的p1,p2和p3分别是三个按钮的实例名
主场景里layer上的AS:
duplicateMovieClip("line", "newLine1", 1);
newLine1._x = p1._x+p1.kp._x;
newLine1._y = p1._y+p1.kp._y;
newLine1._xscale = (p2._x+p2.kp._x)-(p1._x+p1.kp._x);
newLine1._yscale = (p2._y+p2.kp._y)-(p1._y+p1.kp._y);
duplicateMovieClip("line", "newLine2", 2);
newLine2._x = p2._x+p2.kp._x;
newLine2._y = p2._y+p2.kp._y;
newLine2._xscale = (p3._x+p3.kp._x)-(p2._x+p2.kp._x);
newLine2._yscale = (p3._y+p3.kp._y)-(p2._y+p2.kp._y);
duplicateMovieClip("line", "newLine3", 3);
newLine3._x = p3._x+p3.kp._x;
newLine3._y = p3._y+p3.kp._y;
newLine3._xscale = (p4._x+p4.kp._x)-(p3._x+p3.kp._x);
newLine3._yscale = (p4._y+p4.kp._y)-(p3._y+p3.kp._y);



不好意思,能不能再详细一点?或者做个简单的原码



Me

职务:普通成员
等级:2
金币:10.0
发贴:320
#92002/10/29 21:02:50
to ohnancy
你先看看那一句不懂,我可以解释一下

编辑历史:[这消息被faithli编辑过(编辑时间2002-10-29 21:20:04)]


foe

职务:普通成员
等级:1
金币:0.0
发贴:79
#102002/10/29 21:05:09
用as的画线语句很容易就可以实现的,按钮之间的线条全部可以即时画出来的,用类似这样的语句:
onClipEvent(enterFrame) {
    _root.clear();
    _root.lineStyle(1,0xff000ff);
    _root.moveTo(_root.button1._x,_root.button1._y);
    _root.lineTo(_root.button2._x,_root.button2._y);
_root.lineTo(_root.button3._x,_root.button3._y);
_root.lineTo(_root.button1._x,_root.button1._y);
}
再控制按钮规则运动或者跟随运动就行了



盛装五步

职务:普通成员
等级:3
金币:12.0
发贴:731
#112002/10/30 15:00:45
不好意思,我的AS真的是很菜。
是不是做三个点作为按钮,线条不用做mc吗?全用as画?
你说的按钮as都是放在三个点按钮上的吗(onClipEvent语句也是?)?
那主场景layer上的as中的”line“是什么?
唉,我问得都有点晕了,有劳了!



foe

职务:普通成员
等级:1
金币:0.0
发贴:79
#122002/10/30 15:51:45
是的,线条全用as画,如果是用我上面那段as的话,只需要在主场景中放置三个按钮mc,分别取名为button1,button2,button3,然后新建一个空白mc,把那段as放在上边就行了。
主场景layer上没有as的。
当然,这样的话按钮是不会自己动的,不过那是很容易的了,多试试,呵呵,其实我也是as菜鸟



盛装五步

职务:普通成员
等级:3
金币:12.0
发贴:731
#132002/10/30 16:06:28
to foe:
因为faithli曾在上个帖子中说
引用:
to ohnancy
你先看看那一句不懂,我可以解释一下



我也没仔细看,就把你当成faith了,所以会问主场景layer中as是怎么回事,我会先照你说的去做,谢了!
不过不知道faith兄能不能也再解答一下,问题基本同上一帖



朝朝暮暮

职务:普通成员
等级:5
金币:34.2
发贴:3517
#142002/10/31 14:49:03
foe,这句是什么意思?
_root.lineStyle(1,0xff000ff);


朝朝暮暮永远爱老婆
欢迎大家访问:http://bbs.dameng.com/forumdisplay.php?fid=19,国产数据库。我是版主。希望大家多多支持!

盛装五步

职务:普通成员
等级:3
金币:12.0
发贴:731
#152002/10/31 14:55:36
好消息,我在5D看见两篇相关文章,如下:
FlashMX Action画线方法(上)
FlashMX Action画线方法(中)