gpt4 book ai didi

ios - 横向模式在 spritekit 游戏中不能正常工作

转载 作者:可可西里 更新时间:2023-11-01 05:12:51 26 4
gpt4 key购买 nike

我在 spriteKit 中开始了一款平台游戏,但横向模式有点问题。当我和我的英雄一起跳跃时,我使用

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

当英雄在空中并与墙壁或任何物体碰撞并且错过他的速度时,然后我使用

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];

CGPoint positionInScene = [touch locationInNode:self];
SKSpriteNode *touchedNode = (SKSpriteNode *)[self nodeAtPoint:positionInScene];

CGPoint posicionHero = [self.world childNodeWithName:@"hero"].position;
SKSpriteNode *touchHero = (SKSpriteNode *)[self nodeAtPoint:posicionhero];

//pragma mark -hero movement in the air

if ((touchedNode != touchHero)
&&
(positionInScene.x > [self.world childNodeWithName:@"hero"].position.x))
{
[[self.world childNodeWithName:@"hero"].physicsBody applyImpulse:CGVectorMake(5, 0)];
}
if ((touchedNode != touchHero)
&&
(positionInScene.x < [self.world childNodeWithName:@"hero"].position.x))
{
[[self.world childNodeWithName:@"hero"].physicsBody applyImpulse:CGVectorMake(-5, 0)];
}

}

保持这个速度。我一直在纵向模式下测试,一切正常,但我的游戏是横向模式,所以最后我将游戏设置为横向模式,现在我在横向模式下测试它,但遇到了麻烦,因为当我跳跃向前移动手指时,什么也没有发生。而不是这个,我必须向上移动我的手指,以获得那个 Action 。我确定我缺少横向模式的一些基本配置。任何帮助将不胜感激

最佳答案

这其实是SpriteKit游戏中的通病。发生这种情况是因为 viewDidLoad 实际上在应用程序检查设备方向之前运行。您可以通过将 viewDidLoad 替换为 viewWillLayoutSubviews 来修复它,它将在设备方向检测后运行。例如,您可以将默认的 SpriteKit viewDidLoad 替换为:

- (void)viewWillLayoutSubviews
{
[super viewWillLayoutSubviews];

// Configure the view.
SKView * skView = (SKView *)self.view;
if (!skView.scene) {
skView.showsFPS = YES;
skView.showsNodeCount = YES;

// Create and configure the scene.
SKScene * scene = [MyScene sceneWithSize:skView.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;

// Present the scene.
[skView presentScene:scene];
}
}

有关更多信息,请查看以下来源: UIViewController returns invalid frame? http://www.raywenderlich.com/42699/spritekit-tutorial-for-beginners

关于ios - 横向模式在 spritekit 游戏中不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20518512/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com