<cocos2d-x for wp7>在cocos2d-x上使用重力加速器
2012-04-24 16:17
423 查看
突然想使用下重力加速器,但是发现C++版的那些AccelerometerDispatcher,CCAccelerometer 等东西在XNA版本都没有实现。而且,在层里面的Init事件中想要注册使用加速器的this.isAccelerometerEnabled = true;编译的直接报错。貌似意思是找不到。看了下CCLayer的封装,的确有这个isAccelerometerEnabled
的成员。但是为什么报错就不清楚了。
纠结了好一会,突然想起来这个引擎也就是在XNA基础上做的。那么直接用XNA的方法吧。
经过尝试,成功!
1,要添加Microsoft.Devices.Sensors的引用。
2,在层的init事件中启用加速器。
注:以前都是用的是ReadingChanged方法来监听重力坐标的改变。但是现在这个方法不推荐了。现在的替代方法是CurrentValueChanged。
3,实现监听方法。
这样,就能用加速器了。。。记住,不用设置层的isAccelerometerEnabled 这个成员属性。这个成员属性直接忽视吧
的成员。但是为什么报错就不清楚了。
纠结了好一会,突然想起来这个引擎也就是在XNA基础上做的。那么直接用XNA的方法吧。
经过尝试,成功!
1,要添加Microsoft.Devices.Sensors的引用。
2,在层的init事件中启用加速器。
Accelerometer gSensor = new Accelerometer(); gSensor.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<AccelerometerReading>>(gSensor_CurrentValueChanged); gSensor.Start();
注:以前都是用的是ReadingChanged方法来监听重力坐标的改变。但是现在这个方法不推荐了。现在的替代方法是CurrentValueChanged。
3,实现监听方法。
void gSensor_CurrentValueChanged(object sender, SensorReadingEventArgs<AccelerometerReading> e) { Vector3 vector3 = e.SensorReading.Acceleration; //由vector3可以取到x,y,z值。 }
这样,就能用加速器了。。。记住,不用设置层的isAccelerometerEnabled 这个成员属性。这个成员属性直接忽视吧
相关文章推荐
- <cocos2d-x for wp7>在cocos2d-x使用spritesheet和用spritesheet创建动画
- <cocos2d-x for wp7>在cocos2d-x里面使用BOX2D
- <cocos2d-x for wp7>使用box2d来做碰撞检测(且仅用来做碰撞检测)
- <cocos2d-x for wp7>使用cocos2d-x制作基于Tile地图的游戏:碰撞检测和收集物品(二)
- <cocos2d-x for wp7>使用cocos2d-x和BOX2D来制作一个BreakOut(打砖块)游戏(一)
- <cocos2d-x for wp7>使用cocos2d-x制作基于Tile地图的游戏:加入敌人和战斗(三)
- <cocos2d-x for wp7>使用cocos2d-x制作基于Tile地图的游戏(一)
- <cocos2d-x for wp7>使用cocos2d-x制作一个太空射击游戏
- <cocos2d-x for wp7>在cocos2d-x上使用重力加速器
- <cocos2d-x for wp7>使用cocos2d-x和BOX2D来制作一个BreakOut(打砖块)游戏(二)
- <cocos2d-x for wp7>动画制作
- <cocos2d-x for WP7>初探CCAction(动作)
- <cocos2d-x for wp7>使用cocos2d-x制作基于Tile地图的游戏:不一样的战斗(回合制战斗)(四)
- <cocos2d-x for wp7>游戏中按返回键退回到菜单页面
- Android Push Notification实现信息推送使用<三>
- 在HTML的<img>标签使用onblur事件
- iOS 3D Touch使用<一、 Home Screen Quick Actions使用>
- ant 的 copy 使用<转>
- <c:forEach>标签与el表达式联合的使用
- 如何使用<identity impersonate="true"/>