Просмотр полной версии : Срочно... Нужна помощь !!!!
Есть MovieClip. Нужно сделать так что бы при нажатии на нем мышой, было так: тянем мышу вверх - он крутится по часовой стрелке, тянем вниз - против. (при нажатой мыше, отпускаем кнопку на мыше (в любом месте) и все повороты заканчиваются)...
пардон, недочитал, вот то что просили
(первый тоже крутится только при нажатии везде, а не на самом муве)
silin - не знаю, как у тебя, а я набросал такой прототипчик:
MovieClip.prototype.test = function() {
n = 1;
this.onMouseMove = function() {
y2 = _root._ymouse;
};
this.onRollOver = function() {
this.onMouseDown = function() {
this.onEnterFrame = function() {
n *= -1;
if (n>0) {
y1 = _root._ymouse;
}
if ((y2-y1)>0) {
this._rotation += 30;
}
if ((y2-y1)<0) {
this._rotation += -30;
}
if ((y2-y1) == 0) {
this._rotation += 0;
}
};
this.onDragOut = function() {
delete this.onEnterFrame;
delete this.onMouseDown;
};
};
this.onMouseUp = function() {
delete this.onEnterFrame;
delete this.onMouseDown;
};
};
};
mc.test();//mc - крутящ.мувик.
2Штрек: ты, как обычно, прав - тока проще надо быть
MovieClip.prototype.crut_vert=function(){
this.onPress = function() {
pressed = 1;
};
this.onRelease = this.onReleaseOutside =function() {
dir =pressed = 0;
};
this.onMouseMove = function() {
if (pressed) { dir = (y-_ymouse); }
y = _ymouse;
};
this.onEnterFrame = function() {
this._rotation += dir;
};
}
mc.crut_vert();
Проще не всегда правильно!
У тебя при остановке мыши крутёж продолжается,
что не есть строгое решение задачки.
Если прикинуть - зачем задачка, то я так понимаю - повращать мышом предмет, закреплённый в одной точке. ;)
Ещё досмотрел - у тебя при onDragOut -
крутёж продолжается. ;)
да ладно придираться, просили же идею, а без выключения по onDragOut даже прикольнее :p
Оригинал написал(а) silin
да ладно придираться, просили же идею, а без выключения по onDragOut даже прикольнее :p
Мож и прикольней, но не ЖИЗНЕННО. :p
разрешите доложить: все замеченные недоделки устранены
MovieClip.prototype.crut_vert=function(){
this.onPress = function() {
y=_ymouse;
this.onEnterFrame = function() {
dir = (y-_ymouse);
y = _ymouse;
this._rotation += dir/10;//по вкусу
}
};
this.onDragOut=this.onRelease = this.onReleaseOutside =function() { delete this.onEnterFrame;};
}
mc.crut_vert();
Есть один, но существенный, недостаток -
если onPress - делать не по центру мувика, а например
рядом с нижним краем, то попробуй ка покрути. :p
ну добавим тада onDragOver
MovieClip.prototype.crut_vert=function(){
this.onDragOver=this.onPress = function() {
y=_ymouse;
this.onEnterFrame = function() {
dir = (y-_ymouse);
y = _ymouse;
this._rotation += dir/10;//по вкусу
}
};
this.onDragOut=this.onRelease = this.onReleaseOutside =function() { delete this.onEnterFrame;};
}
mc.crut_vert();
Ну чего тут скажешь - мастер! :p
Не всем же быть такими умными.
Подтянемся :D
Ну вы блин даете... Я вот ночь посидел и утром придумал... криво но работает!
onClipEvent (mouseMove)
{
if (_root.qq.pushed == 1)
{
if (_root.qq.y_poz>_root._ymouse)
{
_root.qq._rotation+=3;
_root.qq.y_poz = _root._ymouse;
_root.disp = _root.qq.y_poz;
}
}
}
//---------------------
onClipEvent (mouseUp)
{
_root.qq.pushed = 0;
}
qq (MovieClip) внутри него кнопка. при нажатии присваеваем pushed = 1, а в action на мувике сами видите.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.