Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Колебание объекта при наведении (http://www.flasher.ru/forum/showthread.php?t=83803)

Drop 16.08.2006 17:28

Колебание объекта при наведении
 
Нужно сделать вот что: при наведение на мувик мышкой мувик должен начать двигаться в права в лево поочередно, как будильник в мультиках начинает звинеть и дергаться, до тех пор пока мышка не будет убрана. У меня получалось только чтобы движение порторялось только один раз. Как зациклить движение дотех пор пока ме будет убрана мышка?

Aisaid 16.08.2006 17:34

может проще анимировать через твики?
делаеш анимацию - в первом же кадре - стоп! а в последнем - го на 2
а при наведении - го на 2 кадр
при снятии мышки - стоп, или го на 1 кадр

Sneg 16.08.2006 17:37

Используй гамонические колебания с x = А*cos (ωt). Или здесь есть простенький примерчик без синуса:
http://www.silin.fatal.ru/misc/index.html

CCCPirate 16.08.2006 18:47

вместо onRollOver используй onEnterFrame с определением координат мышки и клипа

DarkLight 16.08.2006 18:54

На onRollOver задаем мувику onEnterFrame c колебанием, а на onRollOut удаляем. И мне кажется, что гармонические колебания здесь не очень-то нужны, просто изменение координат и _rotation

Drop 17.08.2006 15:05

Всем спасибо но немного это не то. Нужно было сразу написать подробнее. Дело в том что объект всегда прижимается к правому краю окна, что бы при масштабировании окна браузера (это делается для сайта) ок двигался вместе с окном. Поэтому смена координат не подойдет. Визуально это долно выглядеть как будто звонит телефон (это и есть телефон:)) видемо придется от этого отказаться. Ещё раз всем спасибо

CCCPirate 17.08.2006 16:32

Вложений: 1
Цитата:

Сообщение от Drop
Всем спасибо но немного это не то. Нужно было сразу написать подробнее. Дело в том что объект всегда прижимается к правому краю окна, что бы при масштабировании окна браузера (это делается для сайта) ок двигался вместе с окном. Поэтому смена координат не подойдет. Визуально это долно выглядеть как будто звонит телефон (это и есть телефон:)) видемо придется от этого отказаться. Ещё раз всем спасибо

смена координат поисходит не в окне браузера, а внутри SWF , который может находится в любой части окна, любое движение объекта - это смена координат

ставь эту куда хош:

Вложение 15009

или сделай как там

Drop 17.08.2006 17:02

Я прикратно знаю что он считывает координаты внутри swf на за счет етого телефон и прижимается к краю. А в telephone.rar что то пустой ролик и я не понял что вы имели ввиду под "вместо onRollOver используй onEnterFrame" у меня внутри onRollOver находится onEnterFrame.

CCCPirate 17.08.2006 17:14

Цитата:

Сообщение от Drop
Я прикратно знаю что он считывает координаты внутри swf на за счет етого телефон и прижимается к краю. А в telephone.rar что то пустой ролик и я не понял что вы имели ввиду под "вместо onRollOver используй onEnterFrame" у меня внутри onRollOver находится onEnterFrame.

Вы издеваетесь? Все там в раре нормально...

Я имел ввиду что onRollOver- событие, которое срабатывает только при наведении мышки, следовательно для циклического процесса оно не подходит, используйте его, что б при наведении мыши изменялась какая-нибудь переменная, а событие onEnterFrame при значении этой переменной в true будет запускать движение, onRollOut соответственно, будет менять переменную на false.

че то типа этого:

Код:


клип.stop();
клип.onRollOver = function()
{
        клип.hit = true;
};
клип.onRollOut = function()
{
        клип.hit = false;
};
клип.onEnterFrame = function()
{
        if (hit=true) {
                play();
        } else {
                (stop());
        }
};


Drop 18.08.2006 10:39

Отлично с привязкой по навидению разобрались :) осталось выяснить главное как добиться того что бы телефон вибрировал более мение правдоподобно. С гармоническим колебание что то не очень:) есть идеи?

RonEXI 18.08.2006 22:30

Вложений: 1
Телефон.

PSoWP 19.08.2006 01:37

ну в рарке только свф а вскрывать мне лень))

создайанимацию звонящего телефона и помести код:
Код:

клип.stop();
клип.onRollOver = клип.onDragOver = function() {
  клип.onEnterFrame = function() {
      клип.play()
  }
};
клип.onRollOut = клип.onDragOut= function() {
  delete клип.onEnterFrame
  клип.gotoAndStop(1)
};

если кнопка то драги не нужны

SkipIntro 23.01.2008 23:38

А у меня такой вопрос. Нужно реализовать такую идею:
есть квадратик (допустим ) ), на него наводишь мышкой и он начинает расширяться и сжиматься, периодически, с постепенным затуханием. Если мышку отводишь, он не останавливается мгновенно, а доходит до состояния покоя сам. Причем если на него снова навести мышкой, он снова должен начать колебаться. Так вот у меня чего-то никак не получается...
Пока максимум, какого результата я смог достичь, это вот:
Код:

stop();
_root.kol = false;
sq.onRollOver = function() {
        _root.kol = true;
};
sq.onRollOut = function() {
        _root.kol = false;
};
sq.onEnterFrame = function () {
        if (_root.kol=false) {
                s_x = 100;
                s_y = 100;
                q = 0;
                z = 0;
        } else {
                s_x = 100;
                s_y = 100;
                q = 0.1;
                z = 2;
                x += s_x-sq._xscale;
                y += s_y-sq._yscale;
                dx = x-sq._xscale/z;
                dy = y-sq._yscale/z;
                sq._xscale += dx*q;
                sq._yscale += dy*q;
        }
};

Sq - данный квадрат - мувиклип. Код стоит в первом кадре. Больше нигде кода нет.
Если есть желающие оказать помощь, просьба помочь на языке Action Script 1, предлагать изучить AS3 не стоит )
В этом колебание срабатыает сразу, а действия мышки никаких воздействий не оказывает. Квадрат останавливается и все (


Часовой пояс GMT +4, время: 17:05.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.