Où est CGRectGetMidX / Y dans Swift 3
DANS Siwft 3, je ne pouvais pas trouver CGRectGetMidX et Y que j'ai utilisé pour calclate position des nœuds. Aussi je ne pouvais pas trouver CGPointMake. DANS ce cas, comment suis-je en mesure de définir des nœuds dans le centre de SKScene?
Merci!
Mise à jour:
J'ai créé un nœud et précisé la position de l', par écrit de cette façon;
let node = SKSpriteNode()
node.position = CGPoint(x:self.frame.size.width/2, y:self.frame.size.height/2)
node.size = CGSize(width: 100, height: 100)
node.color = SKColor.red
self.addChild(node)
Pourquoi est-il quelque part d'autre comme différent de l'emplacement spécifié? J'ai tout d'abord pensé qu'il y avait un changement dans Swift3 et la depresciation de CGPointMake la cause de ce problème, mais il ne semble pas que c'est la cause. Dans ce cas, est l'utilisation de CGRect mieux? Il est très utile si vous pourriez écrire un code qui corrige cette position de la question. Encore une fois, merci pour votre aide.
source d'informationauteur bagels
Vous devez vous connecter pour publier un commentaire.
Dans Swift vous ne devriez pas utiliser ces vieux style de notations. Utilisez simplement les constructeurs et les propriétés:
C fonctions globales comme
CGRectGetMidX
/Y
CGPointMake
etc. ne doit pas être utilisé dans Swift (ils sont déconseillés dans Swift 2.2, enlevé en Swift 3).Swift importations
CGRect
etCGPoint
que les types natifs, avec des initialiseurs, les méthodes d'instance, etc. Ils sont beaucoup plus naturel à utiliser, et ils ne polluent pas le nom global de l'espace que les fonctions C une fois fait.Leur respect de référence de l'API est lié ci-dessus. Vous pouvez également trouver le CoreGraphics de référence de l'API sous la main.
Ont trop de centre de calculs dans votre code. L'utilisation de ce.