Létrehoztam egy SKView-t, amely egy ilyen SKScene alosztályt mutat be:
SKView *skv = [[SKView alloc] initWithFrame:self.view.bounds];
[self.view addSubview:skv];
self.skScene = [[TestScene alloc] initWithSize:v.bounds.size];
[skv presentScene:_skScene];
Ezután a koordinátarendszer eredetének megtekintéséhez egy kis 10x10-es színes négyzetet adok a jelenethez.
SKSpriteNode *ori = [SKSpriteNode spriteNodeWithColor:[UIColor greenColor] size:CGSizeMake(10,10)];
[self addChild:ori];
A bal alsó sarokban zöld négyzet látható:
Ahogy gondoltam, a SpriteKit koordinátarendszer olyan, hogy az origó mindig a középpontban van. De a jelenetben az origó a bal alsó sarokban van. Amikor hozzáadok egy gyermek csomópontot a {0,0}-hoz, az a bal alsó sarokban is megjelenik.
Amikor hozzáadok egy SKSpriteNode-ot, és {0,0} pozícióba helyezem a jelenetben, megjelenik a bal alsó sarokban. De a bal alsó sarokban a jelenet eredete köré összpontosul (félig balra, félig lefelé vágva).
De most még zavarosabb a helyzet. Amikor hozzáadok egy SKSpriteNode-ot egy másik SKSpriteNode-hoz, az al-sprite KÖZÉPEN lesz a szülőben.
Tehát ez azt jelenti, hogy a jelenet koordinátarendszere másképp működik, mint a sprite koordinátarendszer?
Újrafutóz:
- Amikor egy sprite-ot pozícionálok a jelenetben a(z) {0,0} helyen, a bal alsó sarokban jelenik meg, 50%-ban levágva (az eredet körül középen).
- Amikor egy sprite-ot a sprite-ben {0,0} helyen helyezek el, a sprite közepén jelenik meg.
Rosszul van beállítva a jelenetem, vagy így működik?