在 GameScene::init()方法里面加了如下代码:
..............
b2Vec2 gravity=b2Vec2(0.0f,-10.0f);
bool doSleep=true;
world=new b2World(gravity,doSleep);
world->SetContinuousPhysics(true);
b2BodyDef groundBodyDef;
groundBodyDef.position.Set(0,0);
b2Body * groundBody=world->CreateBody(&groundBodyDef);
this->scheduleUpdate();
.........................void GameScene::update(cocos2d::ccTime time)
{
int32 velocityIterations = 8 ;
int32 positionIterations = 1 ;
world->Step(0.03,velocityIterations,positionIterations);
for (b2Body *b=world->GetBodyList();b;b->GetNext())
{
if (b->GetUserData()!=NULL)
{
CCSprite *myActor=(CCSprite*)b->GetUserData();
myActor->setPosition(CCPointMake(b->GetPosition().x/PTM_RATIO, b->GetPosition().y/PTM_RATIO));
myActor->setRotation(-1*CC_RADIANS_TO_DEGREES(b->GetAngle()));
}
}
}
最后运行到GameScene 场景时很卡,最后程序无法响应而终止。什么原因啊?
..............
b2Vec2 gravity=b2Vec2(0.0f,-10.0f);
bool doSleep=true;
world=new b2World(gravity,doSleep);
world->SetContinuousPhysics(true);
b2BodyDef groundBodyDef;
groundBodyDef.position.Set(0,0);
b2Body * groundBody=world->CreateBody(&groundBodyDef);
this->scheduleUpdate();
.........................void GameScene::update(cocos2d::ccTime time)
{
int32 velocityIterations = 8 ;
int32 positionIterations = 1 ;
world->Step(0.03,velocityIterations,positionIterations);
for (b2Body *b=world->GetBodyList();b;b->GetNext())
{
if (b->GetUserData()!=NULL)
{
CCSprite *myActor=(CCSprite*)b->GetUserData();
myActor->setPosition(CCPointMake(b->GetPosition().x/PTM_RATIO, b->GetPosition().y/PTM_RATIO));
myActor->setRotation(-1*CC_RADIANS_TO_DEGREES(b->GetAngle()));
}
}
}
最后运行到GameScene 场景时很卡,最后程序无法响应而终止。什么原因啊?
解决方案 »
- android 如何停用一个应用 原理
- MediaRecorder 怎么把捕获的数据 时实网络传输出 求高手解决
- Android怎么用代码把系统的窗口小部件中的模拟时钟放到桌面??
- Android:如何用动图做按钮的背景?
- 关于类似桌面launcher滑动实现的问题~~在线求助
- 动态button换行
- 有关选项卡的错误。。。
- 找android的工作,希望给点建议
- 使用了service的activity该怎样退出?
- 求助,帮忙看下数据库哪里有问题,这是一个登录注册界面的代码实现。点击注册后那块代码有问题,可我一个小白实在找不到,急用,所以大家帮忙找找bug,谢谢了!!
- android怎么实现图片裁剪功能
- android异步获取图片并且本地存储的后续问题!
那个update()方法,那是什么原因呢?求大神帮助!!!!