![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2010
Сообщений: 24
|
Использую след. код, для прокрутки клипа:
b_up.onPress = function() { scroll("up",true); }; b_up.onRelease = b_up.onReleaseOutside = function () { scroll("up",false); }; b_down.onPress = function() { scroll("down",true); }; b_down.onRelease = b_down.onReleaseOutside = function () { scroll("down",false); }; function scroll(course, mov) { if (mov) { this.onEnterFrame = function() { if (course == "up") { mc._y--; } if (course == "down") { mc._y++; } }; } else { this.onEnterFrame = null; } } Последний раз редактировалось udaaff; 27.04.2010 в 18:37. |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
var l:Number; var minY:Number = 20; var maxY:Number = 200; b_up.onPress = b_up_onPressHandler; b_up.onMouseUp = onMouseUpHandler; b_down.onPress = b_down_onPressHandler; b_down.onMouseUp = onMouseUpHandler; function b_up_onPressHandler() { l = -5; onEnterFrame = onEnterFrameHandler; } function b_down_onPressHandler() { l = 5; onEnterFrame = onEnterFrameHandler; } function onEnterFrameHandler() { mc._y = Math.max(minY, Math.min(maxY, mc._y + l)) } function onMouseUpHandler() { delete onEnterFrame; } |
|
|||||
|
Регистрация: Mar 2010
Сообщений: 24
|
Спасибо! Но проблема не исчезла, вот пример приложения:
[IMG]http://s60.***********/i170/1004/01/e95e60bda4fc.jpg[/IMG] Описание: 1,2,3 - верхние кнопки; 4 - клип (который передвигаем); 5,6 - кнопки для скроллинга; Когда прокрутить клип вниз, он залезает на верхние кнопки. Старался сделать через маску, не получилось. |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Непонятно.
|
|
|||||
|
Регистрация: Mar 2010
Сообщений: 24
|
2udaaff, при прокрутке клипа, он залезает поверх кнопок. А должен изчезать под ними.
|
|
|||||
|
[+4 06.05.14]
|
class com.AlexNavigation.scrollbarDEFENDER { var _S:MovieClip;//scroller var _M:MovieClip;//mask var _C:MovieClip;//content var _d;// down button var _u; // up button var top; var bottom; var left; var right; var _int; var _int2; public function scrollbarDEFENDER() { } private function scrollIt(_s, _m, _c, useButtons, btDown, btUp) { if (useButtons == undefined) { useButtons = false; } _S = _s; _M = _m; _C = _c; _d = btDown; _u = btUp; top = _M._y; bottom = _M._y+_M._height-_S._height; left = _M._x; right = _M._x+_M._width; _C._y = top; _C._x = left; _S._y = top; _S._x = right; _S.onPress = mx.utils.Delegate.create(this, PRESS); _S.onMouseMove = mx.utils.Delegate.create(this, Update); _S.onRelease = _S.onReleaseOutside=btDown.onRelease=btUp.onRelease=btDown.onReleaseOutside=btUp.onReleaseOutside=mx.utils.Delegate.create(this, RELEASE); _M.onMouseMove = mx.utils.Delegate.create(this, check); if (useButtons) { _S._visible = false; btDown.onPress = mx.utils.Delegate.create(this, dREL); btUp.onPress = mx.utils.Delegate.create(this, upREL); } } function RELEASE() { clearInterval(_int); _S.stopDrag(); } function Update() { var ratio = (_C._height-_M._height)/(_M._height-_S._height); _C._y = ((_M._y-_S._y)*ratio)+_M._y; } function PRESS() { if (_M._height<_C._height) { _S.startDrag(false,right,top,right,bottom); } } function check() { if (_M._height<_C._height) { _S.enabled = true; _d._visible = true; _u._visible = true; } else { _S.enabled = false; _d._visible = false; _u._visible = false; } } function dREL() { clearInterval(_int); _int = setInterval(this, "D", 40); } function upREL() { clearInterval(_int); _int = setInterval(this, "O", 40); } function O() { if (_S._y<_M._y+_M._height-_S._height && _C._height>_M._height) { _S._y = _S._y+5; } Update(); } function D() { if (_S._y != _M._y && _C._height>_M._height) { _S._y = _S._y-5; } Update(); } } |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
И обфускатор не нужен
![]() |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
|
![]() |
![]() |
Часовой пояс GMT +4, время: 21:59. |
|
|
« Предыдущая тема | Следующая тема » |
|
|