0

だから私は単純なcocos2dプラットフォーマーを作っていますが、衝突で少し奇妙なことに遭遇しています。私はそれを持っているので、ジャンプしてあなたの上のブロックにぶつかると、上向きの力が止まり、落下し始めます. ただし、ブロック レジスタの左側と右側は大きく異なります。何が起こっているのかをテストするために、両側でヒット検出を大きくしました。ブロックの右側は常に正常に機能し、増加に反応します。しかし、左側は決して増加に反応しません。これは紛らわしいかもしれませんので、まだ何を言っているのかわからない場合は、簡単な YouTube ビデオを投稿して、ここにリンクすることができます。

私が使用しているコードは次のとおりです。

-(CGPoint) tileCoorForPosition: (CGPoint)position{

    int x = floor((position.x + tilesMoved) / 40);
    int y = floor((((self.tileMap.mapSize.height * 40) - position.y) / 40));

    return ccp(x,y);
}
-(CGPoint) positionForTileCoord:(CGPoint) position{
    int x = position.x * 40 - tilesMoved;
    int y = (((self.tileMap.mapSize.height - position.y - tilesMovedUp)* 40));
    return ccp(x,y);
}

 CGPoint tl_playerPosition = [self tileCoorForPosition:ccp(self.character.position.x - self.character.contentSize.width/2, self.character.position.y + self.character.contentSize.height*2)];
 CGPoint tr_playerPosition = [self tileCoorForPosition:ccp(self.character.position.x + self.character.contentSize.width/2, self.character.position.y + self.character.contentSize.height*2)];

if(tr_GID || tr_GID || tm_GID || tml_GID || tmr_GID)
    {
        jumpForce = -1;
        jumpForce += gravity;

    }
4

0 に答える 0