![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: Oct 2003
Адрес: Москва
Сообщений: 328
|
1. В коде все верно. Ошибка "drop is not a function" скорее всего из-за того, что в библиотеке есть мувиклип с Class: GameAs3Class_Robots_Soldat, и создается экземпляр именно этого мувиклипа, который не имеет никакого отношения к написанному вами классу main.GameAs3Class_Robots_Soldat
Укажите в свойствах мувиклипа Class: main.GameAs3Class_Robots_Soldat и все заработает. На будущее, когда ручками пишите имя класса, связанного с мувиклипом, нажимайте на зеленую галочку справа от поля ввода, Flash сообщит вам связанно ли указанное имя с существующим классом, или же будет создан новый. 2. да, это наследование. Лучше, конечно про наследование почитать умные книжки, но я попробую на пальцах ![]() Что писать после extends зависит от того, какие свойства должны быть у вашего класса изначально (от родителя). Если классу не нужно ничего, например, он просто хранит "x" координату, то и наследоваться не надо: Если надо еще один класс, который хранит две координаты "x" и "y" можно аналогично создать класс и прописать в нем две координаты, а можно унаследоваться от уже имеющегося: Новый класс MyClass2 имеет два числа "y" - прописанное в нем, и "x" - полученное от родителя MyClass1. Т.е. по сути класс MyClass2 расширяет функционал класса MyClass1. Когда вы пишете "GameAs3Class_Robots_World extends MovieClip", то создаете свой новый класс, который наследует все свойства мувиклипа: может содержать в себе рисунок, несколько кадров, анимацию и целую кучу других полезных свойств: http://help.adobe.com/ru_RU/AS3LCR/F...MovieClip.html Т.е. как бы говорите: "ок, я беру за основу мувиклип и добавлю туда кое что свое", в вашем случае это функция для перемещения function move() и функция для установки начальных координат function drop 4. all_moving - это массив. В каждой ячейке массива можно хранить что-то. (благодаря заботам разработчиков Flash, массивы нетипиризированные, т.е. за счет некоторого снижения производительности можно в любой ячейке хранить все что угодно!) Вы в этот массив сохраняете ссылки на созданные экзепляры классов GameAs3Class_Robots_Soldat. Вас ведь не смущает код: var new_BFR:GameAs3Class_Robots_Soldat; new_BFR = new GameAs3Class_Robots_Soldat(); new_BFR.drop(1); P.S. Все вышеописанное имеет мало отношения к AS3, а больше к основам программирования. Советую вам сначала почитать книги по программированию вообще. |
![]() |
Часовой пояс GMT +4, время: 23:35. |
|
|
« Предыдущая тема | Следующая тема » |
|
|