AS3: доступ к общедоступному классу var из файла fla - PullRequest
0 голосов
/ 24 октября 2011

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

Итак, до сегодняшнего дня я всегда кодировал из графика времени. Но теперь я понимаю, почему я должен кодировать в отдельных файлах классов. Однако для простоты я все еще хочу включить фрагменты кода во временную шкалу.

Так что в моем классе Корабля у меня есть эта строка кода:

    public var speed:int = 2 + Math.ceil(Math.random() * 4)

И у меня на временной шкале есть код:

import Ship;
trace(Ship.speed)

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

Сцена 1, Уровень «Действия», Кадр 1, Строка 2 1119: Доступ к возможно неопределенной скорости свойства через ссылку со статическим типом Class.

Итак, простой вопрос и извинения за него, но может ли кто-нибудь дать мне простой способ отследить скорость из файла класса Ship.as?

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 24 октября 2011

Вам необходимо создать экземпляр Ship, например:

import Ship;
var ship:Ship = new Ship();
trace(ship.speed);

ИЛИ

Вы можете объявить скорость как статическую переменную , чтобы получить к ней доступ без необходимостиэкземпляра (но я думаю, что здесь это имеет меньше смысла):

public static var speed:int = 2;//or whatever

Чтобы узнать больше о статических переменных и методах в AS3, проверьте этот ответ: Actionscript 3: Может кто-нибудь объяснить мнеПонятие статических переменных и методов?

0 голосов
/ 24 октября 2011

внутри вашего Ship класса:

public function get speed():int{
    return 2 + Math.ceil(Math.random() * 4);
}

и на временной шкале:

import Ship;
var ship:Ship = new Ship();
trace(ship.speed);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...