如何编写物体碰撞检测的语句?
解决思路
本例的思路为拖拽影片剪辑,然后利用一个条件语句判定是否与另一个影片剪辑接触,并在文本中显示。
具体步骤
我们用一个例子来解释。
1、??运行Flash?MX?2004,文档属性默认。
2、??需要制作两个影片剪辑,第1个为运动物体。这个事例采用了一个运动的蚂蚁的影片剪辑。如图3.3.6所示。
图3.3.6????影片剪辑“蚂蚁运动”
3、绘制一个“井”的影片剪辑。如图3.3.7所示。
图3.3.7????影片剪辑“井”
4、??回到场景1,把影片剪辑“蚂蚁运动”拖放到舞台,并在属性面板中命名为“z”。如图3.3.8所示。
图3.3.8????设置影片剪辑的实例名
5、??把影片剪辑“下水井”拖放到舞台中,在属性面板中命名为“x”。如图3.3.9所示。
图3.3.9???????设置影片剪辑的实例名
6、还要制作一个提示语言,在主场景中利用动态文本建立一个文本框。文本变量为“txt”。如图3.3.10所示
图3.3.10????建立动态文本
7、单击影片剪辑“蚂蚁运动”,打开AS面板,添加如下语句:
onClipEvent?(mouseDown)?{????
?this.startDrag(true);??
}
onClipEvent?(mouseUp)?{??
?stopDrag();???//停止拖动
}?
onClipEvent?(enterFrame)?{??
?if?(this.hitTest(_root.x))?{???
??_root.txt?=?"危险";?
?}?else?{??//否则
??_root.txt?=?"GO";?
?}
}
1、?AS解释如下:
onClipEvent?(mouseDown)?{???//点击鼠标左键时
?this.startDrag(true);?//?开始拖动本影片剪辑
}
onClipEvent?(mouseUp)?{?//释放鼠标左键时
?stopDrag();???//停止拖动
}?
onClipEvent?(enterFrame)?{?//当本影片剪辑被加载时
?if?(this.hitTest(_root.x))?{??//假如本影片剪辑与X碰撞
??_root.txt?=?"危险";?//输出结果为?“危险”
?}?else?{??//否则
??_root.txt?=?"GO";?//输出结果为?“GO”
?}
}
9、保存,测试。请参看源文件“检测物体接触”。
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |