Форум 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=84133)

xcube 24.08.2006 02:32

прозрачность мувика в зависимости от положения мыши
 
мне нужно чтобы менялась прозрачность клипа. т.е. чем ближе мышка к клипу тем он виднее и наоборот.

знаю что нужно дать имя клипу, создать переменную и привязать ее значение к значению мыши....
не буду просить готовый исходник или просить написать код.... хочу сам дойти до истины = )

но я плохо знаю синтаксис и вобще опыт работы с actionScript небольшой.
помогите написать скрипт с чего начать?
какие операторы нужно задействовать.
дайте плиз подсказки.

Therion 24.08.2006 03:13

до истины дойти не сложно:)
сначало находиш расстояние стрелки к мувику
Код:

"mc"- имя  мувиклипа

расстояние по оси X
Xd=_xmouse-mc._x
расстояние по оси Y
Yd=_ymouse-mc._y

общее расстояние решаем по теореме пифагора (C²=A2+B²)
D=Math.sqrt(Xd*Xd+Yd*Yd)    (Math.sqrt()=> корень из числа)

теперь надо написать зависимость между D и _alpha (_alpha-прозрачность:
0- мувик не видно, 100 мувик полностью видно итд)

значить чем больше D тем меньше _alpha

дальше уже сам:)

а в готовом виде это должно выглядеть примерно так:
Код:

_root.onEnterFrame=function(){
Xd=_xmouse-mc._x
Yd=_ymouse-mc._y
D=Math.sqrt(Xd*Xd+Yd*Yd)
mc._alpha=.....

 }


xcube 24.08.2006 03:21

Therion , big THANKS щас попробую!!! = )

Therion 24.08.2006 03:31

во
сделал самый простой способ...
Код:

_root.onEnterFrame=function(){
Xd=_xmouse-mc._x
Yd=_ymouse-mc._y
D=Math.sqrt(Xd*Xd+Yd*Yd)
mc._alpha=100-D }

если мувик исчезает силно быстро(зависит от расстояния "D"), то "D" можно поделить на 2,3,... Если исчезает слишком медленно, тогда "D" можно умножить

xcube 24.08.2006 03:34

урааа! работает!

Код:

_root.onEnterFrame=function(){
Xd=_xmouse-mc._x
Yd=_ymouse-mc._y
D = Math.sqrt(Xd*Xd+Yd*Yd);
mc._alpha=D;
 }

вот всегда так когда на код смотриш все понятно (почти), а с нуля не знаеш за что браться даже...

Therion еще раз спасибо

xcube 24.08.2006 03:37

Therion, снова спасибо как раз думал над тем как убавить чувстсительность!!!

xcube 24.08.2006 04:01

а как инвертировать значение переменной D чтобы при приближении мувик наоборот проявлялся а не проподал?

Therion 24.08.2006 04:06

просто от определённого числа отнимаеш "D"
у меня в скрипте написано так... mc._alpha=100-D

xcube 24.08.2006 04:49

снова вопрос появился как сделать чтобы значение переменной D не превышало значение 600?
заранее спасибо

xcube 24.08.2006 05:01

кажись сам разобрался теперь прозрачность не обускается ниже исходной - вот = )

Код:

_root.onEnterFrame = function() {
Yd=_ymouse-mc._y
D = Math.sqrt(Yd*4*Yd*4);
mc._alpha=700-D
if (mc._alpha<50){
        mc._alpha=51}
 trace(mc._alpha);
 }



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

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