Я не совсем уверен, но предполагаю, что моя проблема связана с тем, как я объявляю свои переменные.
Допустим ли приведенный ниже код в AS3?
var fish1:Fish = new Fish;
var fish2:Fish = new Fish;
var fish3:Fish = new Fish;
var fish4:Fish = new Fish;
addChild(fish1);
addChild(fish2);
addChild(fish3);
addChild(fish4);
fish1.x = 0;
fish2.x = 150;
fish3.x = 300;
fish4.x = 450;
Я получаю ошибки компилятора для каждой строки addChild, говоря:
Main.as, строка 14 1180: вызов, возможно, неопределенного метода addChild. Main.as, строка 14 1120: Доступ к неопределенному свойству fish3.
И для каждой строки, где я указываю координаты x моей рыбы, я получаю сообщение об ошибке компилятора
Main.as, строка 15 1120: Доступ к неопределенному свойству fish4.
Переменные fish относятся к типу Fish, и я определил их в своей библиотеке в моем файле .fla. Заранее благодарю!
1 ответ
Ваш класс должен наследовать некоторую форму DisplayObjectContainer, из которых MovieClip и Sprite являются двумя возможными вариантами (узнайте, обязательно).
Но я подозреваю, что настоящая проблема в том, что вы пишете код класса, как код временной шкалы. Я думаю, что у вас, вероятно, отключен строгий режим, поэтому вы не получаете полезных ошибок времени компиляции, которые помогут любому, кто знаком с AS3 (хотя, вероятно, не вам), сразу понять, что ваш код должен больше походить на
class Main extends Sprite { public var fish1:Fish = new Fish(); public var fish2:Fish = new Fish(); public var fish1:Fish = new Fish(); public function Main() { addChild(fish1); addChild(fish2); addChild(fish3); //not going to type this crap. //positioning code (and addChild) is a waste of time. //that's what the stage is for! } }
Похожие вопросы
Новые вопросы
actionscript-3
ActionScript 3 (AS3) - это язык объектно-ориентированного программирования (ООП) с открытым исходным кодом для платформ Adobe Flash и AIR. AS3 широко используется для RIA, мобильных приложений и настольных приложений. (ActionScript 3 является диалектом ECMAScript.)