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

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

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

Регистрация: Nov 2003
Адрес: Spb
Сообщений: 33
Отправить сообщение для vave с помощью ICQ
По умолчанию Аттач из библиотеки символа не зная его имени...

Всем привет...
Сломал голову, как сделать следующее?:

например в библиотеке есть символы:
Simvol1, Simvol2, Simvol3, Simvol4, ...

и вот мне скажем нужно рандомно загрузить какой-то из них...
модель:

Код AS3:
var a = new Simvol2
addChild(a);
не прокатит так как я знаю имя символа...
нужно что-то типа этого

Код AS3:
var b = 1
var c = Simvol
var d = "Simvol"+b
var a = new MovieClip
a.name = d
addChild(a);
пример не очень удачен но смысл в том, чтобы добавить клип имя которого заранее не известно и в последствии является просто строкой


кто поможет?


Последний раз редактировалось vave; 02.02.2011 в 07:07.
Старый 02.02.2011, 08:16
Srednas вне форума Посмотреть профиль Отправить личное сообщение для Srednas Найти все сообщения от Srednas
  № 2  
Ответить с цитированием
Srednas

Регистрация: Nov 2010
Сообщений: 430
Может сначала поместить символы в массив, а затем рандомно выбрать? Как вариант.

Старый 02.02.2011, 08:22
vave вне форума Посмотреть профиль Отправить личное сообщение для vave Найти все сообщения от vave
  № 3  
Ответить с цитированием
vave

Регистрация: Nov 2003
Адрес: Spb
Сообщений: 33
Отправить сообщение для vave с помощью ICQ
смысл в том что например имя символа генерится, и скажем символов может быть 100500, и функция генерации например тоже может менятся в ходе скрипта.
Или вот например

у меня есть 10 символов и именами вася1, вася2, вася3... петя8, петя10...
они размещены на временной шкале
в каждом из них код например - загрузить в себя клип из библиотеки имя которого: первая буква имени+цифра, тоесть в вася1 загрузить в1, в вася2 - в2 ,в3... п8, п10... ?

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

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
getDefinition
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 02.02.2011, 08:40
vave вне форума Посмотреть профиль Отправить личное сообщение для vave Найти все сообщения от vave
  № 5  
Ответить с цитированием
vave

Регистрация: Nov 2003
Адрес: Spb
Сообщений: 33
Отправить сообщение для vave с помощью ICQ
спс, но нельзя ли поподробнее...
внятной информации во флешь хэлп не нашел
хотябы синтаксис

как-то так?:

Код AS3:
var NewDefName:MovieClip = getDefinitionByName("ВАСЯ1") as MovieClip;
addChild(NewDefName);
пишет:

1120: Обращение несуществующего свойства InsertToThis.



оригинальный код:


Код AS3:
import flash.display.*;
import flash.utils.getDefinitionByName;
 
var indexOfName = this.name.charAt(3);
var tempVARname = "BoxInside_" + indexOfName;
var NewDefName:MovieClip = getDefinitionByName("tempVARname") as MovieClip;
this.addChild(InsertToThis);


Последний раз редактировалось vave; 02.02.2011 в 08:51.
Старый 02.02.2011, 08:55
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 6  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
1 - у вас нет InsertToThis, чтобы его добавлять на сцену (откуда вы его вообще взяли?)
2 -
Код AS3:
var tempVARname:String = "BoxInside_" + String(indexOfName);
var NewDefName:MovieClip = new (getDefinitionByName(tempVARname) as Class)() as MovieClip;
this.addChild(NewDefName);
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью


Последний раз редактировалось cleptoman; 02.02.2011 в 09:01.
Старый 02.02.2011, 09:00
vave вне форума Посмотреть профиль Отправить личное сообщение для vave Найти все сообщения от vave
  № 7  
Ответить с цитированием
vave

Регистрация: Nov 2003
Адрес: Spb
Сообщений: 33
Отправить сообщение для vave с помощью ICQ
код сам наваял

все поправил но теперь:

ReferenceError: Error #1065: Переменная tempVARname не определена.

при трейсе содержание переменной выдает правильное, почему ругаетсо то?

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

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
я чуть поправил, попробуйте.

п.с. - внимательнее с типизацией )
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 02.02.2011, 09:06
vave вне форума Посмотреть профиль Отправить личное сообщение для vave Найти все сообщения от vave
  № 9  
Ответить с цитированием
vave

Регистрация: Nov 2003
Адрес: Spb
Сообщений: 33
Отправить сообщение для vave с помощью ICQ
а какой тип ставить если не строку? если хочу к строке прибавить литеру
попробовал вставить выражение в гетдифонитион и заработало

Код AS3:
var NewDefName:MovieClip = new (getDefinitionByName("BoxInside_" + indexOfName) as Class)() as MovieClip;
но я не знаю к каком типу отнести выражение!!!!!!!!!!!!

пс. все-равно ОГРОМНОЕ СПАСИБО, весь моск болит - замучался

Добавлено через 6 минут
[8:11:47] Egorov M: клептому привет
[8:11:53] Egorov M: респект и уважуха
[8:11:55] Egorov M:
[8:11:59] Egorov M: клептоману*

от друга


Последний раз редактировалось vave; 02.02.2011 в 09:10.
Старый 02.02.2011, 12:53
ChuwY вне форума Посмотреть профиль Отправить личное сообщение для ChuwY Посетить домашнюю страницу ChuwY Найти все сообщения от ChuwY
  № 10  
Ответить с цитированием
ChuwY
 
Аватар для ChuwY

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
Код AS3:
var boxClassName : String =  "BoxInside_" + indexOfName;
var boxClass        : Class  = getDefinitionByName(boxClassName ) as Class; 
var newBox         : MovieClip = new boxClass() as MovieClip;

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

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

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


 


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


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