画面の右側(self.frame.size.width)から中央(self.frame.size.width / 2)までのディスプレイ側をタップしてから、もう一度タップすると、ゲームオーバーメソッドをテストしています。 (self.frame.size.width)(画面外)に戻ります
resetメソッドですべての変数を変更する代わりに、同じシーンの新しいシーンを作成したいと思います。
GameScene* NewScene = [GameScene sceneWithSize:self.view.bounds.size];
NewScene.scaleMode = SKSceneScaleModeAspectFill;
[self.view presentScene:NewScene];
私のビューコントローラー
scene.scaleMode = SKSceneScaleModeAspectFill;
それは動作しますが(画面外にあると思われます)、サイズも大きくなりました。
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[self gameover];
if(direction == 1){
[self reset];
}
[self endInterFace];
for (UITouch *touch in touches) {
location = [touch locationInNode:self];
}
[self handleDirectionChange];
}
-(void)gameover{
[score_Display runAction:[SKAction moveTo:CGPointMake(self.frame.size.width/2, self.frame.size.height/2+50) duration:0.30]];
[ScoreFINAL runAction:[SKAction moveTo:CGPointMake(self.frame.size.width/2, self.frame.size.height/2+50) duration:0.30]];
[highScoreFINAL runAction:[SKAction moveTo:CGPointMake(self.frame.size.width/2, self.frame.size.height/2-35) duration:0.30]];
[score_Retry runAction:[SKAction moveTo:CGPointMake(self.frame.size.width/2, self.frame.size.height/2-120) duration:0.40]];
[score_Rate runAction:[SKAction moveTo:CGPointMake(self.frame.size.width/2, self.frame.size.height/2-220) duration:0.55]];
[score_Share runAction:[SKAction moveTo:CGPointMake(self.frame.size.width/2, self.frame.size.height/2-300) duration:0.75]];
}
-(void)reset{
[score_Display runAction:[SKAction moveTo:score_DisplayXY duration:0.30]];
[ScoreFINAL runAction:[SKAction moveTo:CGPointMake(self.frame.size.width, self.frame.size.height/2+50) duration:0.30]];
[highScoreFINAL runAction:[SKAction moveTo:CGPointMake(self.frame.size.width, self.frame.size.height/2-35) duration:0.30]];
[score_Retry runAction:[SKAction moveTo:score_RetryXY duration:0.40]];
[score_Rate runAction:[SKAction moveTo:score_RateXY duration:0.55]];
[score_Share runAction:[SKAction moveTo:score_ShareXY duration:0.75]];
GameScene* NewScene = [GameScene sceneWithSize:self.view.bounds.size];
NewScene.scaleMode = SKSceneScaleModeAspectFill;
[self.view presentScene:NewScene];
}
コメントで述べたように、問題はアスペクト比のためにビューが歪む可能性があるということでした
解決:
交換
GameScene* NewScene = [GameScene sceneWithSize:self.view.bounds.size];
と
GameScene* NewScene = [GameScene sceneWithSize:self.frame.size];
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加