2016-11-18 18 views
1

実際に私はゲームプログラミングを初めてやっています。私はSpriteKit for Graphicsを使用しています。画像を読み込んだときに黒い画面が表示されました。なにが問題ですか??以下はGameScene.swiftに書いた私のコードです。私はmy_Imageをプロジェクトに入れます[必要に応じてコピー]あなたの返事をありがとう。画像が黒く塗られています

import SpriteKit 

class GameScene: SKScene { 
    override func didMoveToView(view: SKView) {  
     let exampleNode=SKSpriteNode(imageNamed: "snakes & ladders.png") 
     exampleNode.size=CGSize(width: 1000, height: 1000) 
     exampleNode.anchorPoint=CGPoint(x: 0, y: 0) 
     exampleNode.position=CGPoint(x:self.frame.width/2, y:self.frame.height*0.25) 
     self.addChild(exampleNode)  
    } 
} 
+1

ok snakesAndLadders.png、2に名前を変更すると、1、 "snakes&ladders.png"はひどいファイル名です。スプライトのサイズを指定しないでください。システムはそれをあなたのために行います。 3、あなたのアンカーポイントと位置コードを削除して、ちょうどシーンにあなたのアイテムを手に入れようとする – Knight0fDragon

+0

KnightofDragon、あなたが言ったように、それはまだ黒です。 – Ehsan

+0

'let exampleNode = SKSpriteNode(color:SKColor.blue、size: CGSize(100,100)) 'の代わりに画面上に何かをつけてみましょう – Knight0fDragon

答えて

1

実際には、画像のサイズはシーンと同じでなければなりません。たとえば、iPhone 5sの背景画像を設定したい場合、5sの解像度は640x1136なので、画像サイズを640x1136ピクセルの高さに設定する必要があります。 は常に二つのことを覚えて:プロジェクトを実行し、X-画像がある場合に

  1. を、画像のアドレスは、いくつかの問題が解決してありますが、ただ黒い画面がある場合
  2. 正しくありません。
3

が、私は私の画像の一部だけが異なる解像度、持っていない他の画像の名前に@ 2倍、3倍@を追加している場合は奇妙なバグに遭遇してきました@ 2倍、3倍@それらの上に黒いボックスとして表示されます。

私のプロジェクトにはImage1とImage2という2つのイメージがあります。より高解像度の画面をサポートするためにImage1用に3つの別々のファイルがあるので、実際にはImage1.png、[email protected][email protected]がありますが、Image2.pngしかありません。

ここで、アプリケーションが実行されているデバイスに基づいてどちらを使用するかをiOSに決定させると、Image2はブラックボックスとして表示され、Image1は正しく表示されます。

+0

あなたはどういう意味ですか? – Ehsan

+0

私は説明を追加しました - 上記を参照してください。 – claassenApps

+0

Good find、Classen !!!私はこれを見て、プロジェクトとすべてのグラフィックスのインポートを単純化し、問題を引き起こしたものを決して釘付けにしませんでした。これは完璧な意味で、私がやっていたものとマッチしていますが、私はいくつかの異なるサイズのエクステンションを持っていましたが、それを問題に結びつけませんでした。あなたは上に座っているかもしれません! – Confused

関連する問題