0

私は OS X プログラミングの初心者です。Sprite-Kit を使用して Mac 用のシンプルなゲームを作成していますが、ビューに NSButton (および他の NSObjects) を追加するという問題に悩まされています。機能しません-ボタンが表示されません。私のコード:

class LaunchScene: SKScene {

override func didMoveToView(view: SKView) {

    let background = SKSpriteNode(imageNamed: "Wall")
    background.size = CGSize(width: 1600, height: 1200)

    background.position = CGPoint(x: CGRectGetMidX(self.frame),
                                  y: CGRectGetMidY(self.frame))

    self.addChild(background)

    let button = NSButton(frame: NSRect(x: self.frame.width/2,
                 y: self.frame.height/2, width: 50, height: 25))
    self.view!.addSubview(button) //button doesn't show up

どうすれば修正できますか?

PS 一部のブロガーが推奨するように、ビューにレイヤーを追加しようとしました。この状況では、ボタンは実際に表示されますが、画面が完全に黒くなるか、グリッチのみがレンダリングされます。

let layer = CALayer()
self.view!.layer = layer
self.view!.wantsLayer = true
4

1 に答える 1

0

OK、ついにその方法を見つけました (self.view!.wantsLayer が「true」に等しい場合、ビューにレイヤーを割り当てる必要はありません):

class LaunchScene: SKScene {

override func didMoveToView(view: SKView) {

let background = SKSpriteNode(imageNamed: "Wall")
background.size = CGSize(width: 1600, height: 1200)

background.position = CGPoint(x: CGRectGetMidX(self.frame),
                              y: CGRectGetMidY(self.frame))

self.addChild(background)

self.view!.wantsLayer = true

let button = NSButton(frame: NSRect(x: self.frame.width/2,
             y: self.frame.height/2, width: 50, height: 25))
self.view!.addSubview(button)
于 2016-05-26T16:17:27.140 に答える