次のチュートリアルの数学の一部を理解するのに問題があります。
オフセットを理解する方法がわかりません。チュートリアルの約半分で、Ray は次のコードを使用します。
UITouch * touch = [touches anyObject];
CGPoint location = [touch locationInNode:self];
// 2 - Set up initial location of projectile
SKSpriteNode * projectile = [SKSpriteNode spriteNodeWithImageNamed:@"projectile"];
projectile.position = self.player.position;
// 3- Determine offset of location to projectile
CGPoint offset = rwSub(location, projectile.position);
rwSub はどこですか
static inline CGPoint rwSub(CGPoint a, CGPoint b) {
return CGPointMake(a.x - b.x, a.y - b.y);
}
このコードが機能することは知っていますが、理解できません。タッチ ポイントとオフセット ポイントを NSLogging してみましたが、図のように三角形を形成しません。
(ソース: raywenderlich.com )
これは私の出力から得たものです:
Touch Location
X: 549.000000 Y: 154.000000
Offset
X: 535.500000 Y: -6.000000
これは正しい方向にベクトルを形成しません..しかし、それでも機能しますか? オフセットの仕組みを説明できる人はいますか?