私はSKCropNodeでプログラミングを始めました。私の目的は、与えられた画像を、ゲームのための小さい部分(あとで矩形ではないかもしれない)に分割することです(ユーザはそれらの部分を正しい位置に動かさなければなりません)。SpriteKitのSKCropNode:位置とスケールの関係?
研究するためのコードは次のように簡単です:
let center = CGPoint(x: self.frame.width * 0.5, y: self.frame.height * 0.5)
let imageNamed = "image1.jpg"
let sprite1 = SKSpriteNode(imageNamed: imageNamed)
sprite1.position = center
let mask1 = SKSpriteNode(color: SKColor.redColor(), size: CGSize(width: 400, height: 400))
mask1.position = center
let crop1 = SKCropNode()
crop1.maskNode = mask1
crop1.addChild(sprite1)
crop1.position = CGPointZero
self.addChild(crop1)
コードがうまく実行され、トリミングされた画像を表示し、私はそのような大きさや位置などのいくつかのことを変更するときに、スプライト1の言うことを理解することができます。
しかし、sprite1、mask1、crop1の位置を少し変更した場合、特にsprite1またはcrop1に縮尺を追加するときに、私は完全に失われてしまいました。例えば、与えられた画像が0.35に縮小され、5×5個に分割された場合、{0、0}または{4,3}の部分をどのように取得/表示して元の位置に表示するかわかりません。言い換えれば、作物の内容と位置を制御することはできません。
私は、ゲームの目的に関するスケールを含むそれらの位置(sprite1、mask1、crop1の位置)の関係についてのヒントを教えてもらえますか(例えば、必要なものだけをスケールし、位置付ける)?あるいは実装するための他の簡単な方法がありますか?