2019年1月5日土曜日

タッチしたものが任意のインスタンスか調べる

SpriteKitにはSKSpriteNodeの他にもSKShapeNode、SKLabelNodeなどがあるのだが、タッチしたNode(一番手前にあるNode)がどれなのかを判定したい。
SKSpriteNodeの時だけ何か処理をするとかね。

以下のように is 演算子で比較すればいい。
if target.first is SKLabelNode { }


if let でタッチされたものを as? で調べてもいい。

if let _ = target.first as? SKSpriteNode {
print("スプライトノード")

}

まあSpriteKit以外でも使えるわな。

ついでにインスタンス同士の型が同じかどうかはif 文で比較演算子に === を使えばいいんだとさ。これはまた別の機会に。

0 件のコメント:

コメントを投稿