通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
资源搜索:
热门搜索:Linux VB C语言 PhotoShop Flash TCP/IP
   首页 | 文章 | 软件 | 动画 | 资源 | 励志 | 骗术 | 论坛 | 邮箱 | 会员中心 | 军事 | 科技 | 博客 | 图片 | 商城 | 最新更新 | 800g资源 | 爱心黑客
您现在的位置: 爱国者黑客 >> 资源 >> 媒体动画 >> Flash >> Action Script >> 文章正文

hitTest的用法
责任编辑:admin   更新日期:2005-8-6
hitTest是用来检测两个物体或目标是否重叠和相交,如果相交或重叠,就执行相应的动作,这对于我们做一些互动的动画和游戏是非常有用。比如在做点蜡烛和放炮的动画时,就可以用hitTest的方法。



今天我想说的是一个用电影剪辑控制电影剪辑运动的例子。
首先我们需要两个电影剪辑,一个是图片(mc),一个是箭头(arrow),做好后,放到场景中。
新建一层,加入动作:
arrow.onEnterFrame=function(){
                     if(this.hitTest(_root._xmouse,_root._ymouse)){
                     _root.mc._x+=5;
            if(_root.mc._x>150){
               _root.mc._x=0;
            }
            }
}
为了界面美观,我给图片层增加了遮照,好,现在可以测试了。
点击开新窗口欣赏该FLASH动画![全屏欣赏]



我们在来做一个点蜡烛的动画,这个动画很简单,也是用到hitTest的用法。
首先我们做两个电影剪辑,一个是蜡烛(mc),一个是火柴(fire)。
然后我们在帧上添加动作:
startDrag("fire",true);
Mouse.hide();
fire.onEnterFrame=function(){
   for(i=1;i<4;i++){
            if(this.hitTest(_root["mc"+i])){
   _root["mc"+i].play();
                  }
            }
}//这里用mc+i是因为我们在场景中共放了3个蜡烛的电影剪辑。
该动画还有一个bug,就是只要火柴和蜡烛相接触,蜡烛就会点燃。

点击开新窗口欣赏该FLASH动画![全屏欣赏]



我现在想到的解决办法是做成一个隐形按钮,在按钮上添加:
on(rollOver){
         play();
}

帧上的动作改为:
startDrag("fire",true);
Mouse.hide();

点击开新窗口欣赏该FLASH动画![全屏欣赏]







然后我们做一个点不着的蜡烛,当然这些程序还不是很完善,只是一般性的能实现这个功能而已。
在场景中放一个蜡烛电影剪辑(mc)和一个火柴电影剪辑(fire);
添加以下动作:
startDrag("fire",true);
Mouse.hide();   
fire.onEnterFrame=function(){
   if(this.hitTest(_root.mc)){
         _root.mc._x=Math.random()*500;
         _root.mc._y=Math.random()*300;
         }
   
点击开新窗口欣赏该FLASH动画![全屏欣赏]
  • 上一篇文章:
  • 下一篇文章:
  • 热门文章
    Olldbg常见问题
    汇编语言的艺术(组合语言的艺术)--观
    汇编语言的艺术(组合语言的艺术)--准
    汇编语言的艺术(组合语言的艺术)--基
    汇编语言的艺术(组合语言的艺术)--基
    汇编语言---程式设计 (4)
    虚拟8086模式
    SYS命令使用说明
    javascript + CSS 实现动态菜单显
    推荐文章
    自制Windows XP SP2自动安装光盘
    SQLServer注入工具改进版 v1.02
    使用photoshop CS进行自然美肤
    Photoshop绘制诺基亚手机
    PHOTOSHOP制作秋日之梦
    PHOTOSHOP鼠绘名模王爱萍
    Photoshop制作晶莹飞溅的水珠
    教你用PHOTOSHOP做放大镜
    鼠绘美女及服装修画全过程