ios - 从 UIImage 设置 SKSpriteNode

标签 ios objective-c uiimage skspritenode sktexture

我在从 UIImage 设置 SKSpriteNode 时遇到问题。我在 UIImage 上使用桥接器,将图像转换为 SKTexture,然后使用该 SKTexture 创建一个新的 SKSpriteNode,但我的代码不断崩溃并显示以下警报“Thread 1: EXC_BAD_ACCESS (code=1, address=0x0)”

CGImageRef textureImage =  (__bridge CGImageRef)(theUIImage);
SKTexture *heroTexture = [SKTexture textureWithCGImage:textureImage];
SKSpriteNode *hero = [SKSpriteNode spriteNodeWithTexture:heroTexture size:CGSizeMake(64, 64)];

最佳答案

除了将 UIImage 桥接到 CGImageRef 之外,您应该使用:

CGImageRef textureImage = [theUIImage CGImage];

如果您的图像不是 nil,它应该可以工作。

另外,你可以试试:

SKTexture *heroTexture = [SKTexture textureWithImage:theUIImage];

一个小技巧;始终检查“无效”。

关于ios - 从 UIImage 设置 SKSpriteNode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30654679/

相关文章:

ios - TableView 不会加载任何数据

ios - 越狱 iOS : Communication between tweak and application

iphone - Objective-C 字符串格式化

ios - 阻止将对象添加到数组......无法让它工作

ios - 在 iPad 上加载全屏 Retina 图像会导致 10 MB 的巨大峰值

ios - UIImagePickerController 编辑的图像在 iPad 中检索错误的图像

ios - UIImage animationImages 色调颜色?

ios - iPad 纵向和横向自动布局

ios - 以编程方式将 View 添加到 UIStackView

ios CGContextRef 填充颜色