![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Как определить, перетаскиваеться в данный момент объект с помощью startDrag или нет?
Это написано в документации на StartDrag Цитата:
Может есть какое то свойство у кого нибудь, или события типа dragged? |
|
|||||
|
Регистрация: Apr 2004
Адрес: macromedia—adobe Любит: Flash MX
Сообщений: 2,860
|
проверь меняются ли координаты относительно тех, пока не взял на drag, а вообще нет isDragged.
__________________
маска лошади и коня в россии и снг с бесплатной доставкой gimmethevape вейпы и поды доставка Последний раз редактировалось Ostgur; 16.10.2007 в 20:04. |
|
|||||
|
стервочка (я мужик)
|
а унаследовать класс от спрайта и переопределить свойство startDrag и stopDrag?
private static var _dragged:Sprite;
public function get dragged():Boolean {
return ( this === _dragged );
}
public override function startDrag():void {
_dragged = this;
super.startDrag();
}
public override function stopDrag():void {
super.stopDrag();
_dragged = null;
}
что-то типа того. Последний раз редактировалось etc; 16.10.2007 в 22:30. |
|
|||||
|
Спасибо всем ответившим.
to Ostgur: вообще не понял, что ты пердлагаешь. to BlooDHounD: Идея хорошая и даже очень правильная, но.... для её реализации мне все мои классы придётся отнаследовать от моего Апгрейднутого sprite. Вот в этом то и загвоздка. Ведь иногда мне нужно наследоваться не только от Sprite, но и от MovieClip, который будет лишен этой функциональности. Так что вопрос остаётся открытым. Я пытался переопреелить эти функции у прототипа Sprite. Но у меня ничего не получилось. Просто с прототипами я на "..... твою мать". Может кто знает, как правильно это сделать. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Ну сделай апгрейденный MovieClip =)
|
|
|||||
|
Цитата:
to 2morrowMan: Смотри внимательно третий пост в этой тебе. В нем хоть наследование есть, а у тебя нету. НО всё равно спасибо, что отклинкнулся. Цитата:
Вопрос всё еще открыт. И теперь он преобретает еще более интересный окрас. А можно ли вообще сделать то, о чем я говорю? |
|
|||||
|
Регистрация: Aug 2007
Сообщений: 467
|
Цитата:
Блин, небыло времени все расписывать, но вижу придется! (Пишу все находу без проверки на работоспособность - извиняйте за ошибки) // Drager.as
package
{
public class Drager // DragManager, называй как хочешь
{
private var target:Sprite = null;
public function DragMgr()
{
}
public function dragSprite(spr:Sprite):void
{
target = spr;
spr.startDrag();
}
public function dropSprite(spr:Sprite):void
{
if (spr) spr.stopDrag();
target = null;
}
public function isDraging(spr:Sprite):Boolean
{
return (target && (target == spr));
}
}
}
// somewhere...
import Drager;
...
var myDrager = new Drager();
...
function onMouseDown(event:MouseEvent):void
{
if (event.currentTarget is Sprite)
myDrager.dragSprite(event.currentTarget);
}
function mouseReleased(event:MouseEvent):void {
{
myDrager.dropSprite(event.currentTarget);
}
...
function someFunc()
{
trace(myDrager.isDraging(mySomething));
}
Последний раз редактировалось 2morrowMan; 17.10.2007 в 16:22. |
|
|||||
|
to 2morrowMan: Тогда у меня к тебе второй вопрос, как твою штуку внедрить к кучу классов. Мне что везде вместо startDrag писать myDrager.startDrag? Я это делать не особо хочу потому что
Цитата:
|
|
|||||
|
Регистрация: Sep 2006
Сообщений: 256
|
Цитата:
__________________
:emocry: |
|
|||||
|
стервочка (я мужик)
|
в АС3 с портотипами так просто не поработаешь
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:42. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|