Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Округление при startDrag (http://www.flasher.ru/forum/showthread.php?t=180867)

TanaTiX 10.06.2012 12:39

Округление при startDrag
 
Если при startDrag в указанной прямоугольной области будут дробные координаты, то они при таскании округляются до целочисленных (даже не до твипсов)
Кто-нибудь сталкивался? Какие решения наиболее оптимальны в данном случае?

На всякий случай код для тестов, если кто захочет, чтобы не парится лишние 5 минут (тестил в ИДЕ, но это не принципиально).

Код AS3:

import flash.display.Sprite;
import flash.geom.Rectangle;
import flash.events.MouseEvent;
 
var slider:Sprite = _slider;
var back:Sprite = _back;
var r:Rectangle;
 
slider.addEventListener(MouseEvent.MOUSE_DOWN, onSliderDown);
stage.addEventListener(MouseEvent.MOUSE_UP, onSliderUp);
 
function onSliderUp(e:MouseEvent):void{
        slider.stopDrag();
}
 
function onSliderDown(e:MouseEvent):void{
        r = new Rectangle(back.x, back.y, back.width, back.height);
        slider.startDrag(false, r);
}


Aquahawk 10.06.2012 12:54

Цитата:

Какие решения наиболее оптимальны в данном случае?
Никогда не использовать startDrag.
Попробуйте подписаться на mouseMove на стейдже и двигать самостоятельно так как вам хочется и увидите что это в разы лучше.

TanaTiX 10.06.2012 19:08

И на том спасибо :)


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

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