作者:手机用户2602938575 | 来源:互联网 | 2023-08-17 01:32
在开发一些赛车类,或者躲避类的游戏中,经常会用到重力感应的功能。比如以前玩儿的控制一个金属球走迷宫的游戏。
在最近这个版本的TestCPP中我没有找到关于重力感应的例程,不知道是官方没有添加还是我自己没找到。不管如何吧,我通过网上搜索资料。解决了自己所遇到的问题。在此分享出来希望对大家有用。
一下内容是自己的理解,不对之处欢迎指出!
void onAcceleration(cocos2d::Acceleration* acc, Event* unused_event);
最后将方法实现: void HelloWorld::onAcceleration(Acceleration* acc, Event* unused_event){//获取导演类对象auto dirInstance = Director::getInstance();//获取之前创建的Spriteauto spTest=this->getChildByTag(1000);//通过导演类中的方法,将Sprite的屏幕坐标转换为UIkit的坐标auto uiSpPoint = dirInstance->convertToUI(spTest->getPosition());//并将中里感应的数值乘上中里系数uiSpPoint.x += acc->x * 9.81f;uiSpPoint.y -= acc->y * 9.81f;//将计算后的UIkit坐标转换回屏幕中的坐标auto spNewPoint = dirInstance->convertToGL(uiSpPoint);spTest->setPosition(spNewPoint);
}