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

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

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
-De-, ну это же Список, он конечно сложнее устроен и требует больше времени на обработку. Но если для локализации такой вариант фактически единственный удобный, то для стилизации он совсем не является обязательным. Поясню. В стилях нет места "вариантам", разным значениям одного свойства. Там не предполагается иного выбора, кроме выбора самого Стиля. Не представляю ситуаций, когда предлагалось бы два цвета текста для одного лейбла. Два цвета может быть для разных состояний, но эти состояния заранее известны и не требуют наименования из переменной, как набор неизвестных заранее языков в твоем примере. Поэтому состояния могут быть записаны именами тегов, то есть не <buttonstate name="up" />, а <up_state />. В случае с языками да, такой вариант не прокатит, невозможно называть теги <en />, <ru />, так как приложение в таком случае должно точно знать имена тегов, а значит, добавить языки будет невозможно. Можно вернуться к старому доброму перебору вложенных узлов, спрашивая имена тегов-языков, но гораздо удобней всетаки держать имя в строковой переменной, хотя бы потому что оно может быть сложным и состоять не из одного слова)). Можно и нагородить структуру типа
Код:
<locals>
	<loc>
		<name>Русский</name>
		<text>Отмена</text>
	</loc>
	<loc>
		<name>English</name>
		<text>Cancel</text>
	</loc>
</locals>
Но это только передвинет проблему вверх, Список все равно остался списком, хоть теперь и без атрибутов))

Добавлено через 10 минут
То есть при локализации не только значение, но и Имя нового объекта задаются из переменной, то есть заранее программе не известны. В случае со стилизацией объекты с неизвестным именем не имеют никакого смысла – компоненту нужны только его свойства, которые он знает, как обработать в представлении.
__________________
Reality.getBounds(this);

Старый 07.05.2012, 01:52
Ne_mesis вне форума Посмотреть профиль Отправить личное сообщение для Ne_mesis Найти все сообщения от Ne_mesis
  № 12  
Ответить с цитированием
Ne_mesis
 
Аватар для Ne_mesis

Регистрация: Jul 2011
Адрес: SPb
Сообщений: 34
Друзья, вопрос по парсингу внешнего xml.
Использую parseInt, parseFloat или для String просто
Код AS3:
var _Name: String = String(objectNode.@Name);
Вопрос - как парсить Point и Boolean, и возможно даже MovieClip?

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Про "тормоза":
  1. Их нет
  2. Они есть, но не там, где вы их ищите.
  3. Динамические объекты тормозят больше.
По пунктам. Разница между скоростью работы XML и XMLNode - наносекунды на тысячах операций. Ею можно пренебречь. Почему выбран XMLNode в качестве примера для сравнения? - он тормозит меньше чем Object + Array, последние тормозят больше чем и то и другое.

Что скорее всего происходит: вы пишите код работающий с XML так, что он работает медленно. К сожалению, написать плохой код, работающий с XML гораздо проще, чем хороший, потому что циклы делаются неявно, и там, где вам кажется линейная скорость вы можете легко получить квадратную, кубическую и т.д.

Внимание! Где и как можно действительно сэкономить: если объемы информации такие, что даже при очень оптимальном и выверенном обращении с XML, тем не менее есть заметные лаги - попытаться построить наивную базу данных. Наивные базы данных работают быстрее реляционных!
ОК, наивные, в этом контексте значит - записать всю информацию в массив байт и вычитывать ее от туда по индексу. Это будет особненно хорошо работать, если не нужно конструировать базу в рантайме, а только загрузить. - Например, используя какой-нибудь самый простецкий формат записи, типа пол-байта на длину записи и пол-байта на тип записи, в заголовок вынести все расстояния до записей - и даже если вам нужно будет найти слово в большой советской энциклопедии, это займет наносекунды.
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 07.05.2012 в 02:33.
Старый 07.05.2012, 03:55
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 14  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
wvxvw простите за оффтоп ***? Или просто уже взрослый человек, что так выражаетесь и описываете глубоко , когда 90% читающих не оценят этот набор слов по достоинству?
__________________
Марк Tween


Последний раз редактировалось mooncar; 07.05.2012 в 04:49.
Старый 07.05.2012, 10:03
Ne_mesis вне форума Посмотреть профиль Отправить личное сообщение для Ne_mesis Найти все сообщения от Ne_mesis
  № 15  
Ответить с цитированием
Ne_mesis
 
Аватар для Ne_mesis

Регистрация: Jul 2011
Адрес: SPb
Сообщений: 34
А мне-то кто-нибудь подскажет?)

Старый 07.05.2012, 12:26
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 16  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Цитата:
Вопрос - как парсить Point и Boolean, и возможно даже MovieClip?
Point и MovieClip - это не текст. XML - это текстовые данные.
А Boolean...
Boolean("") даст false, а Boolean("someString") даст true. Ну и в таком случае я бы использовал старые добрые 0 и 1.
__________________
тут я

Старый 07.05.2012, 13:37
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 17  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
С MovieClip есть принципиальная проблема - его можно только декодировать, закодировать - никак т.как нет достпупа к graphics для того, чтобы как-то записать, что там находится.
Для остального - можно придумывать самому, можно использовать готовые решения (второе, как правило, лучше). Например, очень многие флешевые объекты вполне себе хорошо сохраняются в AMF формат, который, в свою очередь, занимает гораздо меньше места чем XML, сохраняет типизациюи ссылки.
__________________
Hell is the possibility of sanity

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

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
Цитата:
Сообщение от Wolsh Посмотреть сообщение
...
В случае с языками да, такой вариант не прокатит, невозможно называть теги <en />, <ru />, так как приложение в таком случае должно точно знать имена тегов, а значит, добавить языки будет невозможно.
...
Совсем недавно создавал многоязычную менюху на основе XML. Теги я называл <en />, <ru />, ... Вот пример:
Код:
<menu>
	<languages>
		<item id="ru", flag="flags/ru.png" />
		<item id="en", flag="flags/en.png" />
		...
	</languages>
	<data>
		...
		<some_tag some_params="some_values">
			<label>
				<ru>НАЗВАНИЕ ПУНКТА МЕНЮ</ru>
				<en>LABEL OF MENU ITEM</en>
			</label>
		</some_tag>
		...
	</data>
</menu>
Добавлено через 4 минуты
В приложении я получал список языков и загружал флаги-переключатели. Мне не было важно какие языки предусмотрены и сколько их, главное чтобы каждий <label /> содержал нужные переводы

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Хорошо))) А следующее предложение прочитать?
Цитата:
Можно вернуться к старому доброму перебору вложенных узлов, спрашивая имена тегов-языков, но гораздо удобней всетаки держать имя в строковой переменной, хотя бы потому что оно может быть сложным и состоять не из одного слова))
Как насчет американского английского или традиционного китайского? Ах да, кроме флага можно же включить параметр alias для строкового представления в списке и id для поиска тегов по имени)) Можно сделать по-разному. Только смысл поста был о другом. О том что стили так делать невыгодно. Вообще-то, сейчас я думаю что и локализацию лучше делать в отдельных языковых файлах, разве что фигурантов локализации 1-10, тогда неважно.
__________________
Reality.getBounds(this);

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

Регистрация: Jul 2011
Адрес: SPb
Сообщений: 34
По поводу моего вопроса:
"как парсить Point и Boolean", parameter= ' ' в xml даёт true (для Boolean), так что вариант КорДума не подходит. Подсказали такое решение задачи
Код AS3:
parameter= (objectNode.@parameter.toLowerCase() == 'true')
Всё, что несоответствует 'true' читается как false

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

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

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


 


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


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