Просмотр полной версии : Динамическое рисование
rockafella
26.04.2006, 18:27
Как сделать так, чтобы при нажатии кнопки мыши, перетаскивая мышь
она оставляла за собой линию.
Проще говоря. как нарисовать линию мышью
Вставляешь в первый кадр и наслаждаешься.
_root.createEmptyMovieClip("rclip", 1);
rclip.lineStyle(2, 0x005533, 100);
_root.onMouseDown = function() {
rclip.moveTo(_root._xmouse, _root._ymouse);
onn = true;
};
_root.onMouseUp = function() {
onn = false;
};
rclip.onEnterFrame = function() {
if (onn == true) {
rclip.lineTo(_root._xmouse, _root._ymouse);
}
};
В первый кадр код
this.createEmptyMovieClip("line_mc", 1);
line_mc.lineStyle(1, 0x006699, 100);
onMouseDown = function () {
detect = 1;
startX = _xmouse;
startY = _ymouse;
line_mc.moveTo(startX, startY);
};
onMouseMove = function () {
if (detect == 1) {
line_mc.lineTo(_xmouse, _ymouse);
updateAfterEvent();
}
};
onMouseUp = function () {
detect = 0;
};
E.Q. зачем нагружать машину ненужным onEnterFrame?
rockafella
26.04.2006, 20:13
Не все так просто, линия должна из начальной точки идти прямая.
То есть начальная точка зафиксирована, из этой точки мы тяним линию мышью. Куда бы мы ее не тянули, она должна оставатся ПРЯМАЯ!
Линия должна зафиксироватся в конечной точке только при отпускании кнопки мыши.
Вот такая вот задача
И еще, если мы при неотнущенной енопки мыши вернем линиию в исходное положение, то она должна исчезнуть
Всё так же просто
count=0;
onMouseDown = function () {
count++;
detect = 1;
startX = _xmouse;
startY = _ymouse;
};
onMouseMove = function () {
if (detect == 1) {
this.createEmptyMovieClip("l"+count, count);
var l = this["l"+count];
l.lineStyle(1, 0x006699, 100);
l.moveTo(startX, startY);
l.lineTo(_xmouse, _ymouse);
updateAfterEvent();
}
};
onMouseUp = function () {
detect = 0;
};
KUZEN, а если я прокликаю раз этак 300... а?
KUZEN, а если я прокликаю раз этак 300... а?
Это на скорую руку для примера ))) Можно после каждого раза отрисовывать в битмап ))) Предложи свою версию, на одном из твоих сайтов очень приличная гостевуха, выкладывай исходники с коментами )))
У меня нет удаления линий (хотя это можно сделать довольно просто и быстро).
Нужно сохранять всю историю рисования в массив (с сохранием параметров линии). И, если нужно убить линию, удаляем последний элемент массива и перерисовываем. Всё просто.
Конкретными вещами (кодом) помочь сейчас не могу.
У меня нет удаления линий (хотя это можно сделать довольно просто и быстро).
Нужно сохранять всю историю рисования в массив (с сохранием параметров линии). И, если нужно убить линию, удаляем последний элемент массива и перерисовываем. Всё просто.
Конкретными вещами (кодом) помочь сейчас не могу.
Да мне то всё это понятно ...
rockafella
26.04.2006, 21:36
Спасибо большое за помощь.
Кстати как преобразовать нарисованную линию в мувиклип или битмап,
и занести в массив чтобы потом можно было сохранить.
Это было бы очень удобно
Ты линии и так рисуешь в мувиках )))
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.