2017-06-23 5 views
1

xcodeでspritekitを使用して、初めての小さなゲームを作っています。私は今プログラミングの初心者ですから少し問題があります。if文を使用しているときにスプライトが回転しない

私は右にスワイプすると、このボード(四角形)を回転しようとしています。私はボードが特定のxとyの位置にあるときだけ回転させたい。だからここ

は、作業を行うコードです:

func swipedLeft() { 

    board.run(rotateActionLeft) 
    board.run(goLeft) 
    board.run(goUp) 

} 

それでは、これは基本的にありませんが、私のボード-90度回転であり、それは左に上がることができます。私は左にスワイプすると動作します。私はこのような機能にif文を入れた場合

func swipedLeft() { 

if position.board.y == -600{ 

board.run(rotateActionLeft) 
board.run(goLeft) 
board.run(goUp) 

} 

} 

何も起こりません。左にスワイプしようとすると、ボードはどこにも行きません。私がxcodeのゲームシーンに行くと、ボードの最初の位置はy = -600です。

私は助けていただきありがとうございます。

+0

'position.board.y == -600'はfalseを返す必要があります。あなたはそれを確認しましたか?私はSwiftを知らないので、整数平等をチェックするより適切な方法があるかどうかはわかりませんが、y位置が実際に-600であるというあなたの主張に挑戦する必要があります。 – Carcigenicate

+0

https://gyazo.com/f9674144b3907db2ed99d3dad1cafb70 –

+0

ねえ、私の答えはあなたを助けましたか?そうでない場合は、私に知らせてください。私はあなたのためにそれを更新しようとすることができます。 – Fluidity

答えて

0

positon.board.yとは何ですか?これは適切なCGPointの構文ではありません。サブクラスを使用していますか?

だから、これはどちらかということを意味:あなたのスプライトがSKSeditorで作成されて以来、移動した

  1. 。 sksエディタが常に正確であるとは限りません。あなたはifステートメントの上にprintステートメントを追加して、それが何であるかを確認する必要があります。

  2. あなたのカスタムposition.boardは正しく機能していません。実際のSKNode().position.yを使って試してみてください。

関連する問題