Форум программистов, компьютерный форум, киберфорум
Наши страницы
ActionScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
(I_P)
0 / 0 / 0
Регистрация: 13.08.2011
Сообщений: 4
1

Рисование стрелки

15.08.2011, 23:04. Просмотров 1686. Ответов 3
Метки нет (Все метки)

Здравствуйте.Написал небольшой скрипт который рисует линии, что нужно дописать что б на конце линии рисовалась стрелка по направлению линии.Заранее спасибо.

ActionScript 3
1
2
3
4
5
6
7
8
9
10
graphics.lineStyle(2);
stage.addEventListener(MouseEvent.MOUSE_DOWN, startF);
function startF(e:MouseEvent):void {
 graphics.moveTo(mouseX, mouseY);
}
 
stage.addEventListener(MouseEvent.MOUSE_UP, stopF);
function stopF(e:MouseEvent):void {
 graphics.lineTo(mouseX,mouseY);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.08.2011, 23:04
Ответы с готовыми решениями:

Создание стрелки на AS3
Кликом мыши создаю начало для стрелки, потом перетаскиваю мышь и стрелка едет...

Создание крутящейся стрелки, время вращения которой можно изменять в PHP файле
Здравствуйте. Необходимо реализовать плавное вращение стрелки в кольце, при...

Рисование во Flash
Всем привет... Народ, кто может знает, или подкинет идею, как можно...

Рисование на слое
Всем доброго времени суток. Хочу сделать эффект тёмного времени суток и...

Рисование на сайте: выбор ЯП
На каком языке можно организовать что-то типа создания онлайн mindmap...

3
TanaTiX
Модератор
2796 / 1650 / 168
Регистрация: 19.02.2011
Сообщений: 6,005
Завершенные тесты: 2
15.08.2011, 23:59 2
Нет опции, рисующей какие-либо фигуры на конце линий. Хотите стрелку - рисуйте ее полноценно таким же образом, как нарисовали линию.
0
(I_P)
0 / 0 / 0
Регистрация: 13.08.2011
Сообщений: 4
18.08.2011, 13:52  [ТС] 3
Если нет опции то можно её сделать

ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import gs.*;//бибилиотека TweenLite 
stage.addEventListener(MouseEvent.MOUSE_DOWN, startF);
stage.addEventListener(MouseEvent.MOUSE_UP, stopF);
 
var line:Sprite = new Sprite();
var line2:Sprite = new Sprite();
var cord:Sprite = new Sprite();
line.graphics.lineStyle(2);
 
var coord : Sprite =  new Sprite();//координатный спрайт
graphics.lineStyle(4);//стиль линии
var objects:Array = [];//масив для создания объектов стрелки 
var k:int = 0;
 
//при нажатии кнопки мышки создаётся новый эль.,выставляется начальная позиция для линии
function startF(e:MouseEvent):void {
    //создаёт новую стрелку при нажатой клавиши мышки
    k++;
    var eye1_mc:MovieClip= new eye();
    eye1_mc.x=mouseX;
    eye1_mc.y=mouseY;
    objects[k]=eye1_mc;
    addChild(objects[k]);
    //----------------
    stage.addEventListener(MouseEvent.MOUSE_MOVE, followCursor);
    //передаём статические координаты moveTo
    coord.x=mouseX;
    coord.y=mouseY;
    line.graphics.moveTo(mouseX, mouseY);
        
    }
//--------------------------------
 
//при отжатой кнопки мышки удаляется слушатель событий EnterFrame, Mouse_Move
function stopF(e:MouseEvent):void {
    line.graphics.lineTo(mouseX,mouseY);
    addChild(line);
    stage.removeEventListener(MouseEvent.MOUSE_MOVE, followCursor);
    }
//-------------
 
//поворот стрелки относительно начальной точки координат передаёт метод moveTo
    function followCursor(event:MouseEvent):void {  
    line2.graphics.clear();
    line2.graphics.lineStyle(4);
    line2.graphics.moveTo(coord.x,coord.y);
    line2.graphics.lineTo(mouseX,mouseY);
    
    TweenLite.to(objects[k], 0, {x:mouseX, y:mouseY});//курсор бегает за мышкой
    var coordy1 : Number =  coord.y-mouseY;
    var coordx1 : Number = coord.x-mouseX;
    trace(coord.y,coord.x)
    var angleRadians1 : Number  = Math.atan2(coordy1,coordx1);
    var angleDegrees1 : Number  = angleRadians1 * 180 / Math.PI;
    objects[k].rotation = angleDegrees1;
    addChild(line2);
        }
//--------------------------------
Для работы нужна библиотека TweenLite можно скачать тут.Потом создаём move_clip называем его eye это будет наша стрелка на конце которая будет прорисовывается на конце линии, направление стрелки должна смотреть ровно в левую сторону так как с правой стороны будет рисоватся хвост(в принципе на конце может быть любая фигура). НУ вот и всё стрелкаготова
0
TanaTiX
Модератор
2796 / 1650 / 168
Регистрация: 19.02.2011
Сообщений: 6,005
Завершенные тесты: 2
18.08.2011, 21:01 4
Ужас. Но я вас поздравляю с достигнутым желаемым результатом.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2011, 21:01

Рисование на созданном MovieClip
Я создал MovieClip и назвал его «canvas». При клике на данный MovieClip...

Рисование пользователем во Flash
Необходимо реализовать, что бы при нажатии на левую кнопку мыши и...

Рисование части прямоугольника кодом
Доброго времени суток всем! У меня появилась необходимость нарисовать с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru