Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как ограничить drag ? (http://www.flasher.ru/forum/showthread.php?t=165494)

alex3dsflash 23.08.2011 18:33

Как ограничить drag ?
 
Вот код:

import flash.events.MouseEvent;

function startDragging(event:MouseEvent):void {
square.startDrag();
}


function stopDragging(event:MouseEvent):void
{
square.stopDrag();
}

square.addEventListener(MouseEvent.MOUSE_DOWN, startDragging);
square.addEventListener(MouseEvent.MOUSE_UP, stopDragging);

как ограничить область возможного перетаскивания?

bav 23.08.2011 18:34

public function startDrag(lockCenter:Boolean = false, bounds:Rectangle = null):void

alex3dsflash 23.08.2011 18:36

а в цифрах по иксу и игреку где писать?

BezDelnik 23.08.2011 18:38

указывать в bounds (Rectangle)

bav 23.08.2011 18:39

Например так:
Код AS3:

square.startDrag(false, new Rectangle(x, y, width, height));

Смотрите flash.geom.Rectangle.

alex3dsflash 23.08.2011 18:42

а как? и в слушателе мыши эту функцию писать7

Добавлено через 2 минуты
Огромное спасибо! Перехожу просто плавно с as2 на as3 поэтому иногда спрашиваю...

FlashWizard 13.09.2011 13:59

А как ограничить так, чтобы только по-вертикали можно было таскать?

Bgg 13.09.2011 14:02

Цитата:

Сообщение от FlashWizard (Сообщение 1031069)
А как ограничить так, чтобы только по-вертикали можно было таскать?

Указать ширину у Rectangle равную нулю.

FlashWizard 13.09.2011 14:07

Угу, спасибо.

PainKiller 03.12.2011 23:59

Попробовал этот метод для того, чтобы ограничить перетаскивание спрайтов за пределы сцены флешки таким образом:
Код AS3:

var rect:Rectangle = new Rectangle(0, 0, stage.width, stage.height);
                        trace (rect.height +" " + rect.width + "rect");
                        this.startDrag (false, rect);

Обнаружил, что с таким кодом блокируется перетаскивание за пределы сцены только с левой и верхней стороны. Вниз и вправо спрайт закидывается без проблем. Использование численных значений длинны и высоты сцены ничего не изменило. Параметр size ректангла - тоже.


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

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