用户输入首字母 - ImpactJS

时间:2013-02-12 00:39:18

标签: impactjs

所以在我的最终状态中,我想让用户输入他们的首字母。我已经设置了一个包含所有字母的数组,触发器来选择一个字母和font_draw,但我似乎无法看到,但我得到一个错误,说我的函数没有定义。有什么想法吗?

    userInitials: function(){
        io_clear();
        a = 0
        l[0] = " "
        l[1] = "a"
        l[2] = 'b'
        l[3] = 'c'
        l[4] = 'd'
        l[5] = 'e'
        l[6] = 'f'
        l[7] = 'g'
        l[8] = 'h'
        l[9] = 'i'
        l[10] = 'j'
        l[11] = 'k'
        l[12] = 'l'
        l[13] = 'm'
        l[14] = 'n'
        l[15] = 'o'
        l[16] = 'p'
        l[17] = 'q'
        l[18] = 'r'
        l[19] = 's'
        l[20] = 't'
        l[21] = 'u'
        l[22] = 'v'
        l[23] = 'w'
        l[24] = 'x'
        l[25] = 'y'
        l[26] = 'z'
        str = ""

        if(ig.input.pressed('up')){             
            if (a>26){
                a+= 1;
            }else{
                a = 0;
            }
        }

        if(ig.input.pressed('down')){
            if (a<0){
                a -= 1;
            }else{
                a = 26;
            }
        }

        this.font_draw(x,y,str+'['+1[a]+'] ');

        if(ig.input.pressed('space')){
            str += l[a];
        }
    },

    draw:function(){
        if(this.gameOver){
            this.font.draw(userInitials, ig.system.width/2, 95, ig.Font.ALIGN.CENTER);
    }

1 个答案:

答案 0 :(得分:1)

当您调用要使用'this'的函数时。

如果没有当前对象,'this'指的是全局对象。在Web浏览器中,这是“window” - 顶级对象,它表示文档,位置,历史记录以及一些其他有用的属性和方法。

如果您正在调用函数,

'this'仍然是全局对象:

因此,this.userInitials()将起作用:

this.font.draw(this.userInitials(), ig.system.width/2, 95, ig.Font.ALIGN.CENTER);