CCMove でボディを移動したい次のコードをスラブのように使用しています。1px から 100px に移動してから 100px から 1px に戻したいのですが、1x から 100px に移動するだけで予期しない動作をする場合は正常に動作します私が戻るとき
void MovableBlock::update(float dt) {
b2Vec2 position;
if(isForward) {
positionAnimationImg = ccpAdd(positionAnimationImg, animatableImage->getPosition());
position = point_to_vec(ccp(this->getPositionX()+positionAnimationImg.x,this->getPositionY()));
}
else {
positionAnimationImg = ccpSub(positionAnimationImg, animatableImage->getPosition());
position = point_to_vec(ccp(positionAnimationImg.x-this->getPositionX(),this->getPositionY()));
}
CCLog("%f:%f",this->getBody()->GetTransform().p.x,position.y);
//CCLog("position>> %f:%f",position.x,position.y);
this->getBody()->SetTransform(b2Vec2(position.x,
position.y),
this->getBody()->GetAngle());
animatableImage->setPosition(CCPointZero);
}