关于变量的调用

目前我在properties里面定义了一个map的变量,类型是cc.node,然后我在onload函数里面添加了一个键盘事件监听器,想在里面的onKeyPressed函数中打印map的positionY,但是用了this.map.getPositionY()却提示this.map不存在,请问该怎么做?

请问这是属于js语法的问题吗?因为文档那边好像找不到例子

你的this.map在properties里面定义默认是null,类型是cc.Node。你需要在Creator的层级管理器里拖一个cc.Node类型的节点到属性检查器里的map属性上。否则运行起来this.map就是默认的null。

囧。。不好意思,我表达有问题。。
我有看过新手教程,知道要拖动关联,所以在onload函数下面的那个log是可以正常输出的,但是if keycode == 87下面,也就是cc.log 123下面的log是不能输出的

http://www.cocos.com/docs/creator/getting-started/quick-start.html
可以看下这里怎么监听键盘事件的。

这是js关于的this的问题,可以在listener外面用var self = this把现在的this保存下来,listener里面用self来调用

楼上说得对,是我没认真看楼主的代码。onLoad函数里的this是你想调用的this,onKeyPressed里的this指向listener,不是你想调用的this。所以在onLoad里listener前面用var self = this把onLoad的this保存下来,onKeyPressed里用self.map调用。

好,谢谢,我试试。。新手教程我有看一部分,可能有些有漏掉,没看到。。

好的,知道了,谢谢