本文面向as初学者和对actionscript有兴趣的朋友。有什么不足之处还请大家指点。
先看一下效果:
http://www.flash8.net/bbs/UploadFile/2005-5/200551917327317.swf
步骤如下:
1;新建一个flash文档,400x300像素,背景色为黑色(#000000);
2;用椭圆工具在场景上画一个30x30像素的正圆,边框线无,填充色为放射状。(可以按 你自己喜欢的颜色)
screen.width-333)this.width=screen.width-333" border=0
3;点击椭圆,按F8把椭圆转换为影片剪辑,取名为ball,如下图:
screen.width-333)this.width=screen.width-333" border=0
4;选中场景上的ball元件,按F9打开动作面板,写入以下代码。如下图:
screen.width-333)this.width=screen.width-333" border=0
on(press){
this.startDrag(); //鼠标点击开始拖动;
}
on(release){
this.stopDrag(); //鼠标左键松开停止拖动;
}
按Ctrl+Enter测试看看。
你试着写这样的代码看看会怎样呢?
on(press){
this.startDrag();
}
只要你发挥你的想像力就可以做出很多很弦的效果。
我在这里只是一个抛砖引玉的作用,最主要的是要多动手,要举一反三。
在上面已经做出来了可拖动的小球,但喜欢动脑子的朋友可能已经看出来了它的局限性。就是这个小球它可以在整个文档里拖动,但有时我们并不需要这样,我们只是要它在一定的范围里拖动,那怎么做呢?下面我们就来探讨一下:
我们先来看一下命令的格式:
startDrag(target,[lock ,left , top , right, bottom])
其中参数:
startDrag是开始拖动的意思
target 是指拖动的影片剪辑的目标路径。
lock 是一个逻辑值,指定可拖动影片剪辑是锁定到鼠标位置中央 (true),还是锁定到用户首次单击该影片剪辑的位置上 (false)。此参数是可选的。
left、top、right、bottom 相对于影片剪辑父级坐标的值,这些值指定该影片剪辑的约束矩形。这些参数也是可选的。
好!明白了命令格式以后我们继续。
就是把代码改变一下就行了!如下图:
screen.width-333)this.width=screen.width-333" border=0
on (press) {
this.startDrag(100,300,300,100); //鼠标点击开始拖动;在这里我只指定它拖动的范围
}
on (release) {
this.stopDrag(); //鼠标左键松开停止拖动;
}
试试看,是不是只能在你只定的范围里拖动呢!