flash障碍物效果

来源:百度知道 编辑:UC知道 时间:2024/06/15 12:07:55
想做一个简化版魔塔,但是没搞懂障碍物阻碍移动的原理。
原先我想到的是当hitTest某个面时,则坐标发生变化,但是用这种方法只是针对1个图形的。用这个方法需要设很多元件,很多代码。有一次,我设了4个元件,每一个元件都包括这一帧的所有上面的边,下面的边等。弄好后,发现这4个元件并没有形成我想要的形状(绘制的形状),而是形成四个矩形,使元件形状发生变化,妨碍人物行走。我拿这个问题束手无策了。
大家还有什么制作障碍物的秘方,或解决我这个问题的方法,请告诉我,我满意我给分的。

hitTest检测碰撞,检测到的是两个影片剪辑的范围,即它们所在的矩形.但是hitTest中有一个参数,好像是最后一个,设置后检测的是某一座标点和影片剪辑具体形状的碰撞,而不是影片剪辑矩形区域的碰撞,具体的看下说明,我没怎么用过这个,就了解这么多了.

至于需要检测碰撞的元件多,你可以创建一个总的元件并命名,所有可需要碰撞的元件放在这个元件里,这样就只用一组语句检测碰撞了,当需要控制其中某个碰撞元件时,找好元件路径,相对于总元件内部的座标调整就好了.

没懂得起你的意思
要改变影片剪辑的大小的话
用代码创建就好了

this.createEmptyMovieClip("box_mc", 11); //新建一个名为box_mc深度为11的影片剪辑
//下面开始调整这个影片剪辑的属性
box_mc.beginFill(0x000000, 100); //填充颜色和alpha透明度
box_mc.moveTo(0, 0); //这个影片剪辑的第一个点的位置(起点)
box_mc.lineTo(88, 0); //第二个点的位置
box_mc.lineTo(88, 31); //第三个点的位置
box_mc.lineTo(0, 31); //第四个点的位置
box_mc.lineTo(0, 0); //闭合这个影片剪辑(回到起点)
box_mc.endFill(); //完成影片剪辑绘制
//上面的代码会绘制出一个宽88像素,高31像素的长方形,如果要绘制出不规则的形状,把每个点的坐标改变就可以了.