2015-06-18 37 views
1

我想讓我的按鈕可以水平和垂直拉伸。Spritekit中的資產目錄圖像切片

情節板中的一切都是好的

storyboard image

但在SpriteKit是不一樣的!

我'裝載使用

let spriteTexture = SKTexture(imageNamed: "button"); 
let sprite = SKSpriteNode(texture: spriteTexture, color: nil, size: CGSizeMake(290, 400)); 

spritekit image

回答

2

如果centeRect,yScale:

這是「與精靈的工作」的文件,蘋果公司提供,並更有效地,我只是下章節「調整雪碧」做了解釋它的討論,xScale等設置的按鈕將streach正確

let sprite = SKSpriteNode(texture: spriteTexture, color: nil, size: CGSizeMake(290, 58)); 
sprite.position = CGPointMake(0, -100); 
sprite.centerRect = CGRectMake(140/290.0, 24/58.0, 10.0/58.0, 10.0/58.0); 
sprite.yScale = CGFloat(250.0/58.0); 
sprite.xScale = CGFloat((self.frame.size.width - 20)/290.0); 

self.addChild(sprite); 
1

你需要設置你的精靈的centreRect屬性,定義它是如何縮放圖像。這是一個規範化的CGRect在中心不會縮放,但它周圍的元素將是。

看着你的按鈕,你想要的一切,但中心幾個像素保持unrightched。要設置centreRect屬性:

sprite.centerRect = CGRectMake(0.49, 0.49, 0.02, 0.02) 

這意味着矩形從點的寬度和高度的49%從子畫面的角遠離拉伸,具有長度的子畫面的2%的寬度和高度的側面分別。因此只有紋理的中心2%被拉伸。

https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Sprites/Sprites.html

+0

是我設置** ** centerRect但仍按鈕是不正常,爲了使其工作** ** yScale也應該設置。 – grape1

相關問題