[FIXED] Sprite in Relation zum Punkt auf dem Bildschirm platzieren, nicht auf der Karte

Ausgabe

In Cocos2D möchte ich, dass ein Sprite auf einer Bildschirmkoordinate platziert wird, nicht auf einer Kartenkoordinate. Ich dachte, ich könnte ConvertToNodeSpace verwenden, aber es scheint nicht das zu tun, was ich will.

Ich dachte, dies sollte ein Sprite in der Mitte meines iPad-Bildschirms platzieren:

selectionScreenOverlaySprite.position = [self convertToNodeSpace:CGPointMake(512, 384)];

Aber das tut es nicht. Es platziert es auch an einer anderen Stelle, abhängig von der Größe meiner Karte. Weiß jemand, was ich verwenden sollte? Ich habe auch versucht: convertToWorldSpace, convertToNodeSpaceAR und convertToWorldSpaceAR.

Lösung

Versuche dies:

CGSize wins = [[CCDirector sharedDirector] winSize];
[yourSprite setPosition:CGPointMake(wins.width / 2, wins.height / 2)];

Dies ist besser als die Verwendung hartcodierter Werte, da es unabhängig von der Auflösung funktioniert.


Beantwortet von –
eric.mitchell


Antwort geprüft von –
Jay B. (FixError Admin)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like

[FIXED] CIImage horizontal spiegeln

Ausgabe Ich versuche, mein CIImage horizontal zu spiegeln mit: image = [image imageByApplyingTransform:CGAffineTransformMakeScale(1, -1)]; image = [image imageByApplyingTransform:CGAffineTransformMakeTranslation(0,…