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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.10.2010, 19:07
incvizitor вне форума Посмотреть профиль Отправить личное сообщение для incvizitor Найти все сообщения от incvizitor
  № 1  
Ответить с цитированием
incvizitor
 
Аватар для incvizitor

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
По умолчанию проблема с классом Vector

Никогда не пользовался классом Vector, и вот не могу никак понять как он работает:

Код AS3:
public var objects:Vector.<DisplayObject>;
 
public function DisplayArray(...args) {	
	trace(args);
	objects = new Vector.<DisplayObject>(args);
	trace("#"+objects+"#");
}
Вывод:

Цитата:
[object MovieClip],[object MovieClip],[object MovieClip],[object MovieClip],[object MovieClip],[object MovieClip],[object MovieClip],[object MovieClip]
##
А я ожидал что между ## будет результат первого трейса, или хотябы "Array"...
__________________
ranga

Старый 06.10.2010, 19:11
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Ну так посмотрите какие аргументы принимает конструктор... вам конвертировать нужно в вектор:
Код AS3:
foo = Vector.<T>(array expression);
__________________
Hell is the possibility of sanity

Старый 06.10.2010, 19:18
Bgg вне форума Посмотреть профиль Отправить личное сообщение для Bgg Найти все сообщения от Bgg
  № 3  
Ответить с цитированием
Bgg
 
Аватар для Bgg

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
А по моему в конструктор вектора нельзя кидать элементы.
В отличие от класса Array конструктор Vector.<T>() нельзя использовать для создания предварительно заполненного экземпляра Vector.

upd Да, точно, надо глобальной функцией пользоваться Vector()


Последний раз редактировалось Bgg; 06.10.2010 в 19:39.
Старый 06.10.2010, 19:44
incvizitor вне форума Посмотреть профиль Отправить личное сообщение для incvizitor Найти все сообщения от incvizitor
  № 4  
Ответить с цитированием
incvizitor
 
Аватар для incvizitor

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
wvxvw, спасибо.
__________________
ranga

Старый 06.10.2010, 20:05
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 5  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Цитата:
objects = new Vector.<DisplayObject>(args);
Есть такая ерунда, что ты (на "ты" можно же?) не можешь записывать в вектор наследников T. По сути вектор с типом DisplayObject не имеет смысла, т.к. DisplayObject абстрактен.

Старый 06.10.2010, 20:11
incvizitor вне форума Посмотреть профиль Отправить личное сообщение для incvizitor Найти все сообщения от incvizitor
  № 6  
Ответить с цитированием
incvizitor
 
Аватар для incvizitor

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
На "ты" можно

Ну сейчас работает, хоть я туда MovieClip кидаю. Поэтому твоё утверждение не верно.
__________________
ranga

Старый 06.10.2010, 21:26
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 7  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Хм. Отчетливо в хэлпе помню что нельзя. Полезу проверю, может что-то изменилось.

Добавлено через 1 минуту
Я дуб)
Например, следующий код не компилируется, поскольку базовый тип объекта отличается от базового типа, объявленного для переменной (несмотря на то, что Sprite — подкласс класса DisplayObject):

Код AS3:
 // This code doesn't compile even though Sprite is a DisplayObject subclass
 var v:Vector.<DisplayObject> = new Vector.<Sprite>();
Спасибо большое, буду знать )

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

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

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


 


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


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