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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 19.10.2014, 15:11
mamtn вне форума Посмотреть профиль Отправить личное сообщение для mamtn Найти все сообщения от mamtn
  № 1  
Ответить с цитированием
mamtn
[+1.3 07.08.10]
[+1.3 19.10.14]

Регистрация: Jul 2009
Адрес: C-Петербург
Сообщений: 37
По умолчанию Формирование уровня игры с помощью XML

Хотим с детьми сделать игру, где уровни будут формироваться из платформ с помощью XML.
Пока не получается. Помогите, кто может!

Код AS3:
//Загрузка одного блока из библиотеки на основе данных файла XML
//Этих блоков должно загрузиться много - из них создается уровень
// переменная block класса  XML(данные для нее пока созданы здесь,в среде Flash...
// ...позже будут загружаться из реального файла XML)
//в библиотеке есть ФР класса Platform. Его надо загрузить 
var block:XML= 
	<block>
		<kX>340</kX>
		<kY>210</kY>
		<imyaKl>Platform</imyaKl>
	</block>
	// переменные, в которые помещаются данные из block
var obBl:Object=new Object();
obBl.blX=block.kX;
obBl.blY=block.kY;
obBl.blN=block.imyaKl;
// Загрузка  блока из библиотеки, если знаем, что грузить Platform
var bl:MovieClip=new Platform();
bl.x=obBl.blX;
bl.y=obBl.blY;
addChild(bl);
// 	А если не знаем, а  хотим взять из obBl.blN , как это сделать?
// Так: var bl:MovieClip=new obBl.blN();  неправильно


Последний раз редактировалось udaaff; 19.10.2014 в 18:35.
Старый 19.10.2014, 16:12
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 2  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
ну, у вас задача получить по строковому представлению класса сам класс. совет:
registerClassAlias
getClassByAlias
http://help.adobe.com/ru_RU/FlashPla...t/package.html

из личного опыта - когда-то давно сам конфигурил в ХМЛ, но переполз на JSON + Vanilla - крайне удобственная весчь

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

Старый 19.10.2014, 16:16
Babylon вне форума Посмотреть профиль Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 3  
Ответить с цитированием
Babylon
Banned
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Не очень хороший стиль проектирование XML.
Обычно мандаторные свойства - это атрибуты ноды, а контейнеры это сами ноды.

Старый 19.10.2014, 16:17
Gerbert вне форума Посмотреть профиль Найти все сообщения от Gerbert
  № 4  
Ответить с цитированием
Gerbert
Banned
[+1 06.12.14]
[+1 18.12.14]
[+1 30.12.14]

Регистрация: Aug 2014
Сообщений: 461
Цитата:
но переполз на JSON + Vanilla - крайне удобственная весчь
Вас не затруднит в двух словах сказать, что такое vanila и дать на неё ссылку?

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

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
не затруднит:
https://github.com/jonnyreeves/as3-vanilla
суть - из нетипизированного объекта получить быстренько типизированный
пример:
JSON:
Код:
{
"name" : "Some Name",
"age": 21
}
некий класс данных
Код AS3:
package{
public functio SomeDataClass{
public var name:String;
public var age:uint;
}
использование:
Код AS3:
var jsonString:String = someJSONStringWithData;
var untypedObject:Object = JSON.decode(jsonString);
var typedData:SomeDataClass = extract(untypedObject,SomeDataClass );
trace(typedData.name,typedData.age);
}
Добавлено через 31 секунду
сори за опечатки - думаю разберетесь
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 19.10.2014, 16:30
Gerbert вне форума Посмотреть профиль Найти все сообщения от Gerbert
  № 6  
Ответить с цитированием
Gerbert
Banned
[+1 06.12.14]
[+1 18.12.14]
[+1 30.12.14]

Регистрация: Aug 2014
Сообщений: 461
cleptoman, Спасибо!

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

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

Старый 19.10.2014, 16:47
Gerbert вне форума Посмотреть профиль Найти все сообщения от Gerbert
  № 8  
Ответить с цитированием
Gerbert
Banned
[+1 06.12.14]
[+1 18.12.14]
[+1 30.12.14]

Регистрация: Aug 2014
Сообщений: 461
Цитата:
кстати, пример с простыми типами, наверно, не раскрывает всей полезности: ванилла отлично кушает и сложные типы и векторы
А производительность кто-нибудь замерял по отношению к чему-либо?

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

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

Старый 22.10.2014, 05:48
mamtn вне форума Посмотреть профиль Отправить личное сообщение для mamtn Найти все сообщения от mamtn
  № 10  
Ответить с цитированием
mamtn
[+1.3 07.08.10]
[+1.3 19.10.14]

Регистрация: Jul 2009
Адрес: C-Петербург
Сообщений: 37
Друзья, большое спасибо! Всем удачи!

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

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

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


 


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


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