快速业务通道

Flash AS教程之五 拖拽动作以及碰撞动作详细讲解

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-10

  四、碰撞命令与拖拽命令的结合使用

  (一)、下面通过简单的例子来学习碰撞命令(我们先来学习如何检测是否碰到对象的矩形区域范围)

  1、新建一个Flash文档,在舞台上绘制一个圆形。选中圆形并按F8将它转换为影片剪辑,起名:圆 。这样就在舞台上创建了一个圆的实例。 如下图:

  2、选中此实例,为它起一个名字,此例起名为:yuan 如图:

  3、选择文字工具,并选择文字类型为“动态文本”,在圆的实例下面拖绘出一个动态文本框。并起一个变量名为:tt  如下图:

  4、选中时间轴的第一桢,按F9打开动作面板,输入以下脚本:

_root.onenterframe = function() {
//这个是在时间轴上的AS编写规则,解释为舞台上每桢都执行下面的脚本(onenterframe)。
??if (_root.yuan.hitTest(_root._xmouse, _root._ymouse, false)) {
??//根据上面命令的讲解,这个语句就是检测碰撞了。如果鼠标碰到舞台上yuan这个实例的矩形区域范围的话,就执行下面的脚本。
??tt = "接触矩形区域范围";//动态文本框就显示出“接触矩形区域范围”
??} else {
??tt = "没有接触到矩形区域范围";//如果鼠标没有碰到舞台上yuan这个实例的矩形区域范围的话,就显示没有接触到矩形区域范围。
??}
}
  第一桢上最后的完整脚本应该是如下图所示:

  5、OK,现在可以按Ctrl+回车去测试你的成果咯。(下载这个例子的源文件
全屏欣赏

  (二)、拖拽碰撞检测

  现在再来一个例子讲解拖拽碰撞检测,想偷懒的话可以通过修改上面例子的代码来学习。

  1、现在稍微修改一下上面的例子,以便让我们学习拖拽碰撞检测,在上面例子的舞台上绘制一个矩形,并把这个矩形转换成电影剪辑,起名为:矩形 。这样就在舞台上又创建了一个矩形的实例,现在为这个矩形实例起一个名为:juxing 。如下图:

  2、选中这个矩形实例,打开动作面板,输入可以拖拽这个实例的脚本。如下:

on (press) {
??this.startDrag(true);
}
on (release) {
??this.stopDrag();
}

  这个脚本就是为了能拖动这个矩形实例。具体解释请参阅第一个拖动对象例子的脚本说明。

  3、现在来修改脚本,选中时间轴的第一桢,按F9打开动作面板,你将会看到上个例子的碰撞检测脚本,把它修改为如下脚本:

_root.onenterframe = function() {
??if (_root.yuan.hitTest(_root.juxing)) {
????tt = "碰到了";
??} else {
????tt = "没有碰到";
??}
}

  这个脚本和上次的碰撞检测脚本类似,只不过不需要再书写X轴和Y轴,也不用写是否碰到矩形区域范围。简单吧 ^_^

  完整脚本应该如下图所示:

  OK,现在又到了测试阶段了,去观看你的成果吧~(下载这个例子的源文件
全屏欣赏

  结束语:相信你如果亲手成功完成了以上的例子(呵呵,比较多),你一定会掌握拖动对象以及碰撞检测的脚本编写。在实际的应用中,它们的用处非常广泛……

关键词:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号