Чистейший подход должен был бы сделать базовый класс. Вы можете сделать PlayerArmBase.as
файл рядом с вашим файлом .fla, и он выглядит примерно так:
package {
import flash.display.MovieClip;
import flash.events.Event;
public class PlayerArmBase extends MovieClip {
public function PlayerArmBase(){
//don't do anything until this item has been added to stage/timeline
this.addEventListener(Event.ADDED_TO_STAGE, addedToStage, false,0,true);
}
protected function addedToStage(e:Event):void {
//this is the equivalent of where timeline code runs
//put your code here for your arms
//for example:
this.addEventListener(Event.ENTER_FRAME, enterFrame, false, 0, true);
}
protected function enterFrame(e:Event):void {
//do something every frame tick like point to the mouse position
}
}
}
Теперь вы можете сделать и руки продлить этот базовый класс. Чтобы сделать это, щелкните правой кнопкой мыши каждую руку в flash pro и выберите их свойства. Установите флажок «Экспорт для действий» в дополнительных настройках, затем в поле «Базовый класс» введите имя вашего класса.
Теперь весь код в этом классе будет применяться для обеих рук MovieClips.
В качестве альтернативы, вы можете поместить все общий код в базовом классе, а затем сделать еще 2 класса (один для каждой руки) и поставить специальный код в тех и у них расширить базовый класс. Это то же самое, что и на графике выше, за исключением поля базового класса, в поле класса введите LeftArm
.
Таким образом, у вас есть код, специфичный для каждой руки в своем классе, но у всех есть общий код в одном месте. Суперклассы могут получить доступ ко всем функциям и vars, объявленным с помощью общедоступных или защищенных ключевых слов. защищенный, как частный, кроме супер-классов, все равно может получить к нему доступ. private может использоваться только в классе, в котором вы его определили.
Вы хотите, чтобы обе руки имели один и тот же код (без необходимости писать код дважды)? это то, что вы спрашиваете? – BadFeelingAboutThis
Не могли бы вы лучше объяснить свой вопрос? Я не понимаю эту часть: «Как скрепить эти два оружия и сделать их менее утомительными». – ElChiniNet
@BadFeelingAboutThis Да, вот что я имею в виду. – Crook