PDA

Просмотр полной версии : метод _parent работает не везде?


zafod
31.07.2007, 10:27
Суть вопрса в коде :
function s_Buffer( id, x, y )
{
_root.attachMovie( id, id + _global._lowerLevel, _global._lowerLevel, {_x:x, _y:y} );
this._mc = _root[id + _global._lowerLevel];
}

s_Buffer.prototype.receiveChildMessage() = function( msg )
{
trace( msg );
}

var testBuffer = new s_Buffer( "test", 10, 10 );



Код клипа "test" - кадр 1

this._parent.receiveChildMessage("some message");


Здесь родитель будет _root или testBeffer? И вообще правильно я понимаю суть _parent?

etc
31.07.2007, 10:32
Никто не будет, потому как код синтаксически неверен. Это первое. А второе, _parent будет ссылаться на _root. А у него, в свою очередь, никакого метода receiveChildMessage нет.

з.Ы. Две строки в s_Buffer можно переделать в одну совершенно безболезненно.

zafod
31.07.2007, 10:39
какие строки?

т.е. нет способа сделать обратную связь?

etc
31.07.2007, 10:41
function s_Buffer(id, x, y) {
this._mc = _root.attachMovie(id, id + _global._lowerLevel, _global._lowerLevel, {_x:x, _y:y, buffer:this});
}

s_Buffer.prototype.receiveChildMessage = function(msg) {
trace(msg);
}

var testBuffer = new s_Buffer("test", 10, 10);

this.buffer.receiveChildMessage("test");

zafod
31.07.2007, 11:27
ок, а тогда по ходу такая ситуация.
здесь this._mc - просто ссылка на клип _root'а ? Т.е. он не весит как клип - это хорошо. Но тогда я не могу пройтись по _root и удалить все клипы из него? сначала мне нужно убить все ссылки на них?

etc
31.07.2007, 13:10
this._mc — ссылка на созданный клип. Он висит в руте.

iNils
31.07.2007, 13:58
Подпись к разделу Общие вопросы:
Вопросы связаные с Flash IDE, JSFL, и прочие вопросы о Flash не затрагивающие ActionScript.