Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Работа с setChildIndex (http://www.flasher.ru/forum/showthread.php?t=160953)

DarkKnight2009 19.07.2011 16:25

Цитата:

Сообщение от КорДум (Сообщение 1012914)
Так добавьте его в отдельный контейнер. И этот контейнер выводите на передний план. Или я чего-то не понимаю?

Вы имеете в виду textFieldArray добавить в Sprite ?

КорДум 19.07.2011 16:27

Судя по названию массивов - не знаю. Нужно все ваши тексты добавить в контейнер. А где там ссылки на них...

Добавлено через 30 секунд
txtArray, судя по коду.

DarkKnight2009 19.07.2011 16:31

Цитата:

Сообщение от КорДум (Сообщение 1012920)
Судя по названию массивов - не знаю. Нужно все ваши тексты добавить в контейнер. А где там ссылки на них...

Добавлено через 30 секунд
txtArray, судя по коду.

Вот так ?
Код AS3:

                        for(var i:int = 0; i < coordsArray.length; i++)
                        {
                                textFieldArray[i] = new TextField();
                                textFieldArray[i].text = txtArray[i];
 
                                s.addChild(txtArray[i]);
                                addChild(s)
                                setChildIndex(s, 1 )
                        }

Но все равно не работает :(

КорДум 19.07.2011 16:32

Код AS3:

textFieldArray[i].text = txtArray[i];

Вы в качестве текста задаете текстовое поле? о_О

DarkKnight2009 19.07.2011 16:33

Цитата:

Сообщение от КорДум (Сообщение 1012926)
Код AS3:

textFieldArray[i].text = txtArray[i];

Вы в качестве текста задаете текстовое поле? о_О

Но у меня отрабатывает, это не правильно ?

КорДум 19.07.2011 16:35

Естественно нет. Я полагаю, у вас в текст пихается нечто вроде [object TextField].
Во-первых, определитесь с вашими массивами. Зачем вам три штуки? Вы создаете тексты, помещаете в один. Затем зачем-то второму массиву, вернее текстам его элементов, присваиваете элементы массива первого. И там что-то еще с третьим массивом было. goodguy, правильно заметил. Разберитесь в коде.

DarkKnight2009 19.07.2011 16:37

вот код, я думал, что все ок :(
Код AS3:

package app.CreateText
{
        import flash.display.MovieClip;
        import flash.text.TextField;
        import flash.text.TextFormat;
        import flash.display.Sprite;
 
        public class SetText extends MovieClip
        {
                //---------------------------------------
                // PRIVATE VARIABLES
                //---------------------------------------               
                private var txtHeader:GetText;
 
                private var txt1:GetText;
                private var txt2:GetText;
                private var txt3:GetText;
                private var txt4:GetText;
                private var txt5:GetText;               
                private var txt6:GetText;               
                private var txt7:GetText;               
                private var txt8:GetText;               
                private var txt9:GetText;               
                private var txt10:GetText;               
                private var txt11:GetText;
 
                public var textFieldArray:Array = [];       
                private var coordsArray:Array = [105, 130, 155, 180, 205, 230, 255, 280, 305, 330, 355];
 
                public var txtArray:Array = [];               
 
                public var xPos:uint = 50;
 
                private var s:Sprite = new Sprite();
 
 
                //---------------------------------------
                // CONSTRUCTOR
                //---------------------------------------
 
                /**
                * @constructor
                */
               
                public function SetText()
                {               
                        createText();                       
                }
 
                //---------------------------------------
                // PRIVATE METHODS
                //---------------------------------------
 
                /**
                * The method adds static text
                */
               
                private function createText():void
                {                       
                        txtHeader = new GetText("This course contains\nthe following topics", 24, "0x776f6c", "Arial", true, 300, 1, 50, 30);
                        addChild(txtHeader);
 
                        txt1 = new GetText("Alcohol And Drugs", 16, "0x000000", "Arial", false, 300, 1, xPos, 105);
                        txt2 = new GetText("Becoming Familiar With Your Vehicle", 16, "0x000000", "Arial", false, 300, 1, xPos, 130);
                        txt3 = new GetText("Defensive Driving Techniques", 16, "0x000000", "Arial", false, 300, 1, 50, 155);
                        txt4 = new GetText("Driving In Bad Weather", 16, "0x000000", "Arial", false, 300, 1, 50, 180);
                        txt5 = new GetText("Driving Privileges", 16, "0x000000", "Arial", false, 300, 1, 50, 205);
                        txt6 = new GetText("Laws And Rules Of The Road", 16, "0x000000", "Arial", false, 300, 1, 50, 230);
                        txt7 = new GetText("Road Rage", 16, "0x000000", "Arial", false, 300, 1, 50, 255);
                        txt8 = new GetText("Seat Belts", 16, "0x000000", "Arial", false, 300, 1, 50, 280);
                        txt9 = new GetText("Sharing The Road", 16, "0x000000", "Arial", false, 300, 1, 50, 305);
                        txt10 = new GetText("Signs, Signals, and Markings", 16, "0x000000", "Arial", false, 300, 1, 50, 330);
                        txt11 = new GetText("Space Management", 16, "0x000000", "Arial", false, 300, 1, 50, 355);               
 
 
                        txtArray.push(txt1);
                        txtArray.push(txt2);
                        txtArray.push(txt3);                       
                        txtArray.push(txt4);
                        txtArray.push(txt5);
                        txtArray.push(txt6);
                        txtArray.push(txt7);
                        txtArray.push(txt8);
                        txtArray.push(txt9);
                        txtArray.push(txt10);
                        txtArray.push(txt11);               
 
                        //setChildIndex(txtArray[2], 1 )
 
                        for(var i:int = 0; i < coordsArray.length; i++)
                        {
                                textFieldArray[i] = new TextField();
                                textFieldArray[i].text = txtArray[i];
                                //textFieldArray[i].x = 50;
                                //textFieldArray[i].y = coordsArray[i];
                                //addChild(txtArray[i]);                                                       
                                s.addChild(txtArray[i]);
                                addChild(s)
                                setChildIndex(s, 1 )
                        }       
 
                }
 
                //---------------------------------------
                // PUBLIC METHODS
                //---------------------------------------
 
                /**
                * Methods vozrvraschaet coordinates in the text Class SetImage
                */
                               
                public function get _getCoords():Array
                {
                        return coordsArray;
                }
                public function set _getCoords(coords:Array):void
                {
                        txtArray = coords;                       
                }
        } // end Class       
} // end Package

Все работает нормально, только текст на первый план не выводится, ошибок нет никаких(флеш не выводит)

Добавлено через 9 минут
Я понял, вот поубирал лишнии массивы, добавил в спрайт.ю но все по старому
Код AS3:

package app.CreateText
{
        import flash.display.MovieClip;
        import flash.text.TextField;
        import flash.text.TextFormat;
        import flash.display.Sprite;
 
        public class SetText extends MovieClip
        {
                //---------------------------------------
                // PRIVATE VARIABLES
                //---------------------------------------               
                private var txtHeader:GetText;
 
                private var txt1:GetText;
                private var txt2:GetText;
                private var txt3:GetText;
                private var txt4:GetText;
                private var txt5:GetText;               
                private var txt6:GetText;               
                private var txt7:GetText;               
                private var txt8:GetText;               
                private var txt9:GetText;               
                private var txt10:GetText;               
                private var txt11:GetText;
 
                private var coordsArray:Array = [105, 130, 155, 180, 205, 230, 255, 280, 305, 330, 355];
 
                public var txtArray:Array = [];               
 
                public var xPos:uint = 50;
 
                private var s:Sprite = new Sprite();
 
 
                //---------------------------------------
                // CONSTRUCTOR
                //---------------------------------------
 
                /**
                * @constructor
                */
               
                public function SetText()
                {               
                        createText();                       
                }
 
                //---------------------------------------
                // PRIVATE METHODS
                //---------------------------------------
 
                /**
                * The method adds static text
                */
               
                private function createText():void
                {                       
                        txtHeader = new GetText("This course contains\nthe following topics", 24, "0x776f6c", "Arial", true, 300, 1, 50, 30);
                        addChild(txtHeader);
 
                        txt1 = new GetText("Alcohol And Drugs", 16, "0x000000", "Arial", false, 300, 1, xPos, 105);
                        txt2 = new GetText("Becoming Familiar With Your Vehicle", 16, "0x000000", "Arial", false, 300, 1, xPos, 130);
                        txt3 = new GetText("Defensive Driving Techniques", 16, "0x000000", "Arial", false, 300, 1, 50, 155);
                        txt4 = new GetText("Driving In Bad Weather", 16, "0x000000", "Arial", false, 300, 1, 50, 180);
                        txt5 = new GetText("Driving Privileges", 16, "0x000000", "Arial", false, 300, 1, 50, 205);
                        txt6 = new GetText("Laws And Rules Of The Road", 16, "0x000000", "Arial", false, 300, 1, 50, 230);
                        txt7 = new GetText("Road Rage", 16, "0x000000", "Arial", false, 300, 1, 50, 255);
                        txt8 = new GetText("Seat Belts", 16, "0x000000", "Arial", false, 300, 1, 50, 280);
                        txt9 = new GetText("Sharing The Road", 16, "0x000000", "Arial", false, 300, 1, 50, 305);
                        txt10 = new GetText("Signs, Signals, and Markings", 16, "0x000000", "Arial", false, 300, 1, 50, 330);
                        txt11 = new GetText("Space Management", 16, "0x000000", "Arial", false, 300, 1, 50, 355);               
 
 
                        txtArray.push(txt1);
                        txtArray.push(txt2);
                        txtArray.push(txt3);                       
                        txtArray.push(txt4);
                        txtArray.push(txt5);
                        txtArray.push(txt6);
                        txtArray.push(txt7);
                        txtArray.push(txt8);
                        txtArray.push(txt9);
                        txtArray.push(txt10);
                        txtArray.push(txt11);               
 
                        for(var i:int = 0; i < coordsArray.length; i++)
                        {
                                txtArray[i];
                                s.addChild(txtArray[i]);
                                addChild(s)
                                setChildIndex(s, 1 )
                        }       
 
                }
 
                //---------------------------------------
                // PUBLIC METHODS
                //---------------------------------------
 
                /**
                * Methods vozrvraschaet coordinates in the text Class SetImage
                */
                               
                public function get _getCoords():Array
                {
                        return coordsArray;
                }
                public function set _getCoords(coords:Array):void
                {
                        txtArray = coords;                       
                }
        } // end Class       
} // end Package

Добавлено через 11 минут
Извините, случайно добавил лишний раз одно и тоже, а как уюрать не знаю :(

Добавлено через 24 минуты
Цитата:

Сообщение от goodguy (Сообщение 1012915)
Что-то в коде фигня какая-то. Цикл идет по одному массиву, создаются элементы в другом, а добавляются вообще элементы третьего. Что это?

Уже исправил, лишнее поудалял
Спасибо


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

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