Positioning a Scene’s Origin Within its View
Try the different ways to configure the scene’s origin inside its view.
You use the scene’s
anchorPoint to orient the default screen position of its nodes. For example, setting the scene’s anchorPoint to (0,0) makes child nodes with a position of (0,0) display at the bottom-left corner of the scene. However, setting the scene’s anchorPoint to (0.5,0.5) makes child nodes with a position of (0,0) display in the center of the scene.
You only use the scene’s anchorPoint for scene’s that don’t have a camera. If, however, you set a scene’s camera, then the
camera drives which portion of the scene is visible at any given time, and the anchorPoint is ignored.
Set the Scene’s Origin to the Bottom-Left of its View
By default, a scene’s origin is placed in the lower-left corner of the view, as shown in the figure below. A scene initialized with a height of 1024 and a width of 768 has the origin (0,0) in the lower-left corner, and the (1024,768) coordinate in the upper-right corner. The
frame property holds (0,0)-(1024,768).
position property is ignored by Scene Kit because the scene is always the root node for a node tree. Its default value is
zero and you can’t change it. However, you can move the scene’s origin by setting its
anchorPoint property. The anchor point is specified in the unit coordinate space and chooses a point in the enclosing view.
Figure 1 Default anchor for a scene is in the lower-left corner of the view
The default value for the anchor point is
zero, which places it at the lower-left corner. The scene’s visible coordinate space is (0,0) to (width,height). The default anchor point is most useful for games that do not scroll a scene’s content.
Center the Scene’s Origin Within its View
The second-most common anchor point value is (0.5,0.5), which centers the scene’s origin in the middle of the view as shown in the figure below. The scene’s visible coordinate space is (-width/2,-height/2) to (width/2,height/2). Centering the scene on its anchor point is most useful when you want to easily position nodes relative to the center of the screen, such as in a scrolling game. However, this effect is better achieved using a
Figure 2 Moving the anchor point to the center of the view
As a result of setting the anchorPoint and size, you indirectly set the scene’s frame, which determines the portion of the scene that’s visible to the user.