![]() |
наследование класов
Добрый день.
Создаю два класса: Код AS1/AS2:
Код AS1/AS2:
когда компилирую пишет ошибку: Error: Error #2136: SWF-файл file:///D|/test/MyGame.swf содержит недопустимые данные. at main::MyGame() причём если убрать наследование, то всё работает. подскажите пожалуйста в чём дело:wacko: |
я в этом не валом шарю =) утром спецы проснутся — ответят более точно. но ты вроде как зацикливаешь процесс. при любом вызове конструктора MyButton будет вызван конструктор MyGame, который в свою очередь вызывает новый конструктор MyButton, который и т.д.
|
не путайте наследование и включение. то что майбуттон входит в игру не означает что он наследуется от игры.
вы перепутали child - как ребёнок в списке экранных объектов и child в смысле наследник - это совершенно разные явления. |
ну не совсем...
я хочу создать переменную в MyGame которую будет потом модифицировать MyButton. Я так понимаю самое правильно решение это наследование... Как ещё по другому сделать её видимой для MyButton |
почитайте умных книжек)..
MyButton не обязан быть дитем от MyGame (как сказали выше). для "модификаций" существуют свойства и методы. или я просто не понял мысли, чего , собсно, вы хотите |
может хоть главу в книжке покажете))
ещё раз объясню: есть класс в котором создаётся массив с объектами, в нём находится игровое поле. Далее надо из других классов обращаться к этому массиву для того чтобы модифицировать клетки на поле. В умных книжках написано что подклассам доступны переменные определённые в суперклассах. Как по другому получить к ним доступ я не понимаю... |
Так обращайтесь, при чем здесь наследование.
Да, еще, когда доберетесь до умных книжек - почитайте про разницу между классом и его экземпляром. В AS это совсем не одно и то же. |
"В умных книжках написано что подклассам доступны переменные"
вы не дочитали) доступны свойства, но не их значения ) изменив свойство в экземпляре класса родителя не изменятся значения этих же свойств экземпляров наследников. для ваших целей используйте события |
блин как всё сложно, а может подскажете всё таки как обратиться,
global то нет в AS 3 ) |
Цитата:
Код AS3:
|
| Часовой пояс GMT +4, время: 22:53. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.