数码资讯
Flash作为HitTest函数入门教程的碰撞检测
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
点评:HitTest函数是用来判断两个对象或对象重叠或相交。如果我们相交或重叠,我们应该执行相应动作,这为我们做一些交互动画和游戏是非常有用的。例如,当你做一些动画,如鞭炮,射击,等等,你可以使用HitTest方法
HitTest函数是用来判断两个对象或对象重叠或相交。如果我们重叠或重叠,我们应该执行相应动作,这为我们做一些交互动画和游戏是非常有用的。例如,当你做一些动画,如鞭炮,射击,等等,你可以使用HitTest方法。
U3000 U3000
HitTest用法
1、my_mc.hittest(X,Y,真的{假})
电影剪辑my_mc和指定x的点击区域,Y重叠或交叉,然后执行(括号内)命令参数真正指的是my_mc整个形状;假是指my_mc包括边境。
2、my_mc.hittest(目标)
电影剪辑my_mc重叠或重叠的目标指定的目标路径。目标参数通常表示实例的名称与路径。
示例应用程序
例1鼠标控制影片剪辑的移动。当鼠标在(坐标_xmouse,_ymouse)电影剪辑qiu_mc(重叠或交叉,qiu_mc)的qiu_mc移动10像素的权利。打开3.4.1.fla文件。
场景第一帧上的脚本是:
复制代码代码如下所示:
qiu_mc.onenterframe =函数(){ / / qiu_mc执行onEnterFrame事件处理函数;
如果(this.hittest(_xmouse,_ymouse,假)){
/ /如果鼠标和qiu_mc交叉或重叠的坐标(鼠标qiu_mc)
这个_x + = 10; / / qiu_mc横坐标增加10像素;
}
如果(这。_x > = 500){ / / qiu_mc横坐标是大于或等于500像素
这个_x = 0; / /复位qiu_mc横坐标是0;
}
};
U3000 U3000
注意,碰撞函数中的参数变为真,观察不同的效果,加深对MC的形状和框架的理解。
例2打开3.4.2fla文件
在这种情况下,6个图形,如圆,都被拖到相应的文本。6的数字是6 tx1_mc ~ ~ tx6_mc分别;相应的文本是一个动态文本,命名为1 ~ wz6。MC每一个拖动位置如果错了可以自动返回到原来的位置,当6个MC可以正确的拖动相应的位置时,主轴从第一帧跳到第二帧,并给出文本。
显然,只要我们把正确的脚本写在一个MC上,其他5个MC就可以很容易地写下来。
在主时间轴的第一帧上编写的脚本:
复制代码代码如下所示:
停止();
i = 0;计算变量集
圈上的脚本(tx1_mc)是:
在(新闻){ / /鼠标
x = _x; / /分配给变量x的MC MC坐标,Y
Y = _y;
StartDrag(这个,真的); / /拖MC
}
在(释放){释放鼠标
StopDrag(MC); / /停止拖动
如果(this.hittest(_root。1)){ / /如果MC和1动态文本重叠或相交;
如果(k)!= 1)如果MC变量k不是1
_root。我+ +; / /添加时间轴上我的1个主要变量;
k=1;
在MC中设置变量k=1(MC拖动是正确的,计算主变量i的时间轴只有1次)
}
如果(_root。我= = 6){ / /如果时间轴计数变量i等于6(图形是正确的阻力。)
(_root。下一帧); / /主时间轴跳转到1帧停止;
}
} { / /如果其他MC和1动态文本不重叠或相交
_x = x; / /这个MC数值坐标设置为前面的得到这个MC的坐标
_y = Y;
}
}
我们可以检测代码的正确性,然后我们可以对其他5个MC代码复制,只有改变1到相应~ wz6 WZ2。
U3000 U3000
由于六MC上的代码非常接近,所以我们应该用一个函数来处理它。六MC上的代码与拖动的MC不同,检测到文本,因此自定义函数应该有两个参数。
例3打开3.4.3fla文件。在主时间轴的第一个框架上添加以下代码:
复制代码代码如下所示:
停止();
我= 0;
功能stlx(MD,MC){ / / MD拖MC,MC检测文本
StopDrag();
如果(md.hittest(MC)){
如果(md.k!= 1){ / / K变是MD,在这里md.k
在主时间轴中写入自定义函数,因此主时间轴变量不能写入路径。
md.k = 1;
}
如果(i = 6){
NextFrame();
}
其他{ }
md._x = md.x;
md._y = md.y;
}
}
MC的代码可以大大简化。
在一个圆的代码(tx1_mc)可以写为:
复制代码代码如下所示:
在(按下){
x = _x;
Y = _y;
StartDrag(这是真的);
}
关于(释放){
_root.stlx(这_root。1);
/ / MC调函数写的剧本,所以stlx(1)应该被添加到路径。
}
在tx1_mc到其他5个MC代码复制,只是改变了1到WZ2 ~ ~ wz6。
为了重复练习,在第二个框架的主时间轴上添加一个按钮,在加号按钮上:
关于(释放){
(prevframe); / /回到第一帧
}
作业
使用事件处理函数在源代码2中转换源文件,需要:
1,脚本写在主时间轴的第一个框架上,并且所有脚本都不写脚本。
2、注重伦的使用,onrelease处理函数和循环语句。
U3000
HitTest函数是用来判断两个对象或对象重叠或相交。如果我们重叠或重叠,我们应该执行相应动作,这为我们做一些交互动画和游戏是非常有用的。例如,当你做一些动画,如鞭炮,射击,等等,你可以使用HitTest方法。
U3000 U3000
HitTest用法
1、my_mc.hittest(X,Y,真的{假})
电影剪辑my_mc和指定x的点击区域,Y重叠或交叉,然后执行(括号内)命令参数真正指的是my_mc整个形状;假是指my_mc包括边境。
2、my_mc.hittest(目标)
电影剪辑my_mc重叠或重叠的目标指定的目标路径。目标参数通常表示实例的名称与路径。
示例应用程序
例1鼠标控制影片剪辑的移动。当鼠标在(坐标_xmouse,_ymouse)电影剪辑qiu_mc(重叠或交叉,qiu_mc)的qiu_mc移动10像素的权利。打开3.4.1.fla文件。
场景第一帧上的脚本是:
复制代码代码如下所示:
qiu_mc.onenterframe =函数(){ / / qiu_mc执行onEnterFrame事件处理函数;
如果(this.hittest(_xmouse,_ymouse,假)){
/ /如果鼠标和qiu_mc交叉或重叠的坐标(鼠标qiu_mc)
这个_x + = 10; / / qiu_mc横坐标增加10像素;
}
如果(这。_x > = 500){ / / qiu_mc横坐标是大于或等于500像素
这个_x = 0; / /复位qiu_mc横坐标是0;
}
};
U3000 U3000
注意,碰撞函数中的参数变为真,观察不同的效果,加深对MC的形状和框架的理解。
例2打开3.4.2fla文件
在这种情况下,6个图形,如圆,都被拖到相应的文本。6的数字是6 tx1_mc ~ ~ tx6_mc分别;相应的文本是一个动态文本,命名为1 ~ wz6。MC每一个拖动位置如果错了可以自动返回到原来的位置,当6个MC可以正确的拖动相应的位置时,主轴从第一帧跳到第二帧,并给出文本。
显然,只要我们把正确的脚本写在一个MC上,其他5个MC就可以很容易地写下来。
在主时间轴的第一帧上编写的脚本:
复制代码代码如下所示:
停止();
i = 0;计算变量集
圈上的脚本(tx1_mc)是:
在(新闻){ / /鼠标
x = _x; / /分配给变量x的MC MC坐标,Y
Y = _y;
StartDrag(这个,真的); / /拖MC
}
在(释放){释放鼠标
StopDrag(MC); / /停止拖动
如果(this.hittest(_root。1)){ / /如果MC和1动态文本重叠或相交;
如果(k)!= 1)如果MC变量k不是1
_root。我+ +; / /添加时间轴上我的1个主要变量;
k=1;
在MC中设置变量k=1(MC拖动是正确的,计算主变量i的时间轴只有1次)
}
如果(_root。我= = 6){ / /如果时间轴计数变量i等于6(图形是正确的阻力。)
(_root。下一帧); / /主时间轴跳转到1帧停止;
}
} { / /如果其他MC和1动态文本不重叠或相交
_x = x; / /这个MC数值坐标设置为前面的得到这个MC的坐标
_y = Y;
}
}
我们可以检测代码的正确性,然后我们可以对其他5个MC代码复制,只有改变1到相应~ wz6 WZ2。
U3000 U3000
由于六MC上的代码非常接近,所以我们应该用一个函数来处理它。六MC上的代码与拖动的MC不同,检测到文本,因此自定义函数应该有两个参数。
例3打开3.4.3fla文件。在主时间轴的第一个框架上添加以下代码:
复制代码代码如下所示:
停止();
我= 0;
功能stlx(MD,MC){ / / MD拖MC,MC检测文本
StopDrag();
如果(md.hittest(MC)){
如果(md.k!= 1){ / / K变是MD,在这里md.k
在主时间轴中写入自定义函数,因此主时间轴变量不能写入路径。
md.k = 1;
}
如果(i = 6){
NextFrame();
}
其他{ }
md._x = md.x;
md._y = md.y;
}
}
MC的代码可以大大简化。
在一个圆的代码(tx1_mc)可以写为:
复制代码代码如下所示:
在(按下){
x = _x;
Y = _y;
StartDrag(这是真的);
}
关于(释放){
_root.stlx(这_root。1);
/ / MC调函数写的剧本,所以stlx(1)应该被添加到路径。
}
在tx1_mc到其他5个MC代码复制,只是改变了1到WZ2 ~ ~ wz6。
为了重复练习,在第二个框架的主时间轴上添加一个按钮,在加号按钮上:
关于(释放){
(prevframe); / /回到第一帧
}
作业
使用事件处理函数在源代码2中转换源文件,需要:
1,脚本写在主时间轴的第一个框架上,并且所有脚本都不写脚本。
2、注重伦的使用,onrelease处理函数和循环语句。
U3000
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。