![]() |
|
||||||||||
|
|
|
|||||
|
Вобщем вопрос такой) Есть ползунок (movieClip), нужно чтобы он перетаскивался при нажатии на нём мышкой. Причём если он не передвинут в противоположный конец - то совершался бы плавный откат на исходное положение. Код должен находиться на самом мувиклипе... Перетаскивание получилось, плавный откат - нет...Подскажите что не так, вот код:
|
|
|||||
|
Что за бред про то что код должен быть на мувиклипе?
Вот нормальная реализация. там разберешься var id; var setTime = 2; var fadeTime = 100; btn.onPress = function() { clearInterval(id); this.startDrag("",false, 40,0,200,0) } btn.onRelease = checkPoint; function checkPoint() { btn.stopDrag(); if(btn._x < 200) { clearInterval(id); id= setInterval(fade,fadeTime) } else { clearInterval(id); } } function fade() { if(btn._x>40 && btn._x <200) { btn._x = btn._x-setTime } else { clearInterval(id); } } Последний раз редактировалось in4core; 06.04.2010 в 16:35. |
|
|||||
|
не пашет, ещё варианты будут? по возможности дополните мой код
|
|
|||||
|
все там пашет. разобраться вам надо сначала. А не просить написать за вас готовый скрипт. что впринципе я уже и сделал
Добавлено через 10 минут Щас ради интереса даже проверил что я тут наобум написал. Написал я все верно, тока скорость мелкую задал и координаты немного не так. Создай на сцене клип btn помести его в 0-0 координаты и напиши код : var id; var setTime = 2; var fadeTime = 10; btn.onPress = function() { clearInterval(id); this.startDrag("",false,0,500,0,0); }; btn.onRelease = btn.onReleaseOutside = checkPoint; function checkPoint() { btn.stopDrag(); if (btn._x<500) { clearInterval(id); id = setInterval(fade, fadeTime); } else { clearInterval(id); } } function fade() { if (btn._x>0 && btn._x<500) { btn._x = btn._x-setTime; } else { clearInterval(id); } } Последний раз редактировалось in4core; 06.04.2010 в 17:19. |
|
|||||
|
Модрон-ветеринар
|
Вот так, например (см. вложение):
import mx.transitions.Tween; var timeToBack:Number = 0.5; //время на откат var xLimitLeft:Number = 45; var xLimitRight:Number = 450; var x0:Number = fader._x ; //запоминаем начальное положение fader.onPress = function () { this.startDrag(false, xLimitLeft, this._y, xLimitRight, this._y); }; fader.onRelease = fader.onReleaseOutside = function () { this.stopDrag(); if (this._x != xLimitLeft && this._x != xLimitRight) { backIt(this); } }; function backIt (mc:MovieClip) { var back:Tween = new Tween (mc, '_x', mx.transitions.easing.Strong.easeOut, mc._x, x0, timeToBack, true); } Последний раз редактировалось mooncar; 06.04.2010 в 17:49. |
|
|||||
|
Сделал!
![]() function goback() { if (goingback) { slider._x = slider._x - 20; } // end if if (slider._x <= 42) { slider._x = 40; clearInterval(intervalid); goingback = false; } } goingback = false; slider.onPress = function() { clearInterval(id); this.startDrag("",false,85,200,85,40); }; slider.onMouseUp = function () { this.stopDrag(); if (slider._x < 200) { goingback = true; intervalid = setInterval(goback, 1); } else { _root.gotoAndPlay(2); slider._x = 40; slider._y = 85; } // end else if }; stop (); Последний раз редактировалось MkTwo; 06.04.2010 в 17:58. |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:00. |
|
|
« Предыдущая тема | Следующая тема » |
|
|