Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Закрашивание области курсором (http://www.flasher.ru/forum/showthread.php?t=212712)

Top_Secret 12.04.2016 22:08

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

Нашел пока только на примере обычных рисовалок, код, для самого процесса закрашивания курсором
Код AS3:

import flash.display.Shape;
//Прорисовка линии
var draw_line:Boolean = false;
stage.addEventListener(MouseEvent.MOUSE_DOWN, MouseDown);
stage.addEventListener(MouseEvent.MOUSE_UP, MouseUp);
image_mc.addEventListener(MouseEvent.MOUSE_MOVE, MouseMove);
//Фигура, в которую будут добавляться нарисованые линии
var image:Shape = new Shape();
//Устанавливаем Ширину, цвет и прозрачность линии (от 0 до 1)
image.graphics.lineStyle(20, 0xFF0000, 1);
//Добавляем фигуру в клип
image_mc.addChild(image);
//Нажатие ЛКМ
function MouseDown(mouse:MouseEvent):void {
        draw_line = true;
        //Указываем точку откуда будем начинать рисовать линию
        image.graphics.moveTo(mouse.localX, mouse.localY);
}
//Отпускание ЛКМ
function MouseUp(mouse:MouseEvent):void {
        //отключаем рисование линий
        draw_line = false;
}
//Перемещение мыши над клипом image_mc
function MouseMove(mouse:MouseEvent):void {
        if (draw_line) {
                //Рисуем линию в точку, где находится курсор
                image.graphics.lineTo(image.mouseX, image.mouseY);
                //Снова указываем точку откуда будем рисовать следующую линию
                image.graphics.moveTo(image.mouseX, image.mouseY);
        }
}

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

ALeXVoz 13.04.2016 13:10

Похожая тема http://www.flasher.ru/forum/showthread.php?t=212636

Top_Secret 13.04.2016 21:31

спасибо, в принципе понятно. Но, как быть, если необходимо будет закрасить заранее нарисованную область любой формы, а не прямоугольную. на что заменить BitmapData, или как ему присвоить эту произвольную область

да, и какая команда нужна, чтобы после закрашивания шли следующие кадры? пробовал gotoAndStop, но он работает только если закрашенный слой продолжается


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

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