В моем основном файле ActionScript у меня есть экземпляр класса тела, который перемещает ноги тела человека и т. Д. И класс оружия, который имеет методы и свойства, связанные с человеческим оружием.Взаимодействие между классами
Прямо сейчас у меня есть функция в классе Main, которая называется движением оружия и выглядит так и называется everyframe, чтобы переместить пистолет в руку bodys. Я надеялся переместить эту функцию в класс оружия, поэтому я мог бы назвать ее gun.moveGun(); но дозировка тела существует внутри переменной пушки. поэтому я задаюсь вопросом, могу ли я назвать body.getArm(); изнутри пистолета. Я знаю, что могу вызвать функцию и передать ей расположение руки bodys из основного файла. Но не знаю, если это лучший способ сделать это.
private function moveGun():void
{
gun.x = body.getArm('left').x;
gun.y = body.getArm('left').y;
}
Похоже, держа пистолет связанных функций внутри класса пушки это лучший способ организовать все, но я не знаю, как это сделать.
Также в зависимости от того, какая кнопка кто-то щелкнет в начале, у человека будет либо корзина с барабаном, либо ружье в руке. Ive добавил swf онлайн по адресу Here, чтобы вы могли видеть, как это работает. я просто хочу изменить, как его организовано, потому что основной файл очень заполнен, и хотя я должен научиться лучше организовывать вещи. Есть много другой части программы, которая будет организована лучше, если бы я знал, как заставить объект взаимодействовать или как лучше всего это сделать. Начиная думать о передаче координат x, y функции moveGun внутри класса gun, это лучший способ. Если так, просто скажите мне, пожалуйста, и больно.
Благодаря Это похоже на путь. Но для моей программы, зависящей от того, какая кнопка пользователь нажимает в начале, у человека будет либо мяч шарикового класса, либо рука, движущаяся по каждому кадру, или пистолет, поэтому, если у меня будет переменная пушки в классе кузова, я не смогу сделать это. Но спасибо за ваш ответ, я никогда не думал об этом раньше и думаю, что будет полезно знать будущее. – user531186 2010-12-05 13:16:00