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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 27.05.2011, 16:44
Scorp2008 вне форума Посмотреть профиль Отправить личное сообщение для Scorp2008 Найти все сообщения от Scorp2008
  № 1  
Ответить с цитированием
Scorp2008
[+1 13.07.11]
[++1 13.07.11]

Регистрация: Dec 2009
Сообщений: 42
Question Обработка текста для загрузка уровня

Всем привет вобщем у меня имеется некий редактор, но соль в том что в него нельзя подгружать им выдаваемый код, ну вобщем не в этом суть, конкретно нужно вот что:
скажем имеется у меня вот такой текст-код:
--
create_box(355, 345, 20, 20, 0, 0);
create_robot(395, 355, 15, 1);
square_tile(435, 305, 3, 3);
--

Нужно чтобы когда я вставляю его в поле и нажимаю кнопку происходило некое действие в соответствии с кодом, например читаем первую строчку create_box(355,345,20,20,0,0); и определяем, и вызываем соответствующую функцию для этого - если create_box то например функцию create_box_da, причем с такими же параметрами как и указано в текстовой строке. Вот собственно вопрос, у кого-нибудь есть мысли как это проще всего реализовать?
Заранее спасибо !11

Старый 27.05.2011, 17:16
DZHETIGAPA вне форума Посмотреть профиль Отправить личное сообщение для DZHETIGAPA Найти все сообщения от DZHETIGAPA
  № 2  
Ответить с цитированием
DZHETIGAPA
[+3 18.04.11]

Регистрация: Dec 2010
Сообщений: 342
отредактируй свой пост и поясни нормально, что ты хочешь получить.

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

Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
обыкновенный разбор строки нужен

навскидку:

Код AS3:
//ассоциируем идентификаторы функций с их названиями во флеше
private var functions:Object = {
	create_box:create_box_da	//и т.д.
}
 
private function create_box_da(...args):void {} //твоя функция
 
//выполняем ф-цию для каждой строчки текст-кода
private function execute(string:String):void
{
	var func:Function = functions[getFuncNameFromString(string)];
	var args:Array = getArgsFromString(string);
	func.call(this, args);
}
 
private function getFuncNameFromString(string:String):String
{
	var index:int = string.indexOf("(");
	return string.slice(0, index + 1);
}
 
private function getArgsFromString(string:String):Array
{
	var index1:int = string.indexOf("(");
	var index2:int = string.indexOf(")");
	var subString:String = string.slice(index1 + 1, index2);
	return subString.split(",");
}
можно это по-красивее написать, но чтобы было понятно написал подробнее
и сам разбор строки можно сделать другими алгоритмами
__________________
low +

Старый 27.05.2011, 17:46
Scorp2008 вне форума Посмотреть профиль Отправить личное сообщение для Scorp2008 Найти все сообщения от Scorp2008
  № 4  
Ответить с цитированием
Scorp2008
[+1 13.07.11]
[++1 13.07.11]

Регистрация: Dec 2009
Сообщений: 42
DZHETIGAPA, зачем его редактировать? А получить нужно, я же объяснил:
Допустим у меня есть текстовое поле и я туда ввожу фразу "create_box(355, 345, 20, 20, 0, 0);" (т.е. у меня есть текстовое поле с множеством таких фраз) и я хочу чтобы по нажатию кнопку это текстовое поле обрабатывалось, т.е. например определяем первую строчку и видим там create_box - то вызываем функцию create_box_da, с такими же параметрами как и в текстовой строчке.

Добавлено через 1 минуту
Jewelz, спасибо вроде то что надо буду разбираться, если что спрошу если что-то не понятно будет


Последний раз редактировалось Scorp2008; 27.05.2011 в 17:51.
Создать новую тему Ответ Часовой пояс GMT +4, время: 11:46.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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