Форум 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)
-   -   Отдаление объектов (zoom) (http://www.flasher.ru/forum/showthread.php?t=106871)

YANSEN.RU 20.01.2008 22:34

Отдаление объектов (zoom)
 
Уважаемые флешеры! :victory:
Как из этого скрипта приближения, сделать скрипт отдаления..что-то пробую, но не получается:

Код:

an=setInterval(anim_zoom, 10);
function anim_zoom()
{
    _root._xscale+=2; // приближение
    _root._yscale+=2;
    _root._x=Stage.width-_root._xscale*Stage.width*0.01; // смещение... может немного не оптимальное
    _root._y=Stage.height-_root._yscale*Stage.height*0.01;
    _root._x-=(Stage.width-_xmouse)*(100-_root._xscale)*0.01;
    _root._y-=(Stage.height-_ymouse)*(100-_root._yscale)*0.01;
    if (_root._xscale>160) // остонавливаемся, если увеличение сосотвляет 2х
    clearInterval(an);
}

Но, так чтобы было также "отдаление постепенное" а не сразу...
P.S. И еще как можно сделать так чтобы этот скрипт приближал в определенную точку??? Объясните прям как для "тупого" пожалуста! :umnik2:

MrPoma 20.01.2008 22:39

Код:

_root._xscale-=2;
_root._yscale-=2;


YANSEN.RU 21.01.2008 05:46

Цитата:

Сообщение от MrPoma
Код:

_root._xscale-=2;
_root._yscale-=2;


Спасибо...отдаляет - работает!
Но теперь оно уменьшается до тех размеров пока вообще не пропадет..пробовал поиграться с ограничением маштаба в конце скрипта...не получилось... может кто знает как этого достичь...
Чтобы вернуть все в состояние 100% маштаба (при увеличении было 160%)

murat 21.01.2008 15:32

2 - меняем на переменную, при достижении порога сверху или снизу соответственно присваиваем значение -2 или 2

YANSEN.RU 21.01.2008 21:20

Все, тема закрыта! Огромное спасибо MrPoma за содействие...просто огромное спасибо!!!! =)

вот правильный скрипт (приближение и отдаление)

Код:

an=setInterval(anim_zoom, 10, true);

function anim_zoom(zoom_in:Boolean){
    if(zoom_in){     
          _root._xscale+=2; // приближение
          _root._yscale+=2;
          _root._x=Stage.width-_root._xscale*Stage.width*0.01; // смещение... может немного не оптимальное
          _root._y=Stage.height-_root._yscale*Stage.height*0.01;
          _root._x-=(Stage.width-_xmouse)*(100-_root._xscale)*0.01;
          _root._y-=(Stage.height-_ymouse)*(100-_root._yscale)*0.01;
          if (_root._xscale>160){ // остонавливаемся, если увеличение сосотвляет 2х
              clearInterval(an);
          }
    }else{
          _root._xscale-=2;
          _root._yscale-=2;
          _root._x=Stage.width-_root._xscale*Stage.width*0.01; // смещение... может немного не оптимальное
          _root._y=Stage.height-_root._yscale*Stage.height*0.01;
          _root._x-=(Stage.width-_xmouse)*(100-_root._xscale)*0.01;
          _root._y-=(Stage.height-_ymouse)*(100-_root._yscale)*0.01;
          if (_root._xscale<=100){
              clearInterval(an);
          }
    }
}



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

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