Доступ к неопределенным свойствам во flash - PullRequest
0 голосов
/ 31 марта 2011

Я следую этому уроку здесь

http://www.graphicsxone.com/checkbox-and-as3-in-flash-cs4.html

Это мой код в main.as

package {

        import flash.display.Sprite;
        // import the CheckBox class
        import fl.controls.CheckBox;    
        mport flash.events.*;

    public class main extends Sprite {      

        addEventListener( Event.ADDED_TO_STAGE, init ); 

        // create the CheckBoxes
        var NS = new CheckBox();
        var SS = new CheckBox();
        var ES = new CheckBox();
        var WS = new CheckBox();

    }

  private function init( e:Event ):void
  {
    removeEventListener( Event.ADDED_TO_STAGE, init );
    response_txt.text = 'foo bar baz etc';
  } 

}

Когда я тестирую, он говорит

Доступ к неопределенным свойствам response_txt.

Новая картинка http://img217.imageshack.us/i/responsetxt2.jpg/

enter image description here

Ответы [ 3 ]

1 голос
/ 31 марта 2011

У вас нет экземпляра response_txt.

Из учебника:

Возьмите инструмент «Текст» и нарисуйте прямоугольник, чтобы закрыть внутреннюю часть контейнера.

Установите для свойства «Текст» в «Свойствах» значение «Динамический текст» с именем экземпляра response_txt .

Вы это сделали?

1 голос
/ 31 марта 2011

Это простая проблема, response_txt существует на сцене, но сценарий не был создан при вызове кода.

Простое решение - добавить обработчик событий в конструктор класса:

import flash.events.Event;

public class main extends Sprite
{
  public function main():void
  {
    addEventListener( Event.ADDED_TO_STAGE, init );
  }

  private function init( e:Event ):void
  {
    removeEventListener( Event.ADDED_TO_STAGE, init );
    response_txt.text = 'foo bar baz etc';
  }
}
1 голос
/ 31 марта 2011

Вы никогда не создавали экземпляр response_txt.

var response_txt:TextField = new TextField();
response_txt.text = "blah blah blah";

Это или вы неправильно присваиваете имя экземпляра в IDE flash. Я не слишком много смотрел на учебник, но - если ваш символ находится на сцене, просто нажмите на него и обязательно дайте ему правильное имя экземпляра ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...