如何使用自定义图像在SKScene中创建边框

时间:2014-11-04 23:44:37

标签: ios swift sprite-kit

所以我想在我的SKScene周围创建一个边框,所以我创建了一个png文件,其边缘的不透明度为0.8,内部清晰。然后我在添加背景图片后将其添加到我的SKScene中。边框正好在我想要的背景上,但是当我创建新的SKSpriteNodes时,它们的图像越过边框而不是在它下面。我尝试设置边框的zPosition,但这只会导致没有新的SKSpriteNodes出现,即使边框内部是清晰的。我想要的是让新的SKSpriteNode进入边界,它们应该仍然可见一点,因为边框的不透明度为0.8,并且在边框内仍然可见。有谁知道我做错了什么或怎么做对了?

谢谢!

1 个答案:

答案 0 :(得分:0)

要做你说的你应该创建4个图像,即:底边,右边,顶边和左边。

根据您给场景的大小制作高度和宽度。

之后实例化4个变量并将所有内容放在适当的位置。

var borderBottom = SKSpriteNode(imageNamed: "borderbottomimage")
var borderRight = SKSpriteNode(imageNamed: "borderrightimage")
var borderUp = SKSpriteNode(imageNamed: "borderupimage")
var borderLeft = SKSpriteNode(imageNamed: "borderleftimage")

//in didView 
borderBottom = CGPoint(x: CGRectGetMidX(self.frame), y: CGRectGetMinY(self.frame))
borderRight = CGPoint(x: CGRectGetMaxX(self.frame), y: CGRectGetMidY(self.frame))
borderUp = CGPoint(x: CGRectGetMidX(self.frame), y: CGRectGetMaxY(self.frame))
borderLeft = CGPoint(x: CGRectGetMinX(self.frame), y: CGRectGetMidY(self.frame))

self.addChild(borderBottom)
self.addChild(borderRight)
self.addChild(borderUp)
self.addChild(borderLeft)

根据需要设置zIndex和其他参数。 所以'工作