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

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

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

Регистрация: Jan 2014
Сообщений: 4
По умолчанию Как сделать кнопку очистки рисовалки

Здравствуйте. Есть следующий код для рисования прямых линий с помощью мыши:

Код AS3:
var temporaryDrawing:Shape = new Shape();
addChild(temporaryDrawing);
temporaryDrawing.graphics.lineStyle(2, 0x666666, 1);
var myDrawing:Shape = new Shape();
addChild(myDrawing);
myDrawing.graphics.lineStyle(7, 0x33CC00, 1);
var mouseHolding:Boolean = false;
var clickedX:Number;
var clickedY:Number;
stage.addEventListener(MouseEvent.MOUSE_DOWN, mDown);
stage.addEventListener(MouseEvent.MOUSE_UP, mUp);
function mDown(MouseEvent):void{
mouseHolding = true;
clickedX = mouseX;
clickedY = mouseY;
myDrawing.graphics.moveTo(mouseX, mouseY);
temporaryDrawing.graphics.moveTo(mouseX, mouseY)}
function mUp(MouseEvent):void{
if (mouseY < 600){
myDrawing.graphics.lineTo(mouseX, mouseY)}
mouseHolding = false;
clearTemp()}
stage.addEventListener(MouseEvent.MOUSE_MOVE, mMove);
function mMove(MouseEvent):void{
if (mouseHolding && mouseY < 600){
clearTemp();
temporaryDrawing.graphics.lineTo(mouseX, mouseY)}}
function clearTemp():void{
temporaryDrawing.graphics.clear();
temporaryDrawing.graphics.lineStyle(2, 0x666666, 1)
temporaryDrawing.graphics.moveTo(clickedX, clickedY)}

Подскажите пожалуйста как сделать кнопку очистки для того, чтобы начать рисование заново, если линия нарисована неправильно.
Я новичок во флеш. Заранее спасибо за помощь.


Последний раз редактировалось mooncar; 12.01.2014 в 22:40.
Старый 12.01.2014, 00:29
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
kivi, оформите код соответсnвенными тегами [as3].
__________________
Идите первым!

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

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Цитата:
как сделать кнопку очистки для того, чтобы начать рисование заново, если линия нарисована неправильно
Offtop:Сделайте горячую клавишу, и поставьте как Ctrl+Z, это удобней, чем по нарисованным кнопкам клацать.
По теме, код не читал, но сохраняйте каждую линию в новый спрайт, и добавляйте все линии в массив. А потом просто вызывайте removeChild и удаляйте последний элемент массива по нажатию на клавишу. Таким образом можно отменять последнее действие до самого начала рисования.

Старый 12.01.2014, 11:13
kivi вне форума Посмотреть профиль Отправить личное сообщение для kivi Найти все сообщения от kivi
  № 4  
Ответить с цитированием
kivi

Регистрация: Jan 2014
Сообщений: 4
Мне нужна кнопка, которая удаляет весь рисунок, а не отдельные линии.

Старый 12.01.2014, 19:49
KBAC вне форума Посмотреть профиль Отправить личное сообщение для KBAC Найти все сообщения от KBAC
  № 5  
Ответить с цитированием
KBAC
 
Аватар для KBAC

Регистрация: Jan 2006
Адрес: Москва (Нижний Новгород)
Сообщений: 229
Записей в блоге: 1
Отправить сообщение для KBAC с помощью Skype™
Делаете кнопку, вешаете на неё слушателя клика, по клику отчищаете рисунок.

Код AS3:
myDrawing.graphics.clear();
А вообще, для начала разберитесь как ваш код работает - тогда не будет таких вопросов.
__________________
Будь проще.

Старый 12.01.2014, 21:04
kivi вне форума Посмотреть профиль Отправить личное сообщение для kivi Найти все сообщения от kivi
  № 6  
Ответить с цитированием
kivi

Регистрация: Jan 2014
Сообщений: 4
Спасибо за ответ. Однако дело в том что кнопка с данным кодом удаляет рисунок, но нарисовать его повторно уже не получается.А мне нужно, чтобы можно было стереть (удалить) рисунок и затем начать заново рисовать.
Никаких ошибок в коде программа при этом не выдаёт.

Старый 12.01.2014, 21:22
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 7  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Как вы заново рисуете? Покажите код.

Старый 12.01.2014, 21:25
Rivexe вне форума Посмотреть профиль Отправить личное сообщение для Rivexe Найти все сообщения от Rivexe
  № 8  
Ответить с цитированием
Rivexe
 
Аватар для Rivexe

Регистрация: Jun 2013
Сообщений: 133
После очиски надо опять установить стиль лини:
Код AS3:
myDrawing.graphics.clear();
myDrawing.graphics.lineStyle(7, 0x33CC00, 1);

Старый 13.01.2014, 18:51
kivi вне форума Посмотреть профиль Отправить личное сообщение для kivi Найти все сообщения от kivi
  № 9  
Ответить с цитированием
kivi

Регистрация: Jan 2014
Сообщений: 4
Спасибо большое, всё работает. Вы мне очень помогли.

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

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

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


 


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


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