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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.01.2007, 20:03
Icida вне форума Посмотреть профиль Отправить личное сообщение для Icida Найти все сообщения от Icida
  № 1  
Ответить с цитированием
Icida
[+1.3 08.03.07]
 
Аватар для Icida

Регистрация: Dec 2006
Сообщений: 57
Отправить сообщение для Icida с помощью ICQ
По умолчанию Отмена действия

Есть трабл, может кто поможет?
По клику мыши программно рисуется линия, по следующему -- её продолжение, и так далее. Можно сделать так чтобы по нажатию на кнопку последняя линия стиралась? Не вся, а только последняя, созданная последним кликом.

Старый 07.01.2007, 20:11
BigDan вне форума Посмотреть профиль Отправить личное сообщение для BigDan Найти все сообщения от BigDan
  № 2  
Ответить с цитированием
BigDan
 
Аватар для BigDan

Регистрация: Apr 2006
Адрес: Kiev
Сообщений: 1,675
Отправить сообщение для BigDan с помощью ICQ
Несколько способов решения этой задачи:
1)Каждый новый отрезок помещяешь в отдельный клип, потом просто удаляешь клипы.
2)Просто зарисовать последнюю линию цветом фона(если конечно под линией кроме фона ничего нет), предварительно зопомнив кординаты этой линии.

Старый 07.01.2007, 20:13
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 3  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Создайте N-мувиклипов (по числу нужного количества откатов) и нарисованную линию заносите не сразу ко всем, а методом FIFO (first in, first out) прогоняйте через мувиклипы.

2 BigDan: зачем удалять то, просто клип чистить последний.
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 07.01.2007 в 20:18.
Старый 07.01.2007, 20:20
BigDan вне форума Посмотреть профиль Отправить личное сообщение для BigDan Найти все сообщения от BigDan
  № 4  
Ответить с цитированием
BigDan
 
Аватар для BigDan

Регистрация: Apr 2006
Адрес: Kiev
Сообщений: 1,675
Отправить сообщение для BigDan с помощью ICQ
Цитата:
Сообщение от iNils
2 BigDan: зачем удалять то, просто клип чистить последний.
Ну ведь ресурсы компа ограничены.

Старый 07.01.2007, 20:27
Icida вне форума Посмотреть профиль Отправить личное сообщение для Icida Найти все сообщения от Icida
  № 5  
Ответить с цитированием
Icida
[+1.3 08.03.07]
 
Аватар для Icida

Регистрация: Dec 2006
Сообщений: 57
Отправить сообщение для Icida с помощью ICQ
BigDan, про закрашивание и сама думала, но фон неоднородный, так что не прокатит.

iNils, а нельзя ли рассказать про эти методы или дать ссылку, где почитать? Не сталкивалась с таким ещё.

Старый 07.01.2007, 20:30
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 6  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Тогда можно загонять в битмапдату все клипы кроме последних N и удалять сами клипы.
__________________
4am is time to rock

Старый 07.01.2007, 21:16
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Цитата:
Сообщение от Icida
iNils, а нельзя ли рассказать про эти методы или дать ссылку, где почитать? Не сталкивалась с таким ещё.
Допустим вы хотите сделать откат на 3 шага.
Значит вам нужно 3 клипа (в квадратных скобках глубина клипа)
mc1 [3]: Клип для 1 шага
mc2 [2]: Клип для 2 шага
mc3 [1]: Клип для 3 шага
mc0 [0]: Клип с суммарным изображением.


Все эти клипы находятся внутри еще одного (для простоты манипуляций)
Теперь когда вы собираетесь нарисовать первую линию, то она рисуется в клипе mc1.

Как только вы нажимаете мышь для рисования новой линии, по кругу меняете глубину клипов для откатов.

mc3 [3]
mc1 [2]
mc2 [1]
mc0 [0]


Теперь у нас на верху клип mc3, и новая линия рисуется уже в нем. Для следующей линии делаем тоже самое и вверху будет mc2.

Так мы добавили три линии, когда собиремся добавить 4-ую, пустого клипа для откатов уже не будет, поэтому (отступление: при заносе линии в клип, мы для этого клипа ставит значение переменной flag = true, что значит клип не пустой, и записываем там координаты 2- точек линии) мы меняем клипы по кругу опять и получаем самое начальное положение. Теперь считываем из верхнего клипа координты линии и рисуем их в mc0, в mc1 вызываем clear () и рисуем новую линию. Ну и так далее.

Когда собиремся делать откат, то есть нажать кнопку, мы ищем первый клип сверху где flag != true, меняем значение флага на false и вызываем clear ().
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 07.01.2007 в 21:28.
Старый 07.01.2007, 21:19
Icida вне форума Посмотреть профиль Отправить личное сообщение для Icida Найти все сообщения от Icida
  № 8  
Ответить с цитированием
Icida
[+1.3 08.03.07]
 
Аватар для Icida

Регистрация: Dec 2006
Сообщений: 57
Отправить сообщение для Icida с помощью ICQ
Спасибо за помощь! Проблема решена ) Каждую линию помещаю в новый мувиклип и потом удаляю его, когда надо.
Всем спасибо!

Старый 07.01.2007, 21:26
Icida вне форума Посмотреть профиль Отправить личное сообщение для Icida Найти все сообщения от Icida
  № 9  
Ответить с цитированием
Icida
[+1.3 08.03.07]
 
Аватар для Icida

Регистрация: Dec 2006
Сообщений: 57
Отправить сообщение для Icida с помощью ICQ
iNils, спасибо за объяснение, попробую и этот метод тоже разобрать.

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

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

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


 


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


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