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

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

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

Регистрация: Jan 2006
Сообщений: 179
По умолчанию Ссылка на переменную

Скажите как сделать:

есть перменные:
Код AS3:
		private var music:FileFilter = new FileFilter("Music Files (*.mp3)", "*.mp3");
		private var client:FileFilter = new FileFilter("JPEG Files (*.jpg)", "*.jpg");
Далее я получаю из web переменные:
Код AS3:
typeFiles = myFlashVars.type ? myFlashVars.type : any;
В данном случае у меня myFlashVars.type равна 'music'
Скажите как сделать чтобы в переменную передалась не текстовая строка 'music', а переменная music,
то есть поместился FileFilter

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

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Может так?
Код AS3:
typeFiles = this[myFlashVars.type ? myFlashVars.type : "any"];


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

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Терпеть не могу тернарные операции. По простому то никак?
Код AS3:
if(myFlashVars.type == "music")
{
   typeFiles = new FileFilter("Music Files (*.mp3)", "*.mp3");
}
else if(myFlashVars.type == "client")
{
   typeFilesr = new FileFilter("JPEG Files (*.jpg)", "*.jpg");
}

Старый 04.01.2011, 19:29
motoroller вне форума Посмотреть профиль Отправить личное сообщение для motoroller Найти все сообщения от motoroller
  № 4  
Ответить с цитированием
motoroller

Регистрация: Jan 2006
Сообщений: 179
а если таких типов 40?
что тут городить else if

Добавлено через 49 секунд
Цитата:
Сообщение от bav Посмотреть сообщение
Может так?
Код AS3:
typeFiles = this[myFlashVars.type ? myFlashVars.type : "any"];
Ну вот тут я опять троку передам а не значение переменной
а мне надо передать значение переменной

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

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Ну тогда ассоциативный массив создайте:
Код AS3:
var fileTypes:Object = new Object();
fileTypes.music = new FileFilter("Music Files (*.mp3)", "*.mp3");
fileTypes.client = new FileFilter("JPEG Files (*.jpg)", "*.jpg");
fileTypes.rar = new FileFilter("RAR Files (*.rar)", "*.rar");
...
var typeFiles = fileTypes[myFlashVars.type]

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

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Создайте объект вида:
Код AS3:
private var types:Object = {};
types.music = new FileFilter("Music Files (*.mp3)", "*.mp3");
types.client = new FileFilter("JPEG Files (*.jpg)", "*.jpg");
 
// и обращайтесь потом к нему
typeFiles = types[myFlashVars.type ? myFlashVars.type : "any"];
Добавлено через 4 минуты
Цитата:
Ну вот тут я опять троку передам а не значение переменной
Объясните мне, малограмотному, почему? По-моему через this["music"] будет как раз идти обращение к приватной переменной, объявленной выше.

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

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

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


 


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


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