CGRectIntersectsRect проблемы, перекрытие кадров, но не обнаружение - PullRequest
1 голос
/ 14 марта 2012

Я пытаюсь создать приложение для iPad, и пока все в порядке, и теперь я пытаюсь сделать прыжок с объекта, поэтому я сделал так, что он подпрыгивает в воздух, а затем снова падает, и это работает нормально. но моя проблема возникает, когда я хочу, чтобы он снова остановился на земле, я думал, что CGRectIntersectsRect будет работать, но он просто не работает, я имею в виду, что объект явно перекрывает основное изображение, но не останавливается.

Код:

    -(void)gameStatePlayNormal{

    if(cubeState == CubeIsTouchingGround){
        cubeVelocity.y = 0;
    }

    gravity = CGPointMake(0, kGravity);

    cube.center = CGPointMake(cube.center.x, cube.center.y + cubeVelocity.y);
    cubeVelocity.y += gravity.y;

    if(touchState == Touch){

        if(cubeState != CubeIsJumping){
            cubeState = CubeIsJumping;
            cubeVelocity.y = cubeVelocity.y -10;
            [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(cubejump) userInfo:nil repeats:NO];

        }

    }

}
-(void)cubejump{

    if(cubeState == CubeIsJumping){
        if(CGRectIntersectsRect(cube.frame, ground.frame)){   
            NSLog(@"Cube is touching the ground.");
            cubeState = CubeIsTouchingGround;
            cubeVelocity.y = 0;

        }

    }
}

и файл .h:

    UIImageView *cube;
    UIImageView *spike;
    UIImageView *box;
    UIImageView *ground;

}

-(void)gameStatePlayNormal;

@property (nonatomic, retain) IBOutlet UIImageView *cube;
@property (nonatomic, retain) IBOutlet UIImageView *spike;
@property (nonatomic, retain) IBOutlet UIImageView *box;
@property (nonatomic, retain) IBOutlet UIImageView *ground;

и, конечно, все связано в файле .xib, я могу манипулировать как наземным изображением, так и изображением куба другими способами, чтобы они были связаны с переменной в файле xib.

, пожалуйста, помогите, я попытался также использовать self.view.bounds.size.width, но он не работал в нижней части экрана. пожалуйста помогите:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...