我自己的碰撞检测

时间:2012-02-03 16:05:26

标签: objective-c xcode

所以基本上我正在构建我自己的一些碰撞检测,但我不能让数学正确。

所以我这样做的方式是我有一个静态播放器,随机生成平台并向播放器移动。

到目前为止,这是我的代码:

//Checks to see is a platform has been created
if(IsPlatform == true){

        // performs check on the players position && platform position
        if (Player.position.y > 100 && platform.position.x < platform.contentSize.width - Player.position.x/2) {

        // allows you to jump on the platform
            JumpUp = true;

        }else if(Player.position.y < 100 && platform.position.x < platform.contentSize.width - Player.position.x/2){

            // Hit platform
            JumpUp = false;

        }else{

            JumpUp = false;
}

但我遇到的问题是让平台启动方面击中玩家,因为每个平台的大小在100-400px之间,有时命中就在平台开始之前,其他时间在之后(如果我很幸运的话)在正确的地方)。

我尝试了很多不同的选择,但是如果有人能帮助我的话,我的思绪可能会变得如此模糊。

由于 利

1 个答案:

答案 0 :(得分:0)

我不确切知道这段代码应该做什么,但是这个检查没有任何意义:

platform.position.x < platform.contentSize.width - Player.position.x/2

在这些检查中你不应该有platform.contentSize.width,或者你应该检查平台的中心,然后用另一种方式编写。也许你真的想写这个:

 platform.position.x < Player.position.x/2