游戏结束时,uiimageview.image并不总是在变化

时间:2014-06-24 23:08:37

标签: ios objective-c uiimageview

嗨,我非常喜欢编码,并开始在Xcode中制作一个非常简单的游戏。游戏已经完成,但我确实遇到了一些问题。很少有时候在游戏结束时,pig.image不会改变,之前的动画甚至在[pig stopAnimation]之后仍然继续...继承游戏结束时的代码到图像应该改变的地方...... / p>

-(void)gameover1{


[jetpacksound stop];

[self hitsound];

[pig stopAnimating];

[movementtimer invalidate];

if (score > highscorenumber) {
    highscorenumber = score;
    [[NSUserDefaults standardUserDefaults] setInteger:highscorenumber forKey:@"highscoresaved"];
}
else{
    highscore.text = [NSString stringWithFormat:@"Try Harder Next Time"];
}

movementtimer = [NSTimer scheduledTimerWithTimeInterval:.035 target:self         selector:@selector(gameover1movement) userInfo:nil repeats:YES];



bam.hidden = NO;
flash.hidden = NO;

background1.hidden = YES;
background2.hidden = YES;
background3.hidden = YES;

pauseg.hidden = YES;
scorelabel.hidden = YES;

fork1.hidden = YES;
fork2.hidden = YES;
fork3.hidden = YES;
fork4.hidden = YES;
knife1.hidden = YES;
knife2.hidden = YES;
knife3.hidden = YES;
knife4.hidden = YES;
poisoncloud.hidden = YES;
cake.hidden = YES;


}

-(void)gameover1movement{

    pig.center = CGPointMake(pig.center.x, pig.center.y - 30);

    if (IS_IPAD)
    {
        //do stuff for iPad
        if (pig.center.y < 400) {
            [self gameover2];
        }
    }
    else
    {
        if(IS_IPHONE_5)
        {
            //do stuff for 4 inch iPhone screen
            if (pig.center.y < 200) {
                [self gameover2];
            }

        }
        else
        {
            //do stuff for 3.5 inch iPhone screen
        }

    }

}

-(void)gameover2{

    [movementtimer invalidate];

    movementtimer = [NSTimer scheduledTimerWithTimeInterval:.035 target:self selector:@selector(gameover2movement) userInfo:nil repeats:YES];



    pig.image = [UIImage imageNamed:@"DeadPig.png"];

    background1.hidden = NO;
    background2.hidden = NO;
    background3.hidden = NO;

    bam.hidden = YES;
    flash.hidden = YES;

    if (IS_IPAD)
    {
        //do stuff for iPad
        pig.frame = CGRectMake(pig.center.x - 115, pig.center.y - 165, 230.0f, 330.0f);

        if (pig.center.x < 115) {
            pig.center  = CGPointMake(115, pig.center.y);
        }
        if (pig.center.x > 653) {
            pig.center  = CGPointMake(653, pig.center.y);
        }

        background3.center = CGPointMake(384, 512);

        background2.center = CGPointMake(384, 1536);

        background1.center = CGPointMake(384, 2560);

    }
    else
    {
        if(IS_IPHONE_5)
        {
            //do stuff for 4 inch iPhone screen
            pig.frame = CGRectMake(pig.center.x - 50, pig.center.y - 75, 100.0f, 150.0f);

            if (pig.center.x < 50) {
                pig.center  = CGPointMake(50, pig.center.y);
            }
            if (pig.center.x > 270) {
                pig.center  = CGPointMake(270, pig.center.y);
            }

            background3.center = CGPointMake(160, 284);

            background2.center = CGPointMake(160, 852);

            background1.center = CGPointMake(160, 1420);
        }
        else
        {
            //do stuff for 3.5 inch iPhone screen
        }

    }

}

0 个答案:

没有答案