定义在同一范围JavaScript中定义的对象数组

时间:2013-05-09 06:45:44

标签: javascript

我正在研究我作为学校作业收到的一个小框架......我选择在JavaScript中做一些...这是我迄今为止的代码:

(function (){
//Creating our framework named GM (from game) 
var GM = {

    canvas : null, // the place where all the action happens is the canvas
    context : null, 
    // other functions ...  


    player : {
        frameNr : 0,
        frames : [],
        loaded : new Array(),
        loadedImages : false,

        xCoord : 0,             // current X coordinate of the player
        yCoord : 0,             // current Y coordinate of the player

        speed : 0,              // speed of the moving player

        xDirection : 0,
        yDirection : 0,

        width : 0,
        height : 0,

        // other things related to player
      }
    }

if(!window.$$){window.$$=GM;}//We create a shortcut for our framework, so we can call the methods by $$.method();

})();

我稍微使用了本教程,了解如何入门:http://www.admixweb.com/2009/05/20/how-to-easily-create-a-javascript-framework-part-1/

无论如何......我的问题是这样的:我想要一种方式,这样任何使用我的框架的人都可以添加多个玩家(有不同的设置),如果他喜欢...从我所知道的可能有2种理论方法(我说理论,因为我不知道它们是否可行或在当前背景下是不可行的):

  1. 以某种方式在我的框架中拥有一系列玩家
  2. 要有某种从框架中返回玩家的getter ....并且该玩家可能存储在框架外的数组中......
  3. 你们怎么想?什么方法更好或更可行?

    由于

    编辑: 添加了一个存储玩家阵列的字段。 此字段与框架中的播放器处于同一级别。以下代码:

    players : {
    
            array : [],
            length : 0,
    
            add : function(player){
                this.array.push(player);
                this.length = this.length + 1;
                console.log("+ 1 player");
            },
    
            animate : function(){
    
                for (i=0;i<this.length;i++){
                    this.array[i].animate();
                }
    
            }
    
        }
    

0 个答案:

没有答案