Я пытаюсь создать приложение для 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, но он не работал в нижней части экрана. пожалуйста помогите:)