![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jan 2012
Сообщений: 10
|
Здравствуйте! Есть 2 файла - класса .as. И 1 скрепляющий .fla.
Собственно, вопрос: как прописать в коде 1 из классов обращение к экземпляру второго класса (данный экземпляр находится на stage файла .fla)? Название "hero" он не понимает (оно и понятно ). Раньше вместо hero вычислял положение мыши (ведь, по сути, тоже объект на сцене), у неё есть зарезервированное имя, а вот к другому объекту как... |
|
|||||
|
Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
|
__________________
low + |
|
|||||
|
Регистрация: Jan 2012
Сообщений: 10
|
Сделал так, как вы предложили:
var mDx = stage.getChildByName("hero").x - this.x; var mDy = stage.getChildByName("hero").y - this.y; TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". at characters::turret/movement() at characters/game() Идентичность названия сверил. |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 150
|
Значит его там и нет. Вообще он врятли лежит на stage. getChildByName вызывать нужно не у stage, а у того класса куда добавляются "2 файла - класса .as" (скорее всего это и есть класс 1).
|
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Если класс 1 является документ классом, то да, объект добавляется в экземпляр этого класса, а не на сцену
|
|
|||||
|
Регистрация: Jan 2012
Сообщений: 10
|
Stitch512, так в том-то и дело, что я добавляю два классовых файла не к третьему классу, а на сцену файла .fla.
Следовательно, не получается создать код типа: Ведь я пишу это не в классе ![]() goodguy, не совсем понял, что такое документ-класс. |
|
|||||
|
Класс 1
public class Class1 { public var class2Obj:Class2; public function Class1(obj:Class2){ class2Obj = obj. //теперь через переменную class2Obj мы можем обращаться к экземпляру второго класса } }
__________________
Я мало чего умею, но зато хорошо умею учиться... |
|
|||||
|
Регистрация: Jan 2012
Сообщений: 10
|
HardCoder, классный способ! Мне все ясно, но у меня уже голова идет кругом...
В fla записал следующие строки: В результате выдает ошибку: 1136: Incorrect number of arguments. Expected 0. Почему 0 ожидалось, если в конструкторе прописал 1 аргумент??? public class turret extends Sprite { public var target_:robot; internal var armour, health, energy, rotationSpeed:uint; internal var energyRegen:Number; public function turret(obj:robot) { target_ = obj; armour = 500; health = 250; energy = 40; energyRegen = 0,1; rotationSpeed = 2; } 1203: No default constructor found in base class characters:turret. Последний раз редактировалось Stalin45; 12.01.2012 в 23:50. |
|
|||||
|
Регистрация: Jan 2012
Сообщений: 10
|
2 файла as находятся в папке characters и, соответственно, в таком пакете.
Fla лежит в 1 директории с папкой characters. |
![]() |
![]() |
Часовой пояс GMT +4, время: 10:01. |
|
|
« Предыдущая тема | Следующая тема » |
|
|