PDA

Просмотр полной версии : двойной клик по мувику + startDrag


Dear.D
22.05.2008, 16:04
Значится так, есть некий мувик. При onPress он должен быть startDrag, при двойном клике он должен _xscale *= -1

mc.onPress = function() {
if (this.flag != true) {
this.startDrag();
this.time = getTimer();
this.flag = true;
} else {
if (getTimer()-this.time<300) {
//после одного нажатия эта фигня перестает работать, но только до следующего клика this._xscale *= -1;
this.flag = false;
} else {
this.startDrag();
this.flag = false;
}
}
};
mc.onRelease = mc.onReleaseOutside=function () {
stopDrag();
};


как поправить? :confused:

iNils
22.05.2008, 16:51
А тут флаг совсем не нужен, достаточно времени.
mc.onPress = function () {
if (getTimer () - this.time < 300) {
this._xscale *= -1;
} else {
this.startDrag ();
}
this.time = getTimer ();
};
mc.onRelease = mc.onReleaseOutside = function () {
stopDrag ();
};

Dear.D
22.05.2008, 17:14
круто.
Мож ну их эти учебники. У меня мозг раком встал.

Alex_beginner
22.05.2008, 18:08
Если нужно чтобы _xscale *= -1 (двойной щелчок) следовало сразу же за событием onPress (одинарный щелчок), то безусловно код iNils выполняет это как нельзя лучше. Однако, для раздельного использования
этих моментов нужен немного другой код. Предлагаю вариант. Не бог весть что, но работает:


var ID:Number=0;
var clickNum:Number=0;

myClip.onPress = function():Void
{
clickNum++;
if (ID==0) ID=setInterval(myFunc,100);
}

function myFunc():Void
{
clearInterval(ID);
ID=0;
if (clickNum==2)
{
myClip._xscale+=100;
}else
{
myClip.startDrag();
};
clickNum=0;
}