3.2版本player3运行EventListenerAcceleration找不到定义,怎么使用加速度计

LUA ERROR: [string “C:/dev/quick-cocos2d-x-3.2rc0/project/helloword/src/app/scen
es/PlayScene.lua”]:233: attempt to index field ‘EventListenerAcceleration’ (a ni
l value)

代码如下
– accelerator
local function accelerometerListener(event,x,y,z,timestamp)
if(gameSuspended) then return end;
m_actor:modifyVelX(x);
end

layer:setAccelerometerEnabled(true);
local listerner  = cc.EventListenerAcceleration:create(accelerometerListener)
layer:getEventDispatcher():addEventListenerWithSceneGraphPriority(listerner, m_actor)

Layer:onAccelerate(listener)

搞定了,用layer的
layer:setAccelerometerEnabled(true);
layer:addNodeEventListener(cc.ACCELERATE_EVENT, function(event)
return accelerometerListener(event.x, event.y, event.z, event.timestamp)
end)

quick3.3有改动吗?!使用加速度计的时候没有反应。
根据文档:http://cn.cocos2d-x.org/article/index?type=quick_doc&url=/doc/cocos-docs-master/manual/framework/quick/V3/events/zh.md

local node = display.newNode()
node:addNodeEventListener(cc.ACCELERATE_EVENT, function(event)
label:setString(event.x) --这里稍作修改
end)
self:addChild(node)

运行后没有反应。

而如果改用layer
local layer = display.newLayer()
layer:setAccelerometerEnabled(true);
layer:addNodeEventListener(cc.ACCELERATE_EVENT, function(event)
label:setString(event.x) --这里稍作修改
end)
self:addChild(layer)

提示错误:attempt to call
method ‘setAccelerometerEnabled’ (a nil value)

发现CCLayer里面很多接口都废弃了。。。

quick中没有找到加速度计的例子,请问lz或其他大神如何正确使用?!

非常感谢!:)

不知道为什么发帖、回复总是跳到论坛首页。。。。。。。。。。。。

自己顶。。。。。。。。。:12:

不知道为什么发不了新帖,只能在这个帖子顶了~:12:

local layer = display.newLayer()
layer:enableAccelerometer(true);
layer:onAccelerate( function(event)
dump(event)
end)
self:addChild(layer)

没有用过重力感应,不过我猜应该是上面这样写。:14:

感谢ls的回复,不过。。。这样写也是不对的,会报错:
‘enableAccelerometer’ (a nil value)

刚才下载了quick3.5,发现里面有很多测试例子,第一个就是加速度计,仿照写了一下居然ok了!
有需要的可以参考quick3.5中的测试例子:“quick-3.5\tests\lua-tests\src\AccelerometerTest”

– 创建一个层,
– 使用 layer = display.newLayer() 会报错!不知道是不是设计成这样?
layer = cc.Layer:create()
– 开启加速度计
layer:setAccelerometerEnabled(true)
– 创建监听
local function accelerometerListener(event,x,y,z,timestamp)
lable:setString("x is "…x)
end

    local accListerner  = cc.EventListenerAcceleration:create(accelerometerListener)
    layer:getEventDispatcher():addEventListenerWithSceneGraphPriority(accListerner,testSprite)
    layer:addTo(self)

问题暂时算是解决了~ 非常感谢ls的回复,有问题再交流~~~:7: