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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 11.07.2012, 13:32
Tetraeon вне форума Посмотреть профиль Отправить личное сообщение для Tetraeon Найти все сообщения от Tetraeon
  № 1  
Ответить с цитированием
Tetraeon

Регистрация: May 2012
Сообщений: 166
Question Копирование содержимого контейнера (сохранение)

Здравствуйте, продолжаю разбираться в теме сохранения игры (новый вопрос - новая тема).
Столкнулся с задачей сохранить контейнер в отдельном месте и при загрузке заменить имеющися на сохраненный. Все, везде облазил и перепробовал... не получается никак. Может я все правельно делал и ошибка в другом месте.
Структура такая:
Есть контейнер класса MenuPanel в нем содержатся несколько клипов и еще 2 контейнера класса Bag и Armor.
Насколько я понимаю лучшим вариантом сохранения всего этого добра будит сохранить содержимое MenuPanel в отдельном клипе. Вопрос как правильно это можно сделать?
дела вот так:
Код AS3:
public var menu:MovieClip = new MovieClip;
public var menuPanel:MovieClip = new MovieClip;
menu.addChild(MenuPanel.menuP); // Класс.статическая_переменная
addChild(menu);
menuPanel = menu; // сохранил 1 клавишей
menu = menuPanel; // загрузил 2 клавишей
Конечно это наивный вариант, но я перепробовал много всяких)

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


Последний раз редактировалось Tetraeon; 11.07.2012 в 14:04.
Старый 11.07.2012, 14:35
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

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

Старый 11.07.2012, 14:44
Aquahawk вне форума Посмотреть профиль Отправить личное сообщение для Aquahawk Посетить домашнюю страницу Aquahawk Найти все сообщения от Aquahawk
  № 3  
Ответить с цитированием
Aquahawk
 
Аватар для Aquahawk

Регистрация: Nov 2010
Адрес: Москва
Сообщений: 915
Записей в блоге: 4
Отправить сообщение для Aquahawk с помощью ICQ Отправить сообщение для Aquahawk с помощью Skype™
экранный объект скопировать нельзя, то что вы сохранили ссылку на него где-то(а вы именно и это сделали) не создаст копию.
__________________
:)

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Состояния, полученные в рантайме "динамически", никак не сохранить. Надо сохранять описание состояния, чтобы после "загрузки" этого описания по нему восстановить состояние объекта. На простом примере, скажем игра лабиринт, по которому ходит персонаж. Надо сохранять уровень лабиринта и координаты и направление персонажа. То есть номер карты (левел), адреса ячейки с персонажем (столбец/строка или х, у), и номер кадра в клипе персонажа (если его повороты сделаны кадрами в клипе).
Соответственно при загрузке сейва создаете новый экземпляр лабиринта нужного уровня, помещаете персонажа в нужную ячейку и переводите его клип на нужный кадр — Вы восстановили сохраненное состояние.
__________________
Reality.getBounds(this);

Старый 11.07.2012, 15:13
Tetraeon вне форума Посмотреть профиль Отправить личное сообщение для Tetraeon Найти все сообщения от Tetraeon
  № 5  
Ответить с цитированием
Tetraeon

Регистрация: May 2012
Сообщений: 166
а если в контейнер добавлялись копии MovieClip без переменных вот таким образом addChild(new obj_mc);
к ним уже никак нельзя обратится?
__________________
Выражаю благодарность всем, кто помогают новичкам. Ваша бескорыстная помощь внушает уважение.


Последний раз редактировалось Tetraeon; 11.07.2012 в 15:17.
Старый 11.07.2012, 15:24
Aquahawk вне форума Посмотреть профиль Отправить личное сообщение для Aquahawk Посетить домашнюю страницу Aquahawk Найти все сообщения от Aquahawk
  № 6  
Ответить с цитированием
Aquahawk
 
Аватар для Aquahawk

Регистрация: Nov 2010
Адрес: Москва
Сообщений: 915
Записей в блоге: 4
Отправить сообщение для Aquahawk с помощью ICQ Отправить сообщение для Aquahawk с помощью Skype™
можно через getChildAt() по очереди получить всех, в том числе и этот ваш, но как определить что это он подумайте сами. И вообще отделяйте отображение и модель данных, всё что вы делаете должно уметь существовать вообще без экранных объектов. Нельзя(точнее очень плохо) опираться на то, что вы потом с экрана сдёрните то, что туда положили.
__________________
:)

Старый 11.07.2012, 15:33
Tetraeon вне форума Посмотреть профиль Отправить личное сообщение для Tetraeon Найти все сообщения от Tetraeon
  № 7  
Ответить с цитированием
Tetraeon

Регистрация: May 2012
Сообщений: 166
Вывели меня из очередного тупика, теперь буду искать другие пути спасибо) Думаю может попробовать каким то образом в массив добавлять все объекты без переменных, если такое возможно. Подразделять объекты по классам, в самих классах добавлять их в свои массивы и дальше уже с ними работать.
__________________
Выражаю благодарность всем, кто помогают новичкам. Ваша бескорыстная помощь внушает уважение.

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

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

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


 


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


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