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

Benuar 16.11.2006 00:31

Где Ошибка?
 
Привет:)
При нажатиии на кнопу должен атачиться мувик, и плавно появляться на сцене.

Нажимаю кнопку и мувик появляеться резко и сразу.. вот код в чём ошибка
Код:

spoonBut.onRelease=function(){
        _root.attachMovie("Contact[1]", "Conctact",0,{_x:105, _y:450});
        Contact[1]._alpha=10;
        onEnterFrame=function(){
                if(Contact[1]._alpha>=100){
                        delete onEnterFrame;
                }
                Contact[1]._alpha+=5;
        }
}

:umnik2:

DarkLight 16.11.2006 00:57

Код:

spoonBut.onRelease=function(){
        _root.attachMovie("Contact[1]", "Conctact",0,{_x:105, _y:450});
        //Имя отатаченного мувика - 2ой параметр attachMovie
        Conctact._alpha=10;
        onEnterFrame=function(){
                if(Conctact._alpha>=100){
                        delete onEnterFrame;
                }
                Conctact._alpha+=5;
        }
}


iNils 16.11.2006 01:03

Ошибки и прочее:
1. В attachMovie первым параметром идет linkage name в библиотеке, вторым идет имя который получит клип, а не наоборот.
2. Создать мувик с именем Contact[1] можно, но обратится к нему просто так нельзя, придется писать
Код:

this["Contact[1]"]
3. Contact и Conctact это разные слова, возможны ошибки.
4. _alpha=10 можно указать не отдельной строкой, а вместе с координатами {_x:105, _y:450,_alpha:10}

Benuar 16.11.2006 01:08

Пасиб :)

pkfun 16.11.2006 01:08

Вложений: 1
Ну вот, спецы все прояснили, а я примерчик накатал. :D

Вложение 15789

Benuar 16.11.2006 01:39

Где писать this?

НепоняВв...

DarkLight 16.11.2006 01:44

Конструкция Contact[1] будет воспринята как первый элемент массива Contact. Если хочется использовать такое имя, нужно писать this["Contact[1]"]

Benuar 16.11.2006 01:48

+ ещё вопрос..вот допустим я сделал, чтоб мой мувик плавно появлялся.. как сдлеать так чтоб как только его _alpha=100 он держиться 10 сек и постепенно исчезает..
имею ввиду сделать програмно :)

pkfun 16.11.2006 03:10

Код:

var mn:MovieClip = this;
var fl:Boolean = false;
var tm:Number = 0;
//
function mov():Void {
        bt.onRelease = bt.onReleaseOutside=function () {
                mc = mn.attachMovie("muv", "muv1", mn.getNextHighestDepth(), {_x:50, _y:40, _alpha:10});
                //
                delete bt.onRelease;
                delete bt.onReleaseOutside;
                //
                mcPlace(100, 2, false);
                tm = getTimer();
                //
                mc.onEnterFrame = function():Void  {
                        if (getTimer()-tm>10000) {
                                delete mc.onEnterFrame;
                                mcPlace(0, -2, true);
                        }
                };
        };
}
//
function mcPlace(al:Number, kf:Number, dir:Boolean):Void {
        mn.onEnterFrame = function():Void  {
                if (dir == false) {
                        mc._alpha>=al ? delete mn.onEnterFrame : mc._alpha += kf;
                } else {
                        mc._alpha<=al ? delAlh() : mc._alpha += kf;
                }
        };
}
//
function delAlh():Void {
        delete mn.onEnterFrame;
        mc.removeMovieClip();
        mov();
}
//
mov();

Время задержки от начала появления, до начала исчезания задано в блоке:
Код:

mc.onEnterFrame = function():Void  {
                        if (getTimer()-tm>10000) {
                                delete mc.onEnterFrame;
                                mcPlace(0, -2, true);
                        }
                };

Кажется довольно сложно получилось, но вроде все точно. :)


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

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