Просмотр полной версии : Как перетаскивать мувик только в заданом направлении?
Необходмо перетаскивать мувик по наклонной прямой с углом 45 градусов.
Пробывал использовать startDrag(), но им можно таскать в любую сторону.
В ActionScript 2.0 startDrag() можно было ограничить макс и мин значениями координат для перетаскивания, но это всеровно нето, так как мне нужно именно по наклонной в 45гр.
И что именно у вас не получается? «Нужно» это не здесь, это вниз по лестнице.
И что именно у вас не получается? «Нужно» это не здесь, это вниз по лестнице.
Не получается сделать так, что бы можно было тащить только в одном направлении (по наклонной), а не во все стороны таскать.
Попробуй так:
начинай таскать, проверяй координаты, если объект съезжает с вектора, правь координаты...
или:
создай родителя, сунь в него дитё, начинай таскать дитё с ограничением левого и правго барьера. Далее поверни родителя на 45 градусов.. :)
terbooter
16.01.2008, 09:02
В тройке тоже можно ограничить область перемещения,
Если нужно заставить Display Object таскаться мышкой не по всей области плеера, а только по горизонтали (или вертикали)
var rec:Rectangle = new Rectangle(x, 0, width, 0);
this.startDrag(false, rec);
Под 45 градусов можно делать что-нибудь такое:
var s:Sprite=new Sprite();
s.graphics.beginFill (0x555555);
s.graphics.drawCircle (10,10,10);
addChild (s);
s.startDrag (true);
this.addEventListener (Event.ENTER_FRAME,onNewFrame);
function onNewFrame (e:Event)
{
s.x=mouseX;
s.y=300-s.x;
}
terbooter,
Большое спасибо, второй способ помог!
ты бы лучше me2 поблагодарил
xanderello
17.01.2008, 02:50
А можно еще юзать сет и гет :) Извращенно, но эстетично
можно при перемещении мышки находить ближайшую точку к заданному вектору
vic_,
Тоже класный пример, благодарю!
По нажатию начинаешь обрабатывать MouseEvent.MOUSE_MOVE
А в обработчике математика начальных классов, сравнивай текущие координаты и предыдущие.
По отпусканию удаляешь слушатель.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.