和健 2008-1-13 22:17
ActionScript之基础教程:可拖动的小球
先看一下效果:<BR>
<OBJECT codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0 height=200 width=300 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000><PARAM NAME="_cx" VALUE="7938"><PARAM NAME="_cy" VALUE="5292"><PARAM NAME="FlashVars" VALUE=""><PARAM NAME="Movie" VALUE="/jiaocheng/UploadFiles_4226/200702/20070211230319573.swf"><PARAM NAME="Src" VALUE="/jiaocheng/UploadFiles_4226/200702/20070211230319573.swf"><PARAM NAME="WMode" VALUE="Window"><PARAM NAME="Play" VALUE="0"><PARAM NAME="Loop" VALUE="-1"><PARAM NAME="Quality" VALUE="High"><PARAM NAME="SAlign" VALUE=""><PARAM NAME="Menu" VALUE="-1"><PARAM NAME="Base" VALUE=""><PARAM NAME="AllowScriptAccess" VALUE=""><PARAM NAME="Scale" VALUE="ShowAll"><PARAM NAME="DeviceFont" VALUE="0"><PARAM NAME="EmbedMovie" VALUE="0"><PARAM NAME="BGColor" VALUE=""><PARAM NAME="SWRemote" VALUE=""><PARAM NAME="MovieData" VALUE=""><PARAM NAME="SeamlessTabbing" VALUE="1"><PARAM NAME="Profile" VALUE="0"><PARAM NAME="ProfileAddress" VALUE=""><PARAM NAME="ProfilePort" VALUE="0"><PARAM NAME="AllowNetworking" VALUE="all"><PARAM NAME="AllowFullScreen" VALUE="false">
<embed src=/jiaocheng/UploadFiles_4226/200702/20070211230319573.swf
pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash'
type='application/x-shockwave-flash' width=300
height=200></embed></OBJECT><BR><BR></FONT>
<P align=center><U></P>
<P><BR></P></U>
<P>步骤如下:</FONT></P>
<P>1;新建一个flash文档,400x300像素,背景色为黑色(#000000);<BR>2;用椭圆工具在场景上画一个30x30像素的正圆,边框线无,填充色为放射状。(可以按 你自己喜欢的颜色)<BR><BR></P>
<P align=center><IMG src="http://www.ckshow.com/jiaocheng/UploadFiles_4226/200702/20070211225322518.jpg" onload="if(this.width>screen.width-333)this.width=screen.width-333" border=0></P>
<P><BR></P></FONT>
<P>3;点击椭圆,按F8把椭圆转换为影片剪辑,取名为ball,如下图:<BR><BR></P>
<P align=center><IMG src="http://www.ckshow.com/jiaocheng/UploadFiles_4226/200702/20070211225338247.jpg" onload="if(this.width>screen.width-333)this.width=screen.width-333" border=0></P>
<P>4;选中场景上的ball元件,按F9打开动作面板,写入以下代码。如下图:</P>
<P align=center><IMG src="http://www.ckshow.com/jiaocheng/UploadFiles_4226/200702/20070211225339137.jpg" onload="if(this.width>screen.width-333)this.width=screen.width-333" border=0></P></FONT>
<P></P>
<P>on(press){ <BR>this.startDrag(); //鼠标点击开始拖动; <BR>} <BR>on(release){ <BR>this.stopDrag(); //鼠标左键松开停止拖动; <BR>} <BR>按Ctrl+Enter测试看看。<BR><BR>你试着写这样的代码看看会怎样呢?<BR></FONT>
<P></P><BR>on(press){ <BR>this.startDrag(); <BR>}
<P>只要你发挥你的想像力就可以做出很多很弦的效果。<BR>我在这里只是一个抛砖引玉的作用,最主要的是要多动手,要举一反三。 </P>
<P>在上面已经做出来了可拖动的小球,但喜欢动脑子的朋友可能已经看出来了它的局限性。就是这个小球它可以在整个文档里拖动,但有时我们并不需要这样,我们只是要它在一定的范围里拖动,那怎么做呢?下面我们就来探讨一下: </P>
<P></P>
<P></P>
<P>我们先来看一下命令的格式:</P>
<P></P>startDrag(target,[lock ,left , top , right, bottom]) <BR>
<P>其中参数:<BR>startDrag是开始拖动的意思<BR>target 是指拖动的影片剪辑的目标路径。<BR>lock 是一个逻辑值,指定可拖动影片剪辑是锁定到鼠标位置中央 (true),还是锁定到用户首次单击该影片剪辑的位置上 (false)。此参数是可选的。<BR>left、top、right、bottom 相对于影片剪辑父级坐标的值,这些值指定该影片剪辑的约束矩形。这些参数也是可选的。</P>
<P>好!明白了命令格式以后我们继续。<BR><BR>就是把代码改变一下就行了!如下图:<BR><BR></P>
<P align=center><IMG src="http://www.ckshow.com/jiaocheng/UploadFiles_4226/200702/20070211225340754.jpg" onload="if(this.width>screen.width-333)this.width=screen.width-333" border=0></P>
<P><BR></P>on (press) { <BR>this.startDrag(100,300,300,100); //鼠标点击开始拖动;在这里我只指定它拖动的范围 <BR>} <BR>on (release) { <BR>this.stopDrag(); //鼠标左键松开停止拖动; <BR>}
<P>试试看,是不是只能在你只定的范围里拖动呢!</P>