чтобы ответить на ваш вопрос о вращении, видеоклипы вращаются вокруг своей точки регистрации, а не вокруг их визуального центра. Поэтому, когда вы создаете свои клипы, убедитесь, что перекрестие на экране редактирования символов отображается в центре. Перекрестие является точкой регистрации, которая в основном определяет, где 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();
}
}
После создания отдельных классов используйте Linkage на символах вашей библиотеки для каждого автомобиля. (щелкните символ правой кнопкой мыши, выберите «Связывание» и введите имя своего класса в поле «Класс»).
Наконец, установите члена лягушки на вашу лягушку на сцене
var frog:MovieClip = attachMovie("frog_mc", frogMC, _root.getNextHighestDepth())
Car.frog = frog; //set the static var "frog" to your frog instance
И теперь все ваши машины должны сами проверить, не бьют ли они лягушку.
Другим вариантом является кодирование этой функции 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;
}
}