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

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

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

Регистрация: Nov 2003
Сообщений: 43
По умолчанию Отмена предыдущего действия во flash

Здравствуйте
Есть вопрос.
Как во flash можно запомнить состояние всего фильма а потом в нужный момент к нему вернуться.
Это нужно для реализации кнопки отмены предыдущего действия. Конечно лучше если есть универсальный способ. В данном случае для игры solitaire я пытался это реализовать двумя функциями - pre_undo() которая запоминает состояние и undo() - которая возвращает к этому состоянию (исходник прилагается) - но они работают не корректно, хотя я запоминаю все характеристики объектов.
Не подскажите как решить эту проблему.
Спасибо
Вложения
Тип файла: zip solitaire_v10.zip (67.4 Кб, 435 просмотров)

Старый 24.06.2004, 15:00
DeliMIter вне форума Посмотреть профиль Отправить личное сообщение для DeliMIter Найти все сообщения от DeliMIter
  № 2  
Ответить с цитированием
DeliMIter
некрофил
 
Аватар для DeliMIter

Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
Если некорректно, то не все. А отправная точка у тебя верная, нужно запоминать минимальный набор данных, описывающих текущее состояние, по этому набору можно будет восстановить сколько захочешь шагов.
__________________
...убивать людей не удовольствия ради, но для еды.

Старый 24.06.2004, 15:22
vadult вне форума Посмотреть профиль Отправить личное сообщение для vadult Найти все сообщения от vadult
  № 3  
Ответить с цитированием
vadult

Регистрация: Nov 2003
Сообщений: 43
А что именно я не учёл? - я просто уже намучился с этим и всё никак не получается. Если не трудно то подскажите пожалуйста - если территориально будет возможно то с меня пиво...

Старый 24.06.2004, 19:25
DeliMIter вне форума Посмотреть профиль Отправить личное сообщение для DeliMIter Найти все сообщения от DeliMIter
  № 4  
Ответить с цитированием
DeliMIter
некрофил
 
Аватар для DeliMIter

Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
Так откуда ж я знаю : ))) ? У тебя основного кода полтысячи строчек, ты мог чего-то недосмотреть в любой из них. К тому же твой стиль кода (эвалы, код в кадрах, уровень программирования) не вызывает желания в коде копаться, извини. Ты писал, тебе лучше знать, где ты чего не сохраняешь/не восстанавливаешь...
__________________
...убивать людей не удовольствия ради, но для еды.

Старый 25.06.2004, 18:07
vadult вне форума Посмотреть профиль Отправить личное сообщение для vadult Найти все сообщения от vadult
  № 5  
Ответить с цитированием
vadult

Регистрация: Nov 2003
Сообщений: 43
Народ - если кто то может с этим помочь - помогите пожалуйста - потому что у меня ничего не получается

Старый 25.06.2004, 19:12
DeliMIter вне форума Посмотреть профиль Отправить личное сообщение для DeliMIter Найти все сообщения от DeliMIter
  № 6  
Ответить с цитированием
DeliMIter
некрофил
 
Аватар для DeliMIter

Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
Ты хочешь, чтобы кто-то за тебя сделал то, чего хочешь ты?

Сначала ты задал корректный вопрос: ты делаешь так-то и так-то, что неправильно. Идея - правильная. Другое дело, что эту идею ты не можешь (по каким-то причинам) реализовать. И теперь ты предлагаешь, чтобы кто-то ДОДЕЛАЛ за тебя твою работу. Судя по тому, что ты не справился, эта задача не такая уж простая и очевидная, ее решение потребует приложения времени и сил, причем в основном на то, чтобы понять, что же ТЫ имел в виду своим кодом.

Для справки: разбираться в чужих исходниках и изменять их - задача БОЛЕЕ сложная, чем писать наново, поэтому наиболее ценятся те программисты, которые могут работать с чужим кодом, не внося в него значительных изменений.

Под простым вопросом "что у меня не работает" скрывается куча несделанной работы. Если тебе лень ее делать - забей. Если хочется сделать или надо - разберись сам. или перепиши алгоритм.

Понимаешь, избыточным альтруизмом форум не страдает. Вопросы бывают разных уровней и по каждому уровню есть некий предел, подробнее которого тебе никто ничего объяснять не будет. Скажем, на вопрос уровня "алгоритм" тебе МАКСИМУМ дадут словесное описание алгоритма, реализовывать его за тебя никто не станет, разве что это МАЛЕНЬКИЙ алгоритм с решением в 10 строчек.

Форум - не саппорт 24x7 от компании Макромедиа, тут никто ничего не будет делать, пока этому кому-то самому не захочется тебе помочь. А проблему, сформулированную таким образом, как это делаешь ты: "вот вам исходник, сделайте, чтобы работало" - решать не хочется. Так что до тех пор пока ты не задашь УМНЫЙ и ИНТЕРЕСНЫЙ вопрос, на который ЗАХОЧЕТСЯ ответить, тебе вряд ли кто-нибудь будет отвечать по делу.

С уважением,
DeliMIter.
__________________
...убивать людей не удовольствия ради, но для еды.


Последний раз редактировалось DeliMIter; 25.06.2004 в 19:13.
Старый 25.06.2004, 19:37
Елё вне форума Посмотреть профиль Отправить личное сообщение для Елё Посетить домашнюю страницу Елё Найти все сообщения от Елё
  № 7  
Ответить с цитированием
Елё
 
Аватар для Елё

Регистрация: Jun 2002
Адрес: Москва
Сообщений: 287
Отправить сообщение для Елё с помощью Skype™
Ну ладно, что уж ты так на него наезжаешь... У меня часто бывало что глаз замылен и за неделю в какой то фигне ну ни капли прогресса

У меня к сожалению тоже время особо нет смотреть чем отличается eval(all[i]) от eval("o" + all[i])

Это действительно надо весь код изучить. Вот если бы ты, уважаемый vadult, не поленился бы и изложил хотя бы принципы работы и в чего где хранишь...

Но pre_undo и undo я посмотрел
И могу дать совет.

Судя по тому что пропадают карты ошибка в swapDepth. Но искать ее довольно проблематично... Я бы не стал этим заниматься

Я бы сделал так: на pre_undo сохранял бы состояние ИГРЫ а не мувиков. Надо лишь сохранить в каком из 13 полей и какой по счету лежит каждая из 52 карт. А на нажатие undo я бы все строил заново, а не пытался бы восстановить позиции и тд. Чем меньше информации тем проще с ней работать, а то у тебя куча какой то ерунды сохраняется... Естественно что то куда то теряется


Последний раз редактировалось Елё; 25.06.2004 в 19:40.
Старый 28.06.2004, 12:34
DeliMIter вне форума Посмотреть профиль Отправить личное сообщение для DeliMIter Найти все сообщения от DeliMIter
  № 8  
Ответить с цитированием
DeliMIter
некрофил
 
Аватар для DeliMIter

Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
Разве наезжаю : )))) ? Если хоть слово несправедливое сказал - поправь. А то, что очень жестко, вся жизнь - сплошной жесткач, и очень важно это осознавать.
__________________
...убивать людей не удовольствия ради, но для еды.

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

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

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


 


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


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