Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Как остановить увеличение размера объекта? (http://www.flasher.ru/forum/showthread.php?t=43614)

Elmira 05.03.2003 17:34

Как остановить увеличение размера объекта?
 
Нужно, чтобы объект плавно увеличился в размерах, затем остановился и поменял цвет.
Пишу на MovieClip (Name=text):
onClipEvent (enterFrame) {
var clr;
_xscale += 1;
_yscale += 1;
if (text._xscale==100){
clr = new Color(this);
clr.setRGB(200, 200, 200);
stop();
}
}
Подскажите, что не так?

:confused:

Nox Noctis 05.03.2003 17:45

да все так, просто от стопа функция онЕнетрФрейм не останавливается =)

можно так:
Код:

onClipEvent (enterFrame) {
        if (_xscale == 100 && !clr) {
                clr = new Color(this);
                clr.setRGB(200, 200, 200);
        } else {
                _xscale += 1;
                _yscale += 1;
        }
}


Elmira 05.03.2003 17:59

В этом случае объект менятет цвет сразу и продолжает увеличивается (не останавливается).......

llllllllll 05.03.2003 17:59

а еще лучше вешать не на onClipEvent(EnterFrame){ ... }, а на function onEnterFrame(){ ... }, тогда его можно удалить за ненадобностью =) -> delete this.onEnterFrame =)

Nox Noctis 05.03.2003 18:02

ээ... я там написал
if (_xscale == 100.....
вместо
if (text._xscale == 100

сорри =)

Elmira 05.03.2003 18:18

Увы, это ничего не изменило...

Nox Noctis 05.03.2003 18:25

а ! я не просек что 'text' это имя твоего клипа... торможу... =)
так что в первом моем сообщении код написан правильно.

у тебя клип увеличивается до тех пор пока не достигнет исходного размера (масштаб 100%)

ну вот ты это и получила... у тебя видимо у клипа и так исходно _xscale и _yscale равны 100, так что сразу происходит изменение цвета.

WD` 06.03.2003 00:44

1.

f=0;
onClipEvent (enterFrame) {
if(f==0)
{
if(_xscale<100)
{
_xscale++;_yscale++;
}
else
{
clr = new Color(this);clr.setRGB(200, 200, 200);f=1;
}}}


2.

onEnterFrame=function()
{
if(_xscale<100)
{_xscale++;_yscale++;}
else
{clr = new Color(this);clr.setRGB(200, 200, 200);
onEnterFrame=Null;}
}


ЗЫ: второй вариант никогда не пробовал:) так что не обещаю:)

Elmira 11.03.2003 13:08

Спасибо всем большое! :)


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

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