我正在使用 Sprite Kit 制作游戏。当发生碰撞时,我想检索我的射弹碰撞的 SKSpriteNode 的图像,以根据怪物的图像分配不同的点值。我认为比较 SKSpriteNode 的纹理属性可以工作。我尝试了以下代码,但从未调用过我的 if 语句。有什么建议么?
- (void)projectile:(SKSpriteNode *)projectile didCollideWithMonster:(SKSpriteNode *)monster {
SKTexture *tex = [SKTexture textureWithImageNamed:@"img.png"];
if ([[monster texture] isEqual:tex])
{
NSLog(@"it works");
}
}
最佳答案
是的,有一种方法可以使用 UIImage 比较两个图像/纹理。
- (BOOL)image:(UIImage *)image1 isEqualTo:(UIImage *)image2
{
NSData *data1 = UIImagePNGRepresentation(image1);
NSData *data2 = UIImagePNGRepresentation(image2);
return [data1 isEqual:data2];
}
关于objective-c - 如何比较 SKSpriteNode 纹理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23201190/