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

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

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

Регистрация: Jul 2009
Сообщений: 46
Question Library

У меня в библиотеке лежит, предположим, 50 мувиков с такими названиями: pictXX.
Т.е. как добавить один мне понятно. просто сказать
var c = new Pict3();

А вот что делать, если я знаю название и нужно сделать по сути тоже самое?
Т.е. есть var s:String = "pict3";
И мне нужно получить мувик с таким названием.

Заранее спасибо!

Старый 02.07.2009, 02:02
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 2  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
Код:
c = getDefinitionByName("engine.AnimatedBacks." + i) as Class;
mc = new c();

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

Регистрация: Dec 2007
Сообщений: 204
iflamberg, если вы учите кого-то, наверно надо учить сразу правильно, вы так не считаете. Переменные не типизированы.
Код AS3:
var c:Class = getDefinitionByName("pict" + i) as Class;
var mc:MovieClip = new c();

Старый 02.07.2009, 02:21
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 4  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
обана. У меня что, где-то в классе нетипизированные переменные...


upd:
а не, определния переменных просто вверх вынесены были.

Старый 02.07.2009, 02:24
konst06 вне форума Посмотреть профиль Отправить личное сообщение для konst06 Найти все сообщения от konst06
  № 5  
Ответить с цитированием
konst06

Регистрация: Jul 2009
Сообщений: 46
Ну, благо типизировать я и сам умею =)
За помощь спасибо!..
Но пока что не удалось ничего... Т.к. говорит, что переменной с таким названием он не нашёл...

Добавлено через 5 минут
Что делать-то?..

Т.е. пробовал
1) писать просто название символа
2) экспортировать его в класс с названием Pict3

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

Регистрация: Jan 2009
Сообщений: 1,651
Если ты класс не разу нигде не используешь, то он его не вкомпиливает в проект. Это как-то решается, кажется нужно указать библиотеку в путях, или что-то в этом роде, я не разобрался. У меня было немного объектов, сделал просто:
Код:
static const animatedLst:Array = [AnimatedBack01,AnimatedBack02,AnimatedBack03,AnimatedBack04,AnimatedBack05,AnimatedBack06,AnimatedBack07];

Старый 02.07.2009, 02:33
konst06 вне форума Посмотреть профиль Отправить личное сообщение для konst06 Найти все сообщения от konst06
  № 7  
Ответить с цитированием
konst06

Регистрация: Jul 2009
Сообщений: 46
Код AS3:
 
//так не работает
var c:сlass = getDefinitionByName("Pr1") as Class;
var mc:MovieClip = new c();
//так работает
var mc:MovieClip = new Pr1();

Старый 02.07.2009, 02:41
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 8  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
должно работать

Старый 02.07.2009, 02:56
konst06 вне форума Посмотреть профиль Отправить личное сообщение для konst06 Найти все сообщения от konst06
  № 9  
Ответить с цитированием
konst06

Регистрация: Jul 2009
Сообщений: 46
Короче, пришлось создать недостигаемый фрейм и туда все покидать =(

Добавлено через 14 минут
Поехали дальше...

Делаю в цикле так:

Код AS3:
 var c:Class = getDefinitionByName("main.presents.Pr" + (presents[i-1]+1)) as Class;	
 var mc:MovieClip = new c();
 addChild(mc);
Почему добавляется только последний?.. И что с этим делать?..

Добавлено через 37 минут
Оказывается, это из-за того, что нет экспорта в 1ый фрейм...
Как с этим бороться?..


Последний раз редактировалось iNils; 02.07.2009 в 13:25.
Старый 02.07.2009, 10:14
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 10  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
MonkDead, ну если Вы учите учить кого-то, то наверно надо учить сразу правильно:
Код AS3:
var c:Class;
try {
    c = getDefinitionByName( "pict" + i ) as Class;
} catch ( e:Error ) {
}
var mc:MovieClip;
if ( c ) {
    mc = new c() as MovieClip;
}
if ( mc ) {
    // do shota
}

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

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

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


 


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


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