Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Двумерный массив (http://www.flasher.ru/forum/showthread.php?t=100792)

Ноябрь 04.09.2007 21:34

Двумерный массив
 
Код:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="changeb(),genarr()">
        <mx:Script>
                <![CDATA[
                import mx.collections.*;
               
                [Bindable]
                public var a:ArrayCollection = new ArrayCollection();
                [Bindable]
                public var b:String;
               
                public function genarr():void{
                        for (var i:int = 0;i<5;i++){
                                a[i] = new ArrayCollection();
                                for(var j:int = 0;j<5;j++){
                                        a[i][j]="1";
                                }
                        }
                }
                public function changeb():void{
                        b='bl';
                }
                ]]>
        </mx:Script>
        <mx:Panel y="10" width="250" height="200" layout="absolute" horizontalCenter="14">
                <mx:Text x="10" y="10" text="{a[0][0]}"/>
                <mx:Text x="10" y="36" text="{b}"/>
        </mx:Panel>
</mx:Application>

значение переменной b на экране не появляется..

есть вариан сделать 2 функции - одна генерирует одномерный массив, другая гененрирует одномерный массив из первой, но как тогда создать массив кнопок (к примеру)?

Ноябрь 04.09.2007 22:58

ответ
Код:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="addbutton()">
        <mx:Script>
                <![CDATA[
                import mx.controls.Button;
                import mx.collections.*;
               
                [Bindable]
                public var a:ArrayCollection = new ArrayCollection(genarrTM());
               
                public function genarrOM():Array{
                        var t:Array = new Array();
                        for (var i:int = 0;i<5;i++){
                                var b:Button = new Button();
                                t[i]=b;
                        }
                        return t;
                }
               
                public function genarrTM():Array{
                        var t:Array = new Array();
                        for (var i:int = 0;i<5;i++){
                                t[i]=genarrOM();
                        }
                        return t;
                }
               
                public function addbutton():void{
                        var i:int=0;
                        var j:int=0;
                        for each (var a_:Array in a){
                                for each (var v:DisplayObject in a_){
                                        bp.addChild(v);
                                        v.x=i*100+20;
                                        v.y=j*50+20;
                                        i++;
                                }
                                j++;
                                i=0;
                        }
                }
                ]]>
        </mx:Script>
        <mx:Panel y="10" width="500" height="500" layout="absolute" horizontalCenter="14" id="bp">
        </mx:Panel>
</mx:Application>



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

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