Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Error #2006: The supplied index is out of bounds. (http://www.flasher.ru/forum/showthread.php?t=190949)

PasserBy 29.12.2012 18:21

Error #2006: The supplied index is out of bounds.
 
Что бы это значило?
Ругается на это
Main
Код AS3:

public class ScreenGame extends MovieClip {
 
        private var mamaBullet:Sprite = new Sprite();
        private var mamaGame:Sprite = new Sprite();
 
        private var spaceShip:SpaceShip;
 
        private var pad:Pad;
 
                public function ScreenGame() {
                        // constructor code
                        trace("Initiate ScreenGame");
                        addEventListener(Event.ADDED, addedListener);
                }
 
                private function addedListener(e:Event):void {
                        Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
                        removeEventListener(Event.ADDED, addedListener);
 
                        addChild(mamaBullet);
                        addChild(mamaGame);       
 
                        pad  = new Pad();
                        pad.x = 0;
                        pad.y = 660;
                        pad.alpha = 0.05;
 
                        mamaGame.addChild(pad);               
 
                        pad.addEventListener(TouchEvent.TOUCH_TAP, tapList);
 
                        addEventListener(Event.ENTER_FRAME, updateGame);
                }
//часть кода опущена

Код AS3:

private function tapList(e:TouchEvent):void {
                        mamaBullet.addChild(bullet);
                }
 
private function updateGame(e:Event):void {
                        for(var i:int = 0; i = mamaBullet.numChildren; i ++){
                                trace(mamaBullet.getChildAt(i)); //РУГАЕТСЯ НА ЭТО
                        }
                }


iNils 29.12.2012 18:29

Код:

for(var i:int = 0; i < mamaBullet.numChildren; i ++){

PasserBy 29.12.2012 20:24

Цитата:

Сообщение от iNils (Сообщение 1112660)
Код:

for(var i:int = 0; i < mamaBullet.numChildren; i ++){

"тридцать ракет молоко вперед красный"

Примерно столь же полезно, Вы прокомментировали последнее, для меня.

Кто нибудь может помочь?

Tails 29.12.2012 20:29

Вам iNils уже указал на ошибку.
В условий цикла вы используете оператор присваивания. Потому и ошибка.

PasserBy 29.12.2012 20:35

Цитата:

Сообщение от Tails (Сообщение 1112675)
Вам iNils уже указал на ошибку.
В условий цикла вы используете оператор присваивания. Потому и ошибка.

Спасибо!..под вечер и не такое забывается!

если изменить код на

Код AS3:

 
private function updateGame(e:Event):void {
                        //for(var i:int = 0; i = mamaBullet.numChildren; i ++){
                                trace(mamaBullet.getChildAt(0)); //РУГАЕТСЯ НА ЭТО
                        //}
                }

Ошибка остается.

Tails 29.12.2012 20:37

Что выводит?
Код AS3:

private function updateGame(e:Event):void {
                        trace('children: ' + mamaBullet.numChildren);
 
                        for(var i:int = 0; i < mamaBullet.numChildren; i ++){
                                trace(mamaBullet.getChildAt(i));
                        }
                }


PasserBy 29.12.2012 20:41

Цитата:

Сообщение от Tails (Сообщение 1112677)
Что выводит?
Код AS3:

private function updateGame(e:Event):void {
                        trace('children: ' + mamaBullet.numChildren);
 
                        for(var i:int = 0; i < mamaBullet.numChildren; i ++){
                                trace(mamaBullet.getChildAt(i));
                        }
                }


Код:

RangeError: Error #2006: The supplied index is out of bounds.
        at flash.display::DisplayObjectContainer/getChildAt()
        at screens::ScreenGame/updateGame()[E:\FlashWorks\SpaceInvaders\screens\ScreenGame.as:107]


Tails 29.12.2012 20:43

И больше ничего? А так:
Код AS3:

private function updateGame(e:Event):void {
                        trace('children: ' + mamaBullet.numChildren);
                }


PasserBy 29.12.2012 20:46

Цитата:

Сообщение от Tails (Сообщение 1112679)
И больше ничего? А так:
Код AS3:

private function updateGame(e:Event):void {
                        trace('children: ' + mamaBullet.numChildren);
                }


Код:

children: 0
children: 0
children: 0
children: 0
children: 0
children: 0
children: 0
children: 0


Tails 29.12.2012 20:52

Такая конструкция не должна выбрасывать такую ошибку. Проверьте ещё раз и очень внимательно скопируйте код:
Код AS3:

private function updateGame(e:Event):void {
                        trace('children: ' + mamaBullet.numChildren);
 
                        for(var i:int = 0; i < mamaBullet.numChildren; i ++){
                                trace(mamaBullet.getChildAt(i));
                        }
                }



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

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