Моя проблема заключается в том, что HUD не остается в том же положении, но также перемещается вместе с камерой.SpriteKit статический HUD с камерой на плеере
Я пытаюсь создать версию Sokoban, используя swift_boxxle обнаруженный код на Github,
Я добавил новый SKNode под названием mazeWorld, узел камеры и узел HUD.
var mazeWorld: SKNode?
let cam = SKCameraNode()
var HUD: SKNode?
В моем проекте didMoveToView я добавляю как сцену в mazeWorld, так и HUD.
override func didMoveToView(view: SKView) {
HUD = SKNode()
addChild(HUD!)
mazeWorld = SKNode()
addChild(mazeWorld!)
self.camera = cam
...
initMenu()
}
Я использую функцию обновления для установки положения камеры в положение игрока:
override func update(currentTime: CFTimeInterval) {
cam.position = player.sprite.position
}
Я получил другую функцию настройки меню
func initMenu() {
menuReset.text = "[reset]"
menuReset.fontSize = 20
menuReset.fontColor = SKColor.whiteColor()
menuReset.position = CGPoint(x: self.size.width/2, y: self.size.height/2 - 20)
menuReset.horizontalAlignmentMode = SKLabelHorizontalAlignmentMode.Left;
...
HUD!.addChild(menuMain)
}
Update
Я добавил следующее:
let label = UILabel(frame: CGRectMake(0, 0, 200, 21))
label.textAlignment = NSTextAlignment.Center
label.text = "I'am a test label"
label.textColor = UIColor.whiteColor()
self.view!.addSubview(label)
var frame: CGRect = label.frame
//align on top right
let xPosition: CGFloat = CGRectGetWidth(view.frame) - CGRectGetWidth(frame)
frame.origin = CGPointMake(ceil(xPosition), 0.0)
label.frame = frame
//autoresizing so it stays at top right (flexible left and flexible bottom margin)
view.autoresizingMask = [.FlexibleLeftMargin, .FlexibleBottomMargin]
Возможный дубликат [Swift: кнопки управления не перемещаются с камерой] (http://stackoverflow.com/questions/35351702/swift-make-control-buttons-not-move-with-camera) – rickster
См. Также [ Захват камеры на фоне сцены в SpriteKit] (http: // stackoverflow.com/a/35189679/957768) – rickster
Спасибо, я посмотрю и посмотрю Deerper в GameplayKit с DemoBots (https://developer.apple.com/videos/play/wwdc2015/609/?time=447) –