UIImage 中的 SKTexture 看起来不同
Posted
技术标签:
【中文标题】UIImage 中的 SKTexture 看起来不同【英文标题】:SKTexture from UIImage looks different 【发布时间】:2014-02-13 20:46:38 【问题描述】:我正在玩 SpriteKit,我正在从 UIImage 创建一个 SKTexture,然后使用 SKSpriteNode 将孩子添加到我的 SKScene(作为背景),一切正常,除了 UIImage 看起来与原始图像,我尝试在 Photoshop 中重新创建图像,但问题仍然存在,在模拟器和真实设备上测试以及不同的图像颜色,没有变化。
图片格式为PNG,我在Xcode 5中通过Images.xcassets添加
图像,结果:
不同的图像,结果:
我在我的 SKScene 子类中使用以下代码:
- (id)initWithSize:(CGSize)size
if (self = [super initWithSize:size])
SKTexture *textureGradient = [SKTexture textureWithImage:[UIImage imageNamed:@"Image"]];
SKSpriteNode* spriteGradient = [SKSpriteNode spriteNodeWithTexture:textureGradient];
[self addChild:spriteGradient];
return self;
我做错了什么?
任何帮助将不胜感激。 :)
【问题讨论】:
它看起来是垂直拉伸的?仔细检查您的尺码SKSpriteNode
的颜色属性设置了吗?你会在任何地方更改 alpha 吗?
谢谢你们!看起来图像被拉伸了。解决了 spriteGradient.position = CGPointMake(CGRectGetMidX(self.frame),CGRectGetMidY(self.frame));
【参考方案1】:
解决方案:
是我的错,图片位置不对,所以我改了位置属性:
SKTexture *textureGradient = [SKTexture textureWithImage:[UIImage imageNamed:@"Image"]];
SKSpriteNode* spriteGradient = [SKSpriteNode spriteNodeWithTexture:textureGradient];
spriteGradient.position = CGPointMake(CGRectGetMidX(self.frame),CGRectGetMidY(self.frame));
[self addChild:spriteGradient];
【讨论】:
以上是关于UIImage 中的 SKTexture 看起来不同的主要内容,如果未能解决你的问题,请参考以下文章
我的 SKTexture 尺寸不适合我的 SKSpriteNode
如何在没有 SKTexture 的情况下更改 didBeginContact 中的 SKSpriteNode 大小和颜色?
在没有 CoreText 的情况下将 UITextView 中的文本包装在 UIImage 周围
如何将 SKSpriteNode 合并到 SKTexture 以在 Swift 3 中形成新的 SKSpriteNode?