2016-08-08 9 views
1

labelを作成しようとしていますが、表示されません。私は何が間違っているのか分からない。コードは完全に罰金だ:UILabelはSKSceneに表示されません

class end: SKScene { 

    var label = UILabel() 

    override func didMoveToView(view: SKView) { 
     scene?.backgroundColor = UIColor(red: CGFloat(59.0/255.0), green: CGFloat(89.0/255.0), blue: CGFloat(152.0/255.0), alpha: CGFloat(1.0)) 

     label.text = "Game Over!" 
     label.backgroundColor = UIColor.blackColor() 
     label = UILabel(frame: CGRect(x: 0, y: 0, width: view.frame.width/3, height: 30)) 
     label.center = CGPoint(x: view.frame.size.width/2, y: view.frame.size.width/7) 
     label.textColor = UIColor.whiteColor() 
     self.view?.addSubview(label)  
    } 
} 
+0

現れる?まず、センターは何ですか?これは普通のUILabelプロパティではありません。 – Knight0fDragon

+0

n/mセンターはUIVIewのメンバーなので、現在の座標は何ですか?私はあなたが自動レイアウトを使用していると仮定しようとしています。そしてdidMoveToViewが呼び出されたとき、あなたはデフォルトの座標で作業しています、そして、autolayoutはいくつかのforseeableスコープの外にビューを移動します。 – Knight0fDragon

答えて

1

問題は、あなたが適切にあなたのテキストが表示されますいずれかを変更、textColorとの両方whiteColor()backgroundColorを設定しています。

編集:

私はあなたがあなたの代わりにself.view?.addSubview(label)の使用view.addSubview(label)よりもパラメータとして渡しているview内側のラベルを追加したいと思います。

+0

私は背景を黒に変更しました。まだ表示されていません。私が変更していなくても、白い色のラベルが画面に表示されているはずですが、まったく表示されません –

+0

didMoveToViewのときにself.viewには – Knight0fDragon

0

Sprite-kitの場合、UIKitというラベルをシーンに直接追加する代わりに、SKLabelNodeを使用してください。これは、ゲームに悪影響を与える可能性があるためです。

私は例を作る:

let titleLabel = SKLabelNode(fontNamed:"HelveticaNeue-Bold") 
titleLabel.text = String("Game Over!") 
titleLabel.fontColor = SKColor.whiteColor() 
titleLabel.position = CGPoint(x: size.width/2.0, y: size.height/2) 
self.addChild(titleLabel) 

あなたはスプライト・キットXcodeのデモプロジェクト「こんにちは、世界」にもSKLabelNodeを見つけることができます:あなたはそれではありません知っていますか

enter image description here

+1

という名前が付けられています。どうもありがとうございます! –

+0

非常に良い、それを知っていい、あなたのプロジェクトのための幸運 –

関連する問題