Ошибка компилятора, из-за которой я запутался в ActionScript

Во-первых, я хочу объяснить, что я не знаком с ActionScript, так что не вините меня за некоторые основные ошибки. Я только что узнал это в течение короткого времени только. Таким образом, несколько советов по написанию сценариев на ActionScript всегда приветствуются. :)

Я не знаю, почему компилятор сказал, что конструктор одного из моих классов не принимает никаких параметров.

В ПОРЯДКЕ. Вы можете понять мой смысл через код, показанный ниже.

Здесь Player.as:

public class Player extends Sprite
{
    public var mcHealthBar:HealthBar;
    public function Player()
    {
        // Here a compiler error is found.
        mcHealthBar = new HealthBar(max_health);
    }
}

а также HealthBar.as:

public class HealthBar extends MovieClip
{
    private var max_hp:int;

    public function HealthBar(MaxHP:int)
    {
        // constructor code
        max_hp = MaxHP;
    }
}

Компилятор сказал, что конструктор HealthBar нельзя использовать с аргументами, но вы можете ясно видеть, что конструктор HealthBar() внутри HealthBar.as уже был написан с аргументом MaxHP.

Наконец, я хочу спросить, почему возникла ошибка компилятора?

ПРИМЕЧАНИЕ. Я кодирую, используя Flash-Builder и Flash-Professional вместе. Я создал проект Flash-Professional через Flash-Builder. Я рисую с помощью Flash-Professional, а программирую с помощью Flash-Builder.

Могут быть некоторые грамматически неправильные английские ошибки... Так что мне очень жаль мой очень плохой английский, лол...


person Fai    schedule 19.11.2014    source источник
comment
Большое спасибо! Кажется, теперь это работает успешно!   -  person Fai    schedule 20.11.2014


Ответы (2)


Обычно это проблема, когда я сталкивался с этой проблемой раньше:

HealthBar, скорее всего, привязан к библиотечному объекту в FlashPro. (вы экспортировали его для actionscript и присвоили ему имя класса HealthBar).

Проблема в том, что FlashPro не видит файл класса, поэтому создает свой собственный (у которого нет аргумента конструктора).

Вы можете проверить, видит ли flashPro файл, щелкнув значок редактирования в свойствах связывания объекта библиотеки (см. изображение). Если появится заказной файл .as, то это не проблема. Проверьте, видит ли FlashPro ваш файл .as

Обычно причина в том, что файл .as находится не в том месте, или имя пакета не подходит для того места, где физически находится файл.

Если ваш файл .as использует только package { , то по умолчанию файл должен быть помещен в тот же каталог, что и файл .fla.

Если было package bob {, то оно должно быть в папке с именем bob (и папка по умолчанию будет в том же каталоге, что и .fla)

Вы можете изменить, где .fla ищет файлы классов, перейдя в Настройки ActionScript, которые можно найти в меню файлов.

В этом окне есть вкладка Исходный путь, где вы можете добавить каталоги для поиска файлов .as.

person BadFeelingAboutThis    schedule 20.11.2014

Возможно, у вас возникла проблема с объектом библиотеки, который вы назвали HealthBar и присвоили классу такое же имя. Если это случай, назовите объект библиотеки HealthBarMC и сохраните класс с тем же именем и посмотрите, работает ли это.

person Gone3d    schedule 19.11.2014