当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash新手入门教程:AS2代码制作拖动和碰撞侦测效果

Flash动画制作
Flash鼠标跟随教程:点蜡烛
Flash教程:无AS下雪动画效果
flash绘画教程:绘制矢量人物
flash8教程:绘制中国风荷塘风景
flash8绘画教程:绘制逼真青翠竹林
FLASH翻译教程:绘制逼真奥迪轿车全过程
Flash8 教程:AS打造光影变换动画效果
Flash教程:AS数学课件—推导三角形面积
Flash教程:简单制作图形变换效果
Flash AS教程:用AS3 两招提取标记语言里的内容
Flash教程:教你表达动画人物走路动作的技巧
Flash教程:用AS打造小球自由运动和碰撞检测的动画
Flash初级教程:介绍两种按钮控制小球左右滚动的写法
Flash教程:教你制作弹力球小游戏
Flash新手教程:一个简单的遮照
Flash 8教程: 制作模糊遮罩效果细析
Flash教程:真人秀眼睛转动教程
Flash教程:用填充变形工具创建不间断滚动图片教程
Flash教程:用AS简单打造下雪效果
Flash教程:用AS打造漂亮线条效果

Flash动画制作 中的 Flash新手入门教程:AS2代码制作拖动和碰撞侦测效果


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 253 ::
收藏到网摘: n/a

 

 

效果演示:用鼠标将小狗拖到小车的座位上,小狗就会将车开走

这是一个基础的拖放和碰撞检测的练习,现在我们就来做这个练习。首先新建一个影片剪辑元件,画一只小狗,如图:

 

你也可以就用我后面提供的素材,不过记住,导入后将小狗扣出来,即去掉背影。

然后再新建一个元件,画一个小车,同理如果用我提供的素材,需要将小车扣出,即去掉背影。

 

下面建第三个影片剪辑元件,画一个小狗开车的图。

 

现在回到主场影,按下图绘制舞台:

新建图层,将小狗元件和小车元件从库中拖出,按下图摆放:

小狗元件在属性面板中命名为dog_mc,小车元件命名为car_mc.

新建一图层,在小车的座位处画一无笔触,仍一填充色的图形,形状跟小车座位差不多,实际就是画一图形将小车座位遮住,一会用于检测碰撞,就是说当小狗触碰到这个图形后,小狗就坐进车内,将车开走。画好后中,将图形转换为影片剪辑,在属性面板中将其命名为pz_mc,并将其透明度设为0

 

下面,再新建一图层,在第2帧插入关键帧,从库中将小狗开车的元件拖入,放在上一层中小车相同位置,差不多就行,不一定精确。然后在第80帧插入关键帧,将开车的图片拖到舞台右侧之外

 

在第2帧-第80帧之间建立补间动画。然后在第81帧插入关键帧,将开车图片拖到舞台左侧之外

 

在100帧插入关键帧,将开车图片拖到第2帧的位置

在81帧和100帧间建立补间动画

接下来,我们来写代码,新建一图层,取名为action,打开行为面板。

 
因为本动画要用户来操作才能动,所以我们要让动画停在第1帧,等候用户的操作。所以在第1行输入:
stop();


接下来,就是要让小狗能被拖动,当我们在小狗上面按下鼠标时,小狗将能被拖动。所以接下来的代码是:
dog_mc.onPress = function() { // 当在元件dog_mc上按下鼠标时
dog_mc.startDrag(); //元件dog_mc开始拖动
}
dog_mc.onRelease = function(){ //当在元件dog_mc上放开鼠标时
dog_mc.stopDrag(); //元件dog_mc停止拖动
hit = dog_mc.hitTest(pz_mc);//hitTest是碰撞检测语句,判断两个对象是否碰撞(交叉,重叠)。如果的碰撞则返回true.这一句就是检测小狗dog_mc与我们画在小车座位那里的图形pz_mc是否发生了碰撞,也就起到了判断小狗是否被拉到了座位的作用。
if (hit) {//如果发生了碰撞,即小狗被拖到了座位上。
gotoAndPlay(2);主时间轴从第2帧开始播放,即小狗将车开走。
}
}
附完整代码,要直接复制代码的话,请复制下面的代码:
stop();
dog_mc.onPress = function() {
dog_mc.startDrag();
}
dog_mc.onRelease = function(){
dog_mc.stopDrag();
hit = dog_mc.hitTest(pz_mc);
if (hit) {
gotoAndPlay(2);
}
}