在《【ActionScript】使用键盘移动元件》(点击打开链接)中介绍了键盘如何与ActionScript2.0交互。本文继续介绍鼠标如何与ActionScript2.0的交互。其实鼠标与ActionScript2.0的交互在《【ActionScript】利用复制影片duplicateMovieClip与鼠标拖动跟随startDrag做出鼠标移动特效》(点击打开链接)已经展示过了,只是这个程序中,鼠标与ActionScript2.0的交互不是主角。
下面写出如下的程序,来说明这个问题:
图中有两个半圆,可以被鼠标任意拖动,它们相交与否在屏幕的左上角给出提示。
一、基本布局
1、首先在Flash中新建一个ActionScript2.0的文档,利用椭圆工具拖出一个椭圆。之后利用选择工具选择椭圆的一半,将其转化为元件。另一半,则用选择工具,单击,选中之后同样如此,转化为元件。
2、之后,利用文本工具,在屏幕的左上角,加入一个动态文本,设置其X:0,Y:0,400x100,字体为40px,消除锯齿为“使用设备字体”,关键是在“选项”一栏,赋予其变量名为"txt"
二、脚本编程
1、对两个半圆分别添加动作,如《【ActionScript】使用键盘移动元件》(点击打开链接)一样,而不是时间轴。
对于左半圆,其脚本如下,hisTest的返回值为true或false,如果两组件相交则true,否则false。
on (press) {//鼠标在此元件左键按下的事件 startDrag("_root.left",false);//开始拖动,拖动时,不强制鼠标在此元件的中心 if (_root.left.hitTest(_root.right))//如果左半圆与右半圆相交与否,在动态文本显示 { _root.txt = "相交"; } else { _root.txt = "不相交"; } } on (release) {//鼠标在此元件左键按下并释放的事件 if (_root.left.hitTest(_root.right)) { _root.txt = "相交"; } else { _root.txt = "不相交"; } stopDrag();//停止拖动 }
2、之后的右半圆的脚本同理,只是变更了对象名而已。
on (press) { startDrag("_root.right",false); if (_root.left.hitTest(_root.right)) { _root.txt = "相交"; } else { _root.txt = "不相交"; } } on (release) { if (_root.left.hitTest(_root.right)) { _root.txt = "相交"; } else { _root.txt = "不相交"; } stopDrag(); }
至此,这个程序写完。同样是鼠标拖动事件。《【ActionScript】利用复制影片duplicateMovieClip与鼠标拖动跟随startDrag做出鼠标移动特效》(点击打开链接)强制,鼠标移动时,强制把鼠标归于元件的中心。这里则不是。
时间: 2024-10-09 01:13:53