2016-11-18 60 views
1

其实我是新来的游戏编程,我使用SpriteKit的图形。当我加载我的图像时,黑屏显示。哪里不对??下面是我在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

好像看起来像你有3个问题,1,“snakes&ladders.png”是一个可怕的文件名,我将它重命名为snakesAndLadders.png,2,你不应该指定你的精灵的大小,让系统为你做。 3,消除你的锚点和位置代码,现在就着手让你的物品在现场 – Knight0fDragon

+0

KnightofDragon,我照你说的做,但它是黑色的 – Ehsan

+0

使用'let exampleNode = SKSpriteNode(color:SKColor.blue,size: CGSize(100,100))''而不是你的图像,让我们在屏幕上为你的东西 – Knight0fDragon

回答

1

实际上,图片的大小必须与场景相同,例如要为iPhone 5s设置背景图片,5s的分辨率为640x1136,因此必须将图片大小设置为640像素宽度,1136像素高度。 永远记住两两件事:

  1. 如果运行项目,并有X-图像,图片的地址不正确
  2. 如果只是黑屏,有一些问题与解决方法。
3

我碰到一个奇怪的错误:如果只有我的一些图像都@ 2倍,3倍@附加到名称为不同的分辨率,不具有与其他图像@ 2倍,3倍@在他们上面显示为黑匣子。

说我在我的项目中有两个图像:Image1和Image2。我将有3个独立的Image1文件来支持更高分辨率的屏幕,所以我实际上会有Image1.png,[email protected][email protected],但我只会有Image2.png。

现在,如果我让iOS根据应用程序正在运行的设备确定要使用哪一个,Image2将显示为黑色框,而Image1将是正确的。

+0

你是什么意思? – Ehsan

+0

我添加了一个解释 - 参见上文。 – claassenApps

+0

好找,Classen !!!我已经看到了这一点,并简化了一个项目及其所有图形输入,并且从未确定导致问题的原因。这是非常有意义的,并且与我正在做的相匹配,我有几个不同尺寸的不同尺寸的扩展,但从来没有将这个问题与问题联系起来。你很可能会发现! – Confused