Форум 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)
-   -   Переменные на слое MovieClip (http://www.flasher.ru/forum/showthread.php?t=117332)

evgenii.s.semenchuk 24.10.2008 15:39

Переменные на слое MovieClip
 
Доброго времени суток.

Добрый народ объясни почему не работает код:
Код:

class graph extends MovieClip
{
  var mcGraph:MovieClip;
  ...
  public function graph()
  {
    mcGraph = _root.createEmptyMovieClip( "mcGraph", 1 );

    /// создаю всплывающую подсказку
    /// .....

    mcGraph.onRollOut = rollOutHndlr;
    mcGraph.strTmp = "blablabla";
  }
  function rollOutHndlr()
  {
    trace(this);/// выводит _level0.mcGraph
    trace(_level0.mcGraph.strTmp);/// выводит blablabla
    trace(this.strTmp);/// выводит undefined
  }
  ...
}

В первом кадре импортирую класс, создаю объект,...
Но отакую фигню порит при наведении на подсказку:
Код:

trace(this);/// выводит _level0.mcGraph
trace(_level0.mcGraph.strTmp);/// выводит blablabla
trace(this.strTmp);/// выводит undefined


evgenii.s.semenchuk 24.10.2008 15:50

и что самое интересное:
Код:

var fhks = this;
trace ( fhks + " = " + this ); ///_level0.mcGraph = _level0.mcGraph
trace ( fhks.strTmp );/// blablabla
trace ( this.strTmp );/// ерора при компиляции "There is no property with the name 'strTmp '. trace ( this.strTmp );"


Mur4ik 24.10.2008 17:55

либо вот так
Код:

trace(this["strTmp"]); /// выводит blablabla
либо вот так
Код:

function rollOutHndlr()
  {
    var _this:MovieClip = this;
    trace(this);/// выводит _level0.mcGraph
    trace(_level0.mcGraph.strTmp);/// выводит blablabla
    trace(_this.strTmp);/// выводит blablabla
  }

оба варианта рабочие


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

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