如何在两个对象之间连续移动精灵

时间:2012-08-04 09:33:50

标签: ios cocos2d-iphone boolean box2d-iphone

我有3个精灵A,B和C.

A和C是对象......

B是Enemy sprites ......所以设计如下。我需要B在A和C之间不断移动。

A ----------的 ---------- C

我在Update方法中使用以下方法。这样就可以为每个帧调用方法。

ABcollision
{
if(Aistouched == YES)
{
Bvelocity.x = 5;  /// moves my sprite B right side
}
}

CBcollision
{
if(Cistouched == YES)
{
Bvelocity.x = -5; /// moves my sprite B right side
}
}

我更新速度的更新方法:

   b2Vec2 dins = dinobody->GetLinearVelocity();
   dinobody->SetLinearVelocity(Bvelocity);

上面的代码使我的精灵B只左右移动一次。

1 个答案:

答案 0 :(得分:0)

我认为只有一次工作的问题是因为你从来没有重置你的BOOLs。 AistouchedCistouched。在设置Aistouched = FALSE后立即尝试添加Bvelocity.x = 5;,并为C添加相同的内容。