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

Ярик 13.03.2007 17:49

Цитата:

Сообщение от __etc
Судя по всему, создание происходит в классе, который не является наследником MovieClip.

Так в этом-то и проблема: класс создавался ручками в библиотеке - правой кнопкой мыши -> New symbol -> MovieClip.
Функция Create в первом фрейме клипа, вызов из _root.
Потом ручками перетаскивался на _root.
Instance name -> menu.

Голова кругом :wacko:

iNils 13.03.2007 17:51

Чего чего?

etc 13.03.2007 17:51

Выкладывайте исходник, надоело. Телепатов тут нет.

Ярик 13.03.2007 17:55

Исходник еще раз:

_root:
_frame1:

Код:

var currentPage:Page;
var xmlDoc:XML = new XML();
var navigation:Content;
xmlDoc.load("content.xml");
xmlDoc.onLoad = function(success:Boolean) {
        if (success) {
                navigation = new Content(xmlDoc);
                menu.Create(navigation); // Вызов этой злополучной
                currentPage = navigation.pages[0];
                setPage(currentPage);
        } else {
                trace("Не получается!.. :(");
        }
};
var setPage:Function = function (page:Page) {
        header.fx.Start(page.header);
        txt.htmlText = page.text;
};

Клип menu:
_frame1:

Код:

import mx.transitions.Tween;
var buttons:Array;
var Create:Function = function (nav:Content) {
        for (var i = 0; i < nav.pages.length; i++) {
                this.attachMovie("Btn", "Btn" + i, this.getNextHighestDepth(), {_x:0, _y:i * 25});
                trace(this + ": " typeof(this)); // _level10.menu: MovieClip
                trace(this.getNextHighestDepth()); // Undefined
                this["Btn"+i].page = nav.pages[i];
                this["Btn"+i].onPress = function() {
                        _parent.setPage(this.page);
                };
                var tween:Tween = new Tween(this["Btn" + i], "_y", mx.transitions.easing.Elastic.easeOut, 0, i * 25, 2, true);
                tween.start();
        }
};

Не сердитесь, пожалуйста. Я первый раз полез за помощью, до всего обычно сам докапываюсь. Но тут кажется все должно быть настолько просто, что не могу увидеть сам.
Знаете что вещи, лежащие под носом сложнее всего заметить...

lowka 13.03.2007 17:58

Убрал все лишнее.
Цитата:

Сообщение от Ярик
Исходник:
_root:
Код:


xmlDoc.onLoad = function(success:Boolean) {
        if (success) {
                ....
                menu.Create(navigation);
                ....
        }
        ....
};

Клип menu:
_frame1:

Код:

....
var Create:Function = function (nav:Content) {
        ...
        trace(this.getNextHighestDepth());
        ....
};


this в onLoad на xml указывает вроде, а у него нет метода getNextHighestDepth.

iNils 13.03.2007 18:02

А метод attachMovie значит есть?

lowka 13.03.2007 18:04

Цитата:

Сообщение от iNils
А метод attachMovie значит есть?

Ошибочка вышла :rolleyes:

Ярик 13.03.2007 18:08

Цитата:

Сообщение от lowka
this в onLoad на xml указывает вроде, а у него нет метода getNextHighestDepth.

Но XML в руте, а
Код:

var Create:Function = function (nav:Content) {
        ...
        trace(this.getNextHighestDepth());
        ....
};

это в мувике и this в этом контексте - мувик
trace(this + ": " + typeof(this));
выдает
_level10.menu: MovieClip

[__etc: Оформлять код не забываем.]

etc 13.03.2007 18:15

Мне кажется, вам нужно узнать, что такое области видимости, классы и наследование, как минимум.

this.create 13.03.2007 18:29

Ярик
Выложите исходник - это значит, сделайте облегченную версию вашего неработающего fla+xml, зажмите ее раром и прикрепите к сообщению. Те кто хотят вам помочь скачают ваш исходник и поглядят, что у вас там на самом деле.
И это не просто так - есть куча случаев когда после просмотра исходника проблема благополучно решалась. И наоборот - долгие обсуждения и гадания и нерешенная проблема.


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

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