1119: Доступ к возможно неопределенному свойству. Щелкните по ссылке со статическим типом Class. - PullRequest
2 голосов
/ 21 августа 2011

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

В моих кодахЯ столкнулся с этой ошибкой

C: \ Users \ acer \ Desktop \ JikanLibrary \ Main.as, строка 16 1119: доступ к неопределенному свойству. Щелкните по ссылке со статическим типом Class.

Это код, который я использовал в моей программе

package
{
import flash.display.MovieClip;
import flash.events.MouseEvent;

public class Main extends MovieClip
{
    var startPage:StartPage;
    var jikanBookshelf:JikanBookshelf;

    public function Main()
    {
        startPage = new StartPage;
        jikanBookshelf = new JikanBookshelf;

        startPage.jikanBookshelf.addEventListener(MouseEvent.Click, onJikanBookshelf);

        addChild(startPage);

        function onJikanBookshelf(event:MouseEvent):void
        {
            addChild(jikanBookshelf);
            removeChild(startPage);
        }


    }
}
}

Ошибка в этой строке

startPage.jikanBookshelf.addEventListener(MouseEvent.Click, onJikanBookshelf);

Так как я действительно новичокна флэш-памяти, я действительно не знаю, что пошло не так с моими кодами, это работало некоторое время назад, прежде чем я поместил событие мыши.Я надеюсь, что кто-то может мне помочь.

Ответы [ 2 ]

3 голосов
/ 21 августа 2011

ActionScript является регистрозависимым языком. Это означает, что Click не совпадает с CLICK. Итак, что вам нужно, это MouseEvent.CLICK

" Почему CLICK все в верхнем регистре? Большинство имен свойств не. ", спросите вы.

Это потому, что CLICK является статической константой свойством MouseEvent, и среди программистов ActionScript (и многих других языков) принято, что статические константы пишутся в верхнем регистре, чтобы визуально отличать их от других переменных. *

  • «статический» означает, что это свойство класса MouseEvent, а не экземпляра MouseEvent.
  • «const» означает, что это не переменная: вы не можете изменить ее значение.
0 голосов
/ 29 июня 2012

Это проблема конфликта имен: имя определения класса совпадает с именем объекта.

Проблема в вашем скрипте в том, что у вас есть имя определения класса startPage, и вы пытаетесь создать объектс таким же именем startPage.

Вы должны изменить имя объекта на другое.Пусть скажут startpage1.

...