Просмотр полной версии : прозрачность мувика в зависимости от положения мыши
мне нужно чтобы менялась прозрачность клипа. т.е. чем ближе мышка к клипу тем он виднее и наоборот.
знаю что нужно дать имя клипу, создать переменную и привязать ее значение к значению мыши....
не буду просить готовый исходник или просить написать код.... хочу сам дойти до истины = )
но я плохо знаю синтаксис и вобще опыт работы с actionScript небольшой.
помогите написать скрипт с чего начать?
какие операторы нужно задействовать.
дайте плиз подсказки.
до истины дойти не сложно:)
сначало находиш расстояние стрелки к мувику
"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=.....
}
Therion , big THANKS щас попробую!!! = )
во
сделал самый простой способ...
_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" можно умножить
урааа! работает!
_root.onEnterFrame=function(){
Xd=_xmouse-mc._x
Yd=_ymouse-mc._y
D = Math.sqrt(Xd*Xd+Yd*Yd);
mc._alpha=D;
}
вот всегда так когда на код смотриш все понятно (почти), а с нуля не знаеш за что браться даже...
Therion еще раз спасибо
Therion, снова спасибо как раз думал над тем как убавить чувстсительность!!!
а как инвертировать значение переменной D чтобы при приближении мувик наоборот проявлялся а не проподал?
просто от определённого числа отнимаеш "D"
у меня в скрипте написано так... mc._alpha=100-D
снова вопрос появился как сделать чтобы значение переменной D не превышало значение 600?
заранее спасибо
кажись сам разобрался теперь прозрачность не обускается ниже исходной - вот = )
_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);
}
xcube, прочитайте пункт 3 (остальные тоже почитайте для общего развития) правил подраздела http://www.flasher.ru/forum/showthread.php?t=79864
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.