Quantcast
Channel: Adobe Community : All Content - Adobe Animate CC - General
Viewing all articles
Browse latest Browse all 13519

Help with nested arrays please

$
0
0

I'm struggling to set the levels of my word game up correctly.

I have 30 levels

 

var wordLevels:Array = [wordsL01,wordsL02,wordsL03,wordsL04,wordsL05,wordsL06,wordsL07,words L08,wordsL09,wordsL10,

                                                wordsL11,wordsL12,wordsL13,wordsL14,wordsL15,wordsL16,wordsL17,wordsL 18,wordsL19,wordsL20,

                                                wordsL21,wordsL22,wordsL23,wordsL24,wordsL25,wordsL26,wordsL27,wordsL 28,wordsL29,wordsL30]

 

Each level has 10 words

 

     public var  wordsL01:Array = [wordsL1W1,wordsL1W2,wordsL1W3,wordsL1W4,wordsL1W5,wordsL1W6,wordsL1W 7,wordsL1W8,wordsL1W9,wordsL1W10];

 

Each word is split up into sounds.

    

     public var  wordsL2W9:Array = ["th","r","ee"];

 

I want to display the score etc after each level. I think to do this I will have to write a loop to generate the ten words in a active level and then after each level has been completed show the score etc. before it goes to the next level.

 

I tried to write the loop for this (see code below), but instead of it tracing the 10 words I expected, I got the following in the output pannel: function Function() {}

 

What did I do wrong in my code? I marked the relevant bits in red:

 

package

{

    import flash.display.MovieClip;

    import flash.text.TextField;

    import flash.events.Event;   

    import flash.utils.Timer;

    import flash.events.*;

    //import flash.events.MouseEvent;

   

    public  dynamic class WordArray extends MovieClip

        {

                public var wordtext:wordText =  new wordText;

                var activeWordArray:Array;

                var activeLevelofTenWordsArray:Array;

                public var  wordsL1:Array = ["elephant","has","of","off","on","not","got","in","is","it"]; //this was for testing only, to be removed as soon as al levels can be broken up.

           

           

public var  wordsL1W1:Array = ["a"];

public var  wordsL1W2:Array = ["h","a","s"];

public var  wordsL1W3:Array = ["o","f"];

public var  wordsL1W4:Array = ["o","f","f"];

public var  wordsL1W5:Array = ["o","n"];  // an so on up to wordsL30W10:

 

public var  wordsL01:Array = [wordsL1W1,wordsL1W2,wordsL1W3,wordsL1W4,wordsL1W5,wordsL1W6,wordsL1W 7,wordsL1W8,wordsL1W9,wordsL1W10];

public var  wordsL02 //etc up to wordsL30.

 

public var wordLevels:Array = [wordsL01,wordsL02,wordsL03,wordsL04,wordsL05,wordsL06,wordsL07,words L08,wordsL09,wordsL10,

                                                wordsL11,wordsL12,wordsL13,wordsL14,wordsL15,wordsL16,wordsL17,wordsL 18,wordsL19,wordsL20,

                                                wordsL21,wordsL22,wordsL23,wordsL24,wordsL25,wordsL26,wordsL27,wordsL 28,wordsL29,wordsL30]

               

                private var tf:TextField;

                public var letterArray:LetterArray;

                public var tileTimer = new Timer(500,384);

           

               

                // ***constructor code

                public function WordArray(_tf:TextField)

                {   

                    tf = _tf;

                    levelGenerator();

                }

               

                function levelGenerator():void

                {

                    //**To get next level of 10 words

                    if(wordLevels.length>0)

                    {

                        activeLevelofTenWords();// to get next word

                        runTiles();

                       

                        trace("Level generator is working");

                    }

                    else

                    {

                    //Game is complete

                    }

                }

               

                function activeLevelofTenWords():void

                {

                    activeLevelofTenWordsArray = wordLevels.shift();//should I add a split here?

                    trace("Placemark for active level of ten words to follow directly");

                    trace(activeLevelofTenWords);   

                   

               //worked up to here, next steps and tests to follow   

                nextWordF();

                }

               

                function runTiles():void

                {

                    //**Run letter Tiles Start**//

                    //letterArray = new LetterArray();

                    //addChild(letterArray);

                   

                    //tileTimer.addEventListener(TimerEvent.TIMER, gameLoop);

                    //tileTimer.start();

                   

                    /*public function gameLoop(timerEvent:TimerEvent):void

                    {

                        trace("Tile Timer Started");

                        letterArray.gameLoop();

                    }*/

                    //**end**//   

                   

                    }

                   

                function nextWordF():void

                {

                    if(wordsL1.length>0)

                    {

                        activeWordF();

                        populateMyWordBox();

                       

                    }

                }

                    private function activeWordF():void

                    {

                        activeWordArray = wordsL1.shift().split("");

                         // this array needs to be passed to the class that checks which letters are clicked (or used in this class if that's where the clicked letters are handled) so the clicked letters can be compared to activeWordArray's elements.   

                        // when the clicked letters are completed for this word, call nextWordF().

                        }

                       

                        public function populateMyWordBox()

                        {

                            //trace("place my word box is working");

                            trace(wordsL01);                           

                            trace(wordsL1[0]);

                            trace(wordsL1W1);

                            tf.text = activeWordArray.join("");

                        }

                }

        }


Viewing all articles
Browse latest Browse all 13519

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>