私は小さなゲームをプログラミングしています。このためには、いくつかの壁が必要です。したがって、私は使用しました:
Wall[w] = [[SKShapeNode alloc] init];
Wall[w].path = WallPos[w];
Wall[w].lineWidth = 4;
Wall[w].strokeColor = [UIColor whiteColor];
Wall[w].zPosition = 3;
[self addChild: Wall[w]];
Wall は SKShapeNodes の配列であり、@interface に設定されているため、すべてのメソッドで使用できます。WallPos には CGMutablePathRefs が含まれます。TouchesBegan と TouchesMoved では、壁の 1 つに触れたかどうかを確認するメソッドを呼び出しています。RectanglesであるSKShapeNodesもいくつかあり、それらが触れられているかどうかを確認するために使用しました
if ([SomeShape containsPoint: Position] {
//Do some stuff
}
しかし、行では機能しません。回線に触れても何も起こらないことがあります。それから私はこれを見ました:線であるSKShapeNodeでタッチを検出し、その方法でそれをやろうとしました:
for (int i = 0; i < NrWalls; i++) {
if (CGRectContainsPoint(Wall[i].frame, Position)) {
[self GameOver];
}
}
しかし今では、私が触れるたびに「ゲームオーバー」が設定されます!!
アイデアはありますか? ラインが触れているかどうかを確認するにはどうすればよいですか?
ご協力いただきありがとうございます!
DXL