![]() |
Undo/Redo для сцены с разными типами объектов
как реализовать в целом понятно, создаем 2 массива undo и redo, пишем действия в undo, при action'e переписываем в редо
но как организовать слежения за свойствами для разных типов? например текст, канвас, добавление на сцену, удаление для текста и канваса думал сделать так, при выборе объекта создаю Object, прохожусь for in по свойствам, пишу их в массив, но этот вариант мне результата не дал, так как нужные свойства он не прочитал для удаления/добавления думал сделать так, вызывать метод записи в массив, передавать ему ключ и объект, при действии проверять ключ, и если удалил, брать объект, считывать его класс и свойства и создавать заново, при добавлении - считывать объект и удалять но вот опять затык в чтении всех свойств объекта и чтение класса объекта (отлично бы подошло здесь свойство duplicateMovieClip из AS2) есть какие-нибудь соображения как лучше реализовать? |
У вас в программе есть определенный набор действий доступных пользователю. Вот на этом и сконцентрируйтесь. В массивы undo/redo заносится команда, которая выполняет некоторое действие и может отыграть его обратно.
|
да в том то и дело, что список действий не определен, поэтому и хочу получить от каждого объекта, над которым совершается действие список всех публичных свойств
|
Ну так определитесь, пользователь не программист, он работает с программой у которой есть конечное число возможностей. Зачем записывать все? Пишите только то, что изменилось.
Добавлено через 9 минут вот вам для почитать http://www.actionscript.org/resource...ion/Page1.html Добавлено через 11 минут а вот реализация undo для текстфилдов http://code.google.com/p/undo-textfields/ |
| Часовой пояс GMT +4, время: 15:04. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.