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

fancy 31.01.2006 19:19

плавный zoom
 
Не найдя ничего на flashkit и тут прошу помощи.
Код:

on (press) {
        setProperty(_root.map, _xscale, i = i + 10);
        setProperty(_root.map, _yscale, i = i + 10);
}

Нажимаю на пипку, и при каждом нажатии мувик рывками по 10% увеличивается.
как сделать, чтобы при нажатии он увеличивался плавно?

CREDO 31.01.2006 19:22

Работай с Tween

mr.freeze 31.01.2006 19:28

или цикл с задержкой организуй...

Fl00r 31.01.2006 19:34

Код:

_global.scaler = 100;
myPic.onRelease = function(){
  _global.scaler -= 10;
}

_root.onEnterFrame = function(){
  zoomer = (myPic._xscale - scaler)/4;
  myPic._xscale = myPic._yscale -= zoomer;
}


Kyber Anton 31.01.2006 22:56

on (press) {
_root.map.onEnterFrame = function(){
_root.map._xscale +=10;
_root.map._yscale +=10;
}
}
on (release){
_root.map.onEnterFrame = null;
}

Король 01.02.2006 00:46

Код:

MovieClip.prototype.scaleTo = function(scale, speed, onComplete) {
        this.scale = scale;
        this.onComplete = onComplete;
        this.speed = speed;
        this.onEnterFrame = function() {
                this._xscale += Math.ceil((this.scale-this._xscale)/this.speed);
                this._yscale = this._xscale;
                if (Math.abs(this._xscale-this.scale)<5) {
                        delete this.onEnterFrame;
                        this._xscale = this.scale;
                        this._yscale = this._xscale;
                        trace(this._xscale)
                        this.onComplete();
                }
        };
};


fancy 01.02.2006 22:41

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

вот еще такой вопрос не относящийся к зуму.
есть мувик с двумя сценами.
в первой есть простой до безобразия прелоадер
1 кадр
Код:

        t = _root.getBytesTotal();
        l = _root.getBytesLoaded();
        p = l/t*100;
        _root.LMovie.gotoAndPlay (Math.round(p));
        _root.LMovie.PreL = String(int(p))+"%";
        _root.LMovie.Tbyt = Math.round(t/1024)+" Kb";

2 кадр
Код:

        if (t != l){
                gotoAndPlay(1)
                }

так вот, прелоадер работает, меня устраивает, но есть одно "но"
в прелоадере есть довольно увесистые картиночки и анимация, допустим килов 100 и вот прелоадер появляется на экране тогда, когда уже 20%--30%. это мне не очень нравится. с хлипкими прелоадерами, где все укладывается в 2-10кб это нормально.

вопрос такой, как мне сделать еще один прелоадер, который загружает контент из основного лоадера? во как:)

Antares 01.02.2006 23:13

Сделать прелоадер в одном ролике, а контент -- в другой .swf

fancy 01.02.2006 23:24

Цитата:

Сообщение от Antares
Сделать прелоадер в одном ролике, а контент -- в другой .swf

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

fancy 02.02.2006 00:01

в итоге у меня должно получится вот так:

1й файл с маленьким прелоадером в первых кадрах, который загружает следущие кадры с основным прелоадером, который в свою очередь поддтягивает 2й файл загружает его и показывает.


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

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