![]() |
|
||||||||||
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Переменная не может себя "вести", это Вы ее ведете. Расценивайте это как ИМЯ ЭКЗЕМПЛЯРА, тем более что всеравно никакого "имени экземпляра" не существует (кроме уже упомянутого instance name дисплейных объектов, которого у них не может не быть). Существуют только ссылки на экземпляры, и эти ссылки могут храниться только в переменных. Можете называть их именами. Только если Вы запросите name у дисплейного объекта, он Вам его вернет. А вот созданный через new знать не знает, что Вы ему дали "имя". Вы только можете создать у этого экземпляра свойство name и вбить туда "Вася". Если при этом переменная с ссылкой на этот экземпляр будет называться "Маша", у компилятора ни один мускул не дрогнет. И если Вы напишите в своей программе Вася.height - никогда не узнаете его рост. Только рост Маши. Потомучто и height, и "Вася" - это только свойства Маши))))
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Jun 2007
Адрес: Москва
Сообщений: 86
|
Спасибо за ссылку, но на предыдущий вопрос это не отвечает. Ответьте пожалуйста прямо! Я читал руководства, книжки, ответы и ссылки на этом посте но прямого ответа так и нет. Предлагаю вынести эту тему в FAQ, думаю не мало новичков на этом будут ломать мозг.
|
|
|||||
|
Регистрация: Jun 2007
Адрес: Москва
Сообщений: 86
|
Цитата:
А что тогда это? Тоже ссылка на экземпляр? Тогда чем она отличается от переменной, являющейся ссылкой на экземпляр? Wolsh, Вы об этих принципах где-то узнали. Подскажите источники, где можно об этих основах прочитать. Я хочу понимать это, а не копипастить. У меня 4 книжки по флешу и ни в одной об этом не разъясняется. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Отличается тем, что в первом случае эта переменная может хранить ссылку только на экземпляр класса Date. A Number не может, и String, и MovieClip. И всё, больше ничем. (Только переменной без var невозможно задать тип данных).
__________________
Reality.getBounds(this); Последний раз редактировалось Wolsh; 18.01.2009 в 19:05. |
|
|||||
|
ветеран форума
|
var - обьявление переменной. Переменная может быть типизированной и нетипизированной. В 1ом случае через двоеточие указывается тип переменной (имя класса). Обьявление
аналогично выражению
Цитата:
Ваш 2ой код - присвоение значения необьявленной нетипизированной переменной. AS1 создает в этом случае переменную сам, в этом его мягкость, на мой взгляд, излишняя. AS3 такой конструкции, например, уже не допустит, требуя корректного обьявления переменной.
__________________
4am is time to rock |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Что такое вообще экземпляр класса? Это в любом случае наследник от Object. Это просто набор объединенных данных (свойств), так или иначе поименованных или проиндексированных. Физически это просто компания из нескольких данных в памяти, программно - компания из ссылок на них. И это - любой экземпляр любого класса.
Имя, как Вы его называете, это имя переменной. Но не забывайте, что переменные существуют не сами по себе в космосе, они создаются внутри других объектов как их свойства. Любая переменная - это чье-то свойство, т.е. еще одна ячейка памяти, входящая в некое сообщество. Вы пишете либо явно: mc.id=2 создавая в mc динамическое свойство-переменную id, либо внутри mc (или в теле класса) пишете var id:Number = 2, и это тоже самое, только в первом случае Вы не можете жестко задать тип данных, которые могут быть записаны в ячейку памяти, на которую указывает id. Вариант просто написать id=2 бессмысленно рассматривать, это - АС1, в котором объявления типов не было вообще. То, что многие так пишут и в АС2 - это их дело, причина - в том что постоянно вырывают код из АС1 исходников, так писать просто допустимо, но никем и никогда не рекомендуется. Это тоже, что использовать конструкции вроде onClipEvent и on(press) - можно, но это не АС2.
__________________
Reality.getBounds(this); |
|
|||||
|
Цитата:
Цитата:
|
|
|||||
|
Регистрация: Jun 2007
Адрес: Москва
Сообщений: 86
|
Жень Шень, благодарю, на конкретно той странице про переменные я этого не нашел. Сегодня повторил книжку Гари Розенцвейга "Создание игр с помощью Action Script" с надписью на пол книги Macromedia Flash 8. Во всей книге я не нашел AS2 скрипта! Везде AS1, код в мувиках! Классов нима! Внешней подгрузки тож, все аттачится из бб, и дублируется со сцены! И при этом 8 версия! Редакторы просто написали новое название, дабы не терять денег.
Тема закрыта, я счастлив! ![]() |
|
|||||
|
Привет!
Для SeaQuest. Скачайте ХЭЛП по АС3. Скачайте ХЭЛП по АС2. Это самые лучшии "книжки", если не считать К. Мука. Его читать в первую очередь. И прикрепил из ХЭЛПа раздел операторов. Читать про : ЗЫ Возможно будет немного долго загружаться из-за обильного присутсвия "onclick="javascript:...". Успехов! |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:35. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|