我在spriteKit中創建了一款平臺遊戲,並且我在橫向模式中遇到了一些問題。 當我做我的英雄跳,我用的是景觀模式在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)];
}
}
保持這個速度。 我一直在肖像模式下測試,一切正常,但我的遊戲是橫向模式,所以最後我已經阻止了遊戲風景模式,現在我在橫向模式下測試它,我遇到了麻煩,因爲當我在跳躍中向前移動手指時,沒有任何反應。取而代之的是,我必須向上移動手指才能獲得該動作。我確定我錯過了我的橫向模式的一些基本配置。任何幫助將是一個精選
你有沒有嘗試改變X座標的Y座標?還要記住,locationInNode使用一個座標系統,其原點位於左下角,而不是UIViews中的左上角。 – lucaslt89