PDA

Просмотр полной версии : Изменение данных "на лету".


cpu
07.09.2010, 23:31
Есть флешка с игрой, где много параметров.
Для балансировки игры приходится менять эти параметры, а после изменений приходится опять компилить все это дело..

Задача: Иметь возможность менять эти параметры "в горячую", т.е. прямо в процессе игры.

Примеры решений:
1. Тянуть данные из XML. Менять их тупо в текстовом редакторе. Будут ли при этом меняться данные "в горячую" ?
2. Накидать на флексе таблицу с данными, и её связать как "клиентский обмен данными"(new LocalConnection()) с флешкой игры. Будет ли при этом работать "связывание"(binding)?
3. Другой...

Вопрос: Какой вариант будет рабочий?

Stargazer
08.09.2010, 14:28
1. Не будут.
2. Через LocalConnection вы можете вызывать функции. А биндить как хотите?
3. ...

Рабочий будет (возможно) вариант 3. Мне нравится идея с LocalConnection, но ваша флешка должна быть к этому готова. Тогда пишите обёртку над LocalConnection, которая будет "биндить" ваши данные.

cpu
08.09.2010, 15:47
Дело в том, что еще ни разу не работал не с xml, не с локалконнектион.

3 вариант предполагался, запихнуть игру в flex, а там где-нить снизу понаделать таблиц с параметрами...только запихнуть в flex так и не удалось..

1 вариант. можно будет сделать так, что бы по какому-то событию обновлялись данные из xml? Т.е. обновил файл xml в текстовом редакторе, и нажал в игре кнопку, мол обновить..Надеюсь данные из xml дергаются не как константы, сохраняющиеся только в момент компиляции...

2 вариант. Через LocalConnection вы можете вызывать функции., этого не знал(думал что можно и переменные, в крайнем случае в виде set и get методов), поэтому спросил про биндинг..
Может тогда написать большой метод, который бы брал данные из flex-а и возвращал в игру параметры (например в виде ассоциативного массива ).
-------------
Тогда пишите обёртку над LocalConnection, которая будет "биндить" ваши данные., не понял.. Только-только Мук-а прочитал, и такие слова как "обертка над" мне не о чем не говорят :o

Stargazer
08.09.2010, 16:57
1 вариант. можно будет сделать так, что бы по какому-то событию обновлялись данные из xml? Т.е. обновил файл xml в текстовом редакторе, и нажал в игре кнопку, мол обновить..

Можно. Главное, чтобы вы получили актуальную версию xml, а не из кэша (если запускаете без браузера - такой проблемы нет).

Может тогда написать большой метод, который бы брал данные из flex-а и возвращал в игру параметры (например в виде ассоциативного массива ).

Конечно можно.

такие слова как "обертка над" мне не о чем не говорят

Я имею в виду, что вы напишете свой класс, в котором решите все проблемы с чтением-обновлением через LocalConnection и при этом проследите, чтобы информация гарантированно обновлялась там где нужно. Сделаете один раз - и будете потом пользоваться всю оставшуюся жизнь.

То есть, получилось, что вы взяли уже существующую функциональность, но не стали её использовать напрямую, а "завернули её" внутрь своей функциональности (которая внешне, может, на LocalConnection вообще ничем не намекает). Получился подарочек :).

Вы этот вариант как раз и предлагали чуть выше.

cpu
08.09.2010, 18:02
Спасибо.