SKShapeNodeで折れ線と滑らかな曲線の描き方
もうこれは定型文なんだそうです。理屈や疑問なしで、覚えて終了。
【コード】
var points = [CGPoint(x: 0, y: 0), CGPoint(x: 100, y: 100), CGPoint(x: 200, y: -50), CGPoint(x: 300, y: 30), CGPoint(x: 400, y: 20)]
↑これで点を設定する。配列なのでいくつでもよい。CGPointなので中身はint型。
let linearShapeNode = SKShapeNode(points: &points, count: points.count)
↑これで折れ線を描く。点の個数はcountのプロパティで自動取得できるので、点の数が変わっても問題ない。pointsのところにある「&」は何なのか分からないが、誰も気にしている人はいないので、もうこういうものだと思うことにする。
let splineShapeNode = SKShapeNode(splinePoints: &points, count: points.count)
↑これは滑らかな曲線を描く場合。こちらも点の個数については気にする必要がない。「&」を気にしてはいけないのも、同じ。
【コードここまで】
これらはAppleの公式ドキュメントに書いてあるまんまです。
↓
https://developer.apple.com/documentation/spritekit/skshapenode/creating_a_shape_node_from_an_array_of_points
ちょっと手を加えて、本に書いてある例の通りにできました。(背景色とか線の太さや色を加えただけです。)
[以上です]















