Я пытаюсь добавить экземпляр мувиклипа в массив.
Внутри House Class есть свойство HouseObjects. Внутри этого массива я создал класс Comp и Light. MovieClips динамически размещаются на сцене через связь. MovieClips также действуют как «кнопки переключения». Если состояние кнопки ВКЛ, значение равно 1. Если состояние кнопки если ВЫКЛ, значение равно 0.
Если значение равно 1, я пытаюсь добавить экземпляр MovieClip в массив onList. Внутри этого массива будут все экземпляры с включенным состоянием кнопки.
Я создал свойство с именем objSelect.
var objSelect:Object;
Эта переменная содержит выбранную currentTarget. Я пытаюсь передать его в function trackItems
, чтобы либо выдвинул, либо выдвинул его в массив onList, основываясь на статусе кнопки.
Я получаю сообщение об ошибке для этой строки:
onList.pop (objSelect);
Неверное количество аргументов. Ожидается не более 0.
public class House extends MovieClip
{
var HouseObjects:Array = new Array();
var onList:Array = []; // instances added to this array that have a bstatus ON
var power:int; // holds value of individual House Objects
var bstate:int; // 0 or 1 (ON or OFF)
var bstatus:int;
var userInput:int; // stores user data (of selected data);
//holds value of e.currentTarget.power
var currentPower:int; // stores current power
var objSelect:Object;
public function House()
{
// Instances are MovieClip "toggle buttons"
HouseObjects[0] = new Comp(); // creates instance of Comp
HouseObjects[1] = new Light(); // creates instance of Light
}
function toggleClick(e:MouseEvent) {
// go to appropriate frame
if (e.currentTarget.currentFrame == 2)
{
e.currentTarget.gotoAndStop(3);
e.currentTarget.bstate = 1;
}
if (e.currentTarget.currentFrame == 4)
{
e.currentTarget.gotoAndStop(1);
e.currentTarget.bstate = 0;
}
bstatus = e.currentTarget.bstate;
objName = e.currentTarget.name;
trackItems(objSelect, bstatus);
} // end of function toggle click
function trackItems(objSelect:Object, bstatus:int):void
{
if (bstatus == 0) {
// remove objSelect from Array onList
} else if (bstatus == 1) {
onList.push(objSelect);
//add to Array onList
}
}
// function called when user clicks on update button
function updateStage():void
{
for (var i:int = 0; i<=onList.length;i++) {
addChild(onList[i]);
}
}
}