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

jwp 19.10.2007 18:39

Плавное масштабирование
 
Здравствуйте!

Я в ActionScript'e полный ноль. :(
Кое-как сделал простое масштабирование мувиклипа:
Код:

on (rollOver) {
        this._xscale=200;
        this._yscale=200;
}

on (rollout) {
        this._xscale=100;
        this._yscale=100;
}

Все работает, но нужно сделать увеличение плавным. Помогите, третий день читаю про setInterval и mx.transitions - вообще не понимаю, как их применять. :wacko:

Vitlik 19.10.2007 18:49

читай хелп на тему onEnterFrame

Wolsh 19.10.2007 18:55

Код:

my_mc.onRollOver = function() {
    this.onEnterFrame = function(){
          this._xscale+=10; 
          this._yscale+=10;
          if (this._xscale == 200){
                delete this.onEnterFrame
          }
    }
}
my_mc.onRollOut = function() {
    this.onEnterFrame = function(){
          this._xscale-=10; 
          this._yscale-=10;
          if (this._xscale == 100){
                delete this.onEnterFrame
          }
    }
}


jwp 19.10.2007 20:18

Wolsh, спасибо!!!! :yahoo:

Работает! Но как и почему все равно загадка...

jwp 19.10.2007 21:13

Вложений: 1
Wolsh, прошу прощения , в этом коде какой-то глюк, или я что-то не то сделал?

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

К сожалению, сам не могу разобраться...

Mr. Fixit 19.10.2007 21:25

Код:

my_mc.onRollOver = function () {
        this.onEnterFrame = function () {
                if (this._xscale == 200) {
                        delete this.onEnterFrame;
                } else {
                        this._xscale += 10;
                        this._yscale += 10;
                }
        };
};
my_mc.onRollOut = function () {
        this.onEnterFrame = function () {
                if (this._xscale == 100) {
                        delete this.onEnterFrame;
                } else {
                        this._xscale -= 10;
                        this._yscale -= 10;
                }
        };
};


jwp 19.10.2007 21:42

Спасибо огромное! Пашет как часы!

Wolsh 19.10.2007 23:55

2 Mr. Fixit :victory:
Я ж на скорую руку писал, чтоб саму идею показать, уж без обид :)
а вообще надо наверно <= и >= использовать вместо ==


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

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