Форум 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=204199)

Androidwww 23.10.2013 10:58

Спрайт убегает из под курсора.
 
Рисую прямоугольник (g:Graphics) в спрайте (spriteTop:Sprite)
начальная точка координат не (0, 0), а (x = 110, y = 20)
При клике мышкой по моему прямоугольнику он т.с. уходит из под курсора, я понимаю что это из за смещения начальной точки X1 и Y1 но мне нужно нарисовать Graphics именно там, а не вокруг 0,0
Как грамотно решить? наверное давно известная штука, но что то не могу отыскать как сделать...

Код AS3:

var x1:int; var y1:int; var x2:int; var y2:int;
var g:Graphics;
var spriteTop:Sprite = new Sprite();
 
graf(110,200,20,300,0x777777);
 
 
function graf(x1,x2,y1,y2,colorL):void
{
g = spriteTop.graphics;
g.lineStyle(0.5, 0xee0077);
g.beginFill(colorL);
g.moveTo(x1, y1);
g.lineTo(x1, y2);
g.lineTo(x2, y2);
g.lineTo(x2, y1);
g.lineTo(x1, y1);
g.endFill();
addChild(spriteTop);
}
 
spriteTop.addEventListener(MouseEvent.MOUSE_DOWN, mDown);
spriteTop.addEventListener(MouseEvent.MOUSE_UP, mUp);
 
 
function mDown(event:MouseEvent):void
{
        spriteTop.startDrag(true);
}
function mUp(event:MouseEvent):void
{
        spriteTop.stopDrag();
}

Добавлено через 6 минут
Снимаю вопрос ))
spriteTop.startDrag(true); над без true

Hauts 23.10.2013 12:09

Androidwww, зря так торопитесь. Подождали бы 6 минут и не было бы этой темы.

Ну а по делу — я startDrag не уважаю. Предпочитаю вручную переписать аналогичное поведение.

И еще замечание: хотел написать про именования и типизацию, но скажу иначе, — попробуйте писать код в FlashDevelop`е.

Rivexe 23.10.2013 15:07

Код AS3:

spriteTop.startDrag(false);

?


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

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