AS3 ArgumentError: Error #2025:
Как быть? Удаляется последний перемещаемый объект при переходе на новый раунд.
Код AS3:
import flash.display.DisplayObject;
import flash.events.MouseEvent;
//////кнопка включает и выключает таймер
btn.addEventListener(MouseEvent.CLICK, onClick_timer);
function onClick_timer(event:MouseEvent):void
{
if (timers.currentFrame == 1)
{
timers.gotoAndPlay(2);
}
else
{
timers.gotoAndStop(1);
}
}
var com1:Number = 0;
var toysType:Array = [e_bulb,n1_bulb,o1_bulb,t_bulb,p_bulb,o2_bulb,l_bulb,o1_bulb,o3_bulb,s_bulb,k_bulb,t_bulb,u_bulb,n2_bulb];
var hitBitmap:BitmapData;
var myMatrix:Matrix=new Matrix();
var bulb:MovieClip;
var N:Number = 41;
var pole:Array = [pole1,pole2,pole3,pole4,pole5,pole6,pole7,pole8,pole9,pole10,pole11,pole12,pole13,pole14,pole15,pole16,pole17,pole18,pole19,pole20,pole21,pole22,pole23,pole24,pole25,pole26,pole27,pole28,pole29,pole30,pole31,pole32,pole33,pole34,pole35,pole36,pole37,pole38,pole39,pole40];
//зададим пустые поля
pole1.toy = false;
pole2.toy = false;
pole3.toy = false;
pole4.toy = false;
pole5.toy = false;
pole6.toy = false;
pole7.toy = false;
pole8.toy = false;
pole9.toy = false;
pole10.toy = false;
pole11.toy = false;
pole12.toy = false;
pole13.toy = false;
pole14.toy = false;
pole15.toy = false;
pole16.toy = false;
pole17.toy = false;
pole18.toy = false;
pole19.toy = false;
pole20.toy = false;
pole21.toy = false;
pole22.toy = false;
pole23.toy = false;
pole24.toy = false;
pole25.toy = false;
pole26.toy = false;
pole27.toy = false;
pole28.toy = false;
pole29.toy = false;
pole30.toy = false;
pole31.toy = false;
pole32.toy = false;
pole33.toy = false;
pole34.toy = false;
pole35.toy = false;
pole36.toy = false;
pole37.toy = false;
pole38.toy = false;
pole39.toy = false;
pole40.toy = false
//спрятать, показать поля
hidePole();
function hidePole(e:MouseEvent=null)
{
for (var j:int = 1; j<N; j++)
{
this['pole' + j].alpha = 0;
}
}
function showPole(e:MouseEvent=null)
{
for (var j:int = 1; j<N; j++)
{
this['pole' + j].alpha = 0.4;
this['pole' + j].mouseEnabled = false;
}
}
////основной код************************
hitBitmap = new BitmapData(stage.stageWidth,stage.stageHeight,true,0x00ffffff);
myMatrix.tx = tree_mc.x;
myMatrix.ty = tree_mc.y;
hitBitmap.draw(tree_mc, myMatrix);
tree_mc.addEventListener(MouseEvent.MOUSE_OVER,showPole);
tree_mc.addEventListener(MouseEvent.MOUSE_OUT,hidePole);
for (var i:int = 0; i<toysType .length; i++)
{
toysType[i].addEventListener(MouseEvent.MOUSE_DOWN, createBulb);
toysType[i].buttonMode = true;
}
var toys:Array = new Array();
function createBulb(e:MouseEvent):void
{
switch (e.target.name)
{
case "e_bulb" :
bulb = new Ebulb();
break;
case "n1_bulb" :
bulb = new N1bulb();
break;
case "o1_bulb" :
bulb = new O1bulb();
break;
case "t_bulb" :
bulb = new Tbulb();
break;
case "p_bulb" :
bulb = new Pbulb();
break;
case "o2_bulb" :
bulb = new O2bulb();
break;
case "l_bulb" :
bulb = new Lbulb();
break;
case "o3_bulb" :
bulb = new O3bulb();
break;
case "s_bulb" :
bulb = new Sbulb();
break;
case "k_bulb" :
bulb = new Kbulb();
break;
case "u_bulb" :
bulb = new Ubulb();
break;
case "n2_bulb" :
bulb = new N2bulb();
break;
}
bulb.buttonMode = true;
bulb.x = e.target.x;
bulb.y = e.target.y;
addChild(bulb);
bulb.startDrag();
bulb.mouseEnabled = false;
bulb.addEventListener(MouseEvent.MOUSE_DOWN, dragBulb);
stage.addEventListener(MouseEvent.MOUSE_UP, droptoy);
}
function dragBulb(e:MouseEvent):void
{
e.target.startDrag();
}
function droptoy(event:MouseEvent):void
{
var hitFlag:int = 0;
bulb.stopDrag();
bulb.removeEventListener(MouseEvent.MOUSE_DOWN, dragBulb);
removeEventListener(MouseEvent.MOUSE_UP, droptoy);
for (var i:int = 1; i<N; i++)
{
hitFlag += int(bulb.hitTestObject(this['pole' + i]));
//если пересекли область
if (hitFlag)
{
break;
//вышли из цикла
}
}
//было пересечение с областью
if (hitFlag)
{
//определим класс буквы которую тащим
//если там буквы не было
if (this['pole' + i].toy == false)
{
//отмечаем что в обл есть буква
this['pole' + i].toy = true;
toys.push(bulb);
trace("положили",i);
com1++
trace("счет"+com1)
com1_txt.text = "Счет: " + com1;
}
else
{
//если буква была
this.removeChild(bulb);
}
}
else
{
this.removeChild(bulb);
}
}
/////раунды
raund2.buttonMode=true
raund3.visible=false
raund4.visible=false
raund5.visible=false
raund2.addEventListener(MouseEvent.CLICK, raund_click2);
raund3.addEventListener(MouseEvent.CLICK, raund_click3);
raund4.addEventListener(MouseEvent.CLICK, raund_click4);
raund5.addEventListener(MouseEvent.CLICK, raund_click5);
function raund_click2(event:MouseEvent):void
{
trace("click")
raundT.gotoAndStop(2)
raund3.visible=true
raund3.buttonMode=true
}
function raund_click3(event:MouseEvent):void
{
raundT.gotoAndStop(3)
raund4.buttonMode=true
raund4.visible=true
}
function raund_click4(event:MouseEvent):void
{
raundT.gotoAndStop(4)
raund5.buttonMode=true
raund5.visible=true
}
function raund_click5(event:MouseEvent):void
{
raundT.gotoAndStop(5)
}
addEventListener(Event.ENTER_FRAME, eventHandler);
function eventHandler(event:Event):void
{
if(raundT.currentFrame==1) {
pole9.visible=false
pole10.visible=false
pole11.visible=false
pole12.visible=false
pole13.visible=false
pole14.visible=false
pole15.visible=false
pole16.visible=false
pole17.visible=false
pole18.visible=false
pole19.visible=false
pole20.visible=false
pole21.visible=false
pole22.visible=false
pole23.visible=false
pole24.visible=false
pole25.visible=false
pole26.visible=false
pole27.visible=false
pole28.visible=false
pole29.visible=false
pole30.visible=false
pole31.visible=false
pole32.visible=false
pole33.visible=false
pole34.visible=false
pole35.visible=false
pole36.visible=false
pole37.visible=false
pole38.visible=false
pole39.visible=false
pole40.visible=false
}
if(raundT.currentFrame==2) {
pole1.visible=false
pole2.visible=false
pole3.visible=false
pole4.visible=false
pole5.visible=false
pole6.visible=false
pole7.visible=false
pole8.visible=false
pole9.visible=true
pole10.visible=true
pole11.visible=true
pole12.visible=true
pole13.visible=true
pole14.visible=true
pole15.visible=true
pole16.visible=true
pole17.visible=false
pole18.visible=false
pole19.visible=false
pole20.visible=false
pole21.visible=false
pole22.visible=false
pole23.visible=false
pole24.visible=false
pole25.visible=false
pole26.visible=false
pole27.visible=false
pole28.visible=false
pole29.visible=false
pole30.visible=false
pole31.visible=false
pole32.visible=false
pole33.visible=false
pole34.visible=false
pole35.visible=false
pole36.visible=false
pole37.visible=false
pole38.visible=false
pole39.visible=false
pole40.visible=false
}
if(raundT.currentFrame==3) {
pole1.visible=false
pole2.visible=false
pole3.visible=false
pole4.visible=false
pole5.visible=false
pole6.visible=false
pole7.visible=false
pole8.visible=false
pole9.visible=false
pole10.visible=false
pole11.visible=false
pole12.visible=false
pole13.visible=false
pole14.visible=false
pole15.visible=false
pole16.visible=false
pole17.visible=true
pole18.visible=true
pole19.visible=true
pole20.visible=true
pole21.visible=true
pole22.visible=true
pole23.visible=true
pole24.visible=true
pole25.visible=false
pole26.visible=false
pole27.visible=false
pole28.visible=false
pole29.visible=false
pole30.visible=false
pole31.visible=false
pole32.visible=false
pole33.visible=false
pole34.visible=false
pole35.visible=false
pole36.visible=false
pole37.visible=false
pole38.visible=false
pole39.visible=false
pole40.visible=false
}
if(raundT.currentFrame==4) {
pole1.visible=false
pole2.visible=false
pole3.visible=false
pole4.visible=false
pole5.visible=false
pole6.visible=false
pole7.visible=false
pole8.visible=false
pole9.visible=false
pole10.visible=false
pole11.visible=false
pole12.visible=false
pole13.visible=false
pole14.visible=false
pole15.visible=false
pole16.visible=false
pole17.visible=false
pole18.visible=false
pole19.visible=false
pole20.visible=false
pole21.visible=false
pole22.visible=false
pole23.visible=false
pole24.visible=false
pole25.visible=true
pole26.visible=true
pole27.visible=true
pole28.visible=true
pole29.visible=true
pole30.visible=true
pole31.visible=true
pole32.visible=true
pole33.visible=false
pole34.visible=false
pole35.visible=false
pole36.visible=false
pole37.visible=false
pole38.visible=false
pole39.visible=false
pole40.visible=false
}
if(raundT.currentFrame==5) {
pole1.visible=false
pole2.visible=false
pole3.visible=false
pole4.visible=false
pole5.visible=false
pole6.visible=false
pole7.visible=false
pole8.visible=false
pole9.visible=false
pole10.visible=false
pole11.visible=false
pole12.visible=false
pole13.visible=false
pole14.visible=false
pole15.visible=false
pole16.visible=false
pole17.visible=false
pole18.visible=false
pole19.visible=false
pole20.visible=false
pole21.visible=false
pole22.visible=false
pole23.visible=false
pole24.visible=false
pole25.visible=false
pole26.visible=false
pole27.visible=false
pole28.visible=false
pole29.visible=false
pole30.visible=false
pole31.visible=false
pole32.visible=false
pole33.visible=true
pole34.visible=true
pole35.visible=true
pole36.visible=true
pole37.visible=true
pole38.visible=true
pole39.visible=true
pole40.visible=true
}
}
|