【ActionScript】使用鼠标移动元件与元件相交判断函数hitTest

在《【ActionScript】使用键盘移动元件》(点击打开链接)中介绍了键盘如何与ActionScript2.0交互。本文继续介绍鼠标如何与ActionScript2.0的交互。其实鼠标与ActionScript2.0的交互在《【ActionScript】利用复制影片duplicateMovieClip与鼠标拖动跟随startDrag做出鼠标移动特效》(点击打开链接)已经展示过了,只是这个程序中,鼠标与ActionScript2.0的交互不是主角。

下面写出如下的程序,来说明这个问题:

图中有两个半圆,可以被鼠标任意拖动,它们相交与否在屏幕的左上角给出提示。

一、基本布局

1、首先在Flash中新建一个ActionScript2.0的文档,利用椭圆工具拖出一个椭圆。之后利用选择工具选择椭圆的一半,将其转化为元件。另一半,则用选择工具,单击,选中之后同样如此,转化为元件。

2、之后,利用文本工具,在屏幕的左上角,加入一个动态文本,设置其X:0,Y:0,400×100,字体为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做出鼠标移动特效》(点击打开链接)强制,鼠标移动时,,强制把鼠标归于元件的中心。这里则不是。

只要心中有希望存在,就有幸福存在。

【ActionScript】使用鼠标移动元件与元件相交判断函数hitTest

相关文章:

你感兴趣的文章:

标签云: