我有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只左右移动一次。
答案 0 :(得分:0)
我认为只有一次工作的问题是因为你从来没有重置你的BOOLs。 Aistouched
和Cistouched
。在设置Aistouched = FALSE
后立即尝试添加Bvelocity.x = 5;
,并为C添加相同的内容。