Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   AS3 ArgumentError: Error #2025: (http://www.flasher.ru/forum/showthread.php?t=206170)

kogg 16.01.2014 17:39

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
                }
        }


caseyryan 16.01.2014 18:37

Флеш плеер наверное от ужаса падает

Vansimar 16.01.2014 18:41

Индус?)

GBee 16.01.2014 18:49

Оу, мне бы вашу энергию.

in4core 16.01.2014 20:12

Смешно, и вот главное ладно бы человек не знал что такое циклы ( они в коде тоже есть ) - но принципиально ими не пользоваться там где они полюбому нужны - я считаю это СИЛЬНО!
Браво товарищ!

По делу : оформите нормально код, сделайте отсутпы и т.п. иначе вам просто никто не поможет с ответом, это читать невозможно

dark256 16.01.2014 20:18

Код AS1/AS2:

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

Срочно заменяем на:

Код AS1/AS2:

for (var i=9; i<41;i++){
    там_где_оно_лежит["pole"+i].visible = false
}


Isfet 16.01.2014 21:06

для начала добавьте 2 функции и перепишите одну вот так

Код AS3:

function eventHandler(event:Event):void
{
        if(raundT.currentFrame==1) {
 
                setVisible(1, 8);
                setHide(9, 40);
        }
        else if (raundT.currentFrame == 2) {
 
                setHide(1, 8);
                setVisible(9, 16);
                setHide(17, 40);
 
 
        }
 
        else if (raundT.currentFrame == 3) {
 
 
                setHide(1, 16);
                setVisible(17, 24);
                setHide(25, 40);
 
        }
        else if (raundT.currentFrame == 4) {
 
                setHide(1, 24);
                setVisible(25, 32);
                setHide(33, 40);
        }
        else if (raundT.currentFrame == 5) {
 
                setHide(1, 32);
                setVisible(33, 40);
 
        }
}
function setVisible(showFirst:uint, showLast:uint) {
 
        //показываем
        for (var j:int = showFirst-1; j <= showLast-1; j++)
        {
                pole[j].visible = true;
        }
}
function setHide(hideFirst:uint, hideLast:uint) {
        //прячем
        for (var i:int = hideFirst-1; i <= hideLast-1; i++)
        {
                pole[i].visible = false;
 
        }
 
}


это
Код AS3:

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;

меняем на
Код AS3:

var poleArrayLen:uint = poleArrayLen.length;
                        for (var i:int = 0; i < poleArrayLen; i++)
                        {
                                pole[i].toy = false;
                        }

а потом попробуйте описать проблему подробнее


Часовой пояс GMT +4, время: 17:17.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.