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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.11.2009, 13:48
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 1  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
По умолчанию Возможности switch

Интерисует след проблема :
Код AS1/AS2:
switch(_tx.text) {
case "FFF":
someFunc();
break;
/// далее идет вопрос
case "FFF"+n: // где n рандомное число вводимое пользователем. например FFF33
someFunc(n);
Естввенно работать так не будет ибо передает строку. можно ли это сделать как нибудь именно через свитч как в моем примере ?

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

Регистрация: Jan 2009
Сообщений: 1,651
думаю, нет

Старый 24.11.2009, 14:19
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 3  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
разве нельзя текст в поле переконвертировать в число ? и выдать typeof Number ? думал можно. как число в строку к примеру так и наоборот

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

Регистрация: Jan 2009
Сообщений: 1,651
аа, слушай, я вообще вопроса не понял.
мм... и сейчас не понимаю. Не работает конструкция case "FFF"+n: ?
Дык она работает:
Код:
var some:String = "12";

var t:String = "123";

switch (t){
	case some+"3": trace("ok"); break;
}

Старый 24.11.2009, 14:33
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 5  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Видимо, автор хочет при выполнении условия "откусить" с конца хвостик n и передать его аргументом типа Number в вызываемую функцию someFunc(n)?

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

Регистрация: Jan 2009
Сообщений: 1,651
ну можно откусить с помощью String.substring.

Старый 24.11.2009, 15:02
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 7  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Код AS1/AS2:
var str:String = _tx.text.substr(-1, 1); //получаем отрезанный с конца один символ
var n:Number = Number(str); //приводим к Number
 
someFunc(n);
 
function someFunc (num) {
	if (isNaN(num)) {
		trace('введено только три символа или на конце не цифра');
	}
	else {
		switch (num) {
			case 1:
				trace('на конце 1');
			break ;
			case 2:
				trace('на конце 2');
			break ;		
		}		
	}
}

Старый 24.11.2009, 15:35
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 8  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
фак. конечно все это хорошо - но цифры могут быть от 0 до 100 это раз.
код приблиз выглядет так :
Код AS1/AS2:
function SHOW() {
if(_global.h and Key.isDown(Key.ENTER)) {
switch(_tx.text) {
case "FFF"+n:
func(n);
break;
}
}
}
Конструкция должна быть именно такой, а ты вынес функцию и в ней сделал кейсы.

Добавлено через 6 минут
Объясняю смысл работы : Пользователь вводит определенный кодец в текстовое поле = например setSound. Компилятор спрашивает сколько надо вам установить громкость? пользователь вводит число. Функция выполняется соотв этому числу.

Тоесть
Код AS1/AS2:
switch(_tx.text) {
case "setSound":
someField._text = " Установите громкость";
bul = true;
break;
case SOME_FUCK_NUMBER:
if(bul) { 
bul = false;
func(_tx.text)
}
break;
}
function func(n) {
snd.setVolume(n);
};
Ну вот пример чего хочу реализовать. думаю теперь понятно. Нужно именно в такой конструкции свича как у меня

Старый 24.11.2009, 15:42
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 9  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Главное в моем примере - вот это, о чем ты спрашивал:
Код AS1/AS2:
var str:String = _tx.text.substr(-1, 1); //получаем отрезанный с конца один символ
var n:Number = Number(str); //приводим к Number
А где лучше поставить свич - до вызова функции или прямо в ней (я думаю, что лучше прямо в ней) и как понять, сколько откусывать с конца - это уже некий алгоритм, который тебе придумать...

Добавлено через 1 минуту
Оффтоп:
Не путай - компилятор - эта штука, которая работает только при создании SWF.
А при работе swf-ки работает плеер.
И в коде делай отступы внутри логических блоков - желание разбирать твой код исчезает.


Последний раз редактировалось mooncar; 24.11.2009 в 15:46.
Старый 24.11.2009, 15:44
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 10  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
А если посекретничать заодно ) я делаю проект свой, и в нем хочу реализовать кроме как ручную работу проекта - тоесть нажатие мышкой на кнопки и прочее. Еще и кодовую часть. типа консоль. В которой можно устанавливать че хошь, удалить любой клюп например, сделать глобальную громкость и прочее. И еще много фукнций недоступных для ручного)))).

Добавлено через 48 секунд
Ну я думаю ты понял теперь - что я имел ввиду под СЛОВОМ компилятор в данный момент.

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

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

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


 


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


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