Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0 > Статьи

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 19.01.2009, 02:48
MerlinTwi вне форума Посмотреть профиль Отправить личное сообщение для MerlinTwi Посетить домашнюю страницу MerlinTwi Найти все сообщения от MerlinTwi
  № 11  
Ответить с цитированием
MerlinTwi
 
Аватар для MerlinTwi

Регистрация: 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" координату, то и наследоваться не надо:
Код:
	class MyClass1 {
		public var x:Number;
	}
Если надо еще один класс, который хранит две координаты "x" и "y" можно аналогично создать класс и прописать в нем две координаты, а можно унаследоваться от уже имеющегося:
Код:
	class MyClass2 extends MyClass1 {
		public var y:Number;
	}
Новый класс 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);
В переменную new_BFR вы записываете ссылку на созданный (new) экземпляр класса солдат. Точно так же и в массиве хранятся такие же ссылки, только их там много. Вот этот код будет аналогичен вышеописанному:
Код:
var ar:Array = new Array();
ar[0] = new GameAs3Class_Robots_Soldat();
ar[0].drop(1);

P.S. Все вышеописанное имеет мало отношения к AS3, а больше к основам программирования. Советую вам сначала почитать книги по программированию вообще.
__________________
Создатель: Бойцовский клуб | TimeZero | Sky2Fly
Я возьму сам.

Создать новую тему   Часовой пояс GMT +4, время: 23:35.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:35.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.