回答有关旋转的问题,影片剪辑围绕其注册点旋转,而不是围绕其视觉中心旋转。因此,当您创建剪辑时,请确保符号编辑屏幕上的十字线出现在中心。十字准线是注册点,它基本上定义了剪辑上x:0,y:0的位置。
这听起来像是你的问题真的是关于如何使用hitTest来查看青蛙是否碰到过任何一辆汽车,而不管哪一辆,舞台上有多少人等。所以我要做的是创建一个类对于带有一个静态成员的汽车,它可以是指向青蛙的指针,然后让班级检查它是否击中青蛙。
于是开始了:
public class Car extends MovieClip{
public static var frog:MovieClip;
private var interval;
public function Car(){
super();
interval = setInterval(checkHit,500);
}
private function checkHit(){
if(this.hitTest(frog)){
trace("the frog hit the car");
clearInterval(interval);
//do what you need to do when the frog gets hit
}
}
}
对于每个单独的车,可以延长汽车类:
class Truck extends Car{
public function Truck(){
super();
}
}
class Volkswagen extends Car{
public function Volkswagen(){
super();
}
}
class Bus extends Car{
public function Bus(){
super();
}
}
创建单独的类之后,使用链接上你的库符号每辆车。 (右键单击符号,选择“链接”,然后在“类”字段中键入您的类名称)。
最后,青蛙成员设置为你的青蛙在舞台上
var frog:MovieClip = attachMovie("frog_mc", frogMC, _root.getNextHighestDepth())
Car.frog = frog; //set the static var "frog" to your frog instance
现在你的车都应该检查自己的,无论他们打的青蛙。
的另一种选择是代码中的每个不同的汽车的movieclip的第一帧上checkHit()函数,而不是使用类为每个:
this.onEnterFrame = function(){
if(this.hitTest(_root.frog)){
trace("the frog hit the car");
//do what you need to do when the frog gets hit
delete this.onEnterFrame;
}
}
感谢。排队人员已经表示,只有背景可以在舞台上,这意味着所有的汽车都在图书馆。 – KdgDev 2009-05-04 14:36:22