Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c Spritekit在新图像中表现怪异_Objective C_Iphone_Sprite Kit_Skphysicsbody - Fatal编程技术网

Objective c Spritekit在新图像中表现怪异

Objective c Spritekit在新图像中表现怪异,objective-c,iphone,sprite-kit,skphysicsbody,Objective C,Iphone,Sprite Kit,Skphysicsbody,所以最近我在我正在创作的游戏中添加了新的图像。它们的大小相同,我让它们看起来正确。然而,物理实体并不相同或工作不正常。我没有更改任何代码,但在这行上做了一些测试 obs1.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:obs1.size]; 使用CGSizeMake将obs1.size的主体更改为和size对实际接触没有影响。它不是没有就是太大了。我希望这是有道理的。需要帮助吗,谢谢 图像大小或文件类型没有改变,所以我不知道

所以最近我在我正在创作的游戏中添加了新的图像。它们的大小相同,我让它们看起来正确。然而,物理实体并不相同或工作不正常。我没有更改任何代码,但在这行上做了一些测试

     obs1.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:obs1.size];
使用CGSizeMake将obs1.size的主体更改为和size对实际接触没有影响。它不是没有就是太大了。我希望这是有道理的。需要帮助吗,谢谢

图像大小或文件类型没有改变,所以我不知道物理体为什么会这样


编辑:我恢复到添加新图像之前的状态,并再次执行步骤。我发现了问题。通过改变完全不同的图像的比例,例如image1,障碍物图像的image2 physic body会自动改变。我打算在将图像添加到项目之前调整图像大小,这应该可以解决问题。

我不建议使用PSD格式的图形。改用PNG

我不确定您是如何尝试手动调整物理体的大小的,因此这里有一个示例:

[SKPhysicsBody bodyWithRectangleOfSize:CGSizeMake(100, 100)];
或使用定义的中心使用:

[SKPhysicsBody bodyWithRectangleOfSize:CGSizeMake(100, 100) center:CGPointMake(0, 0)];

如果什么都没有改变,那么这个bug可能在代码的其他地方。还有什么变化?您没有提供太多数据来诊断您的问题。说得更具体些,我让一切都运转良好。我所做的只是更改了图像,现在所有的物理实体都搞砸了。也许你的新图像有一个alpha边界不可见像素?我原以为是这样,但我发送了psd文件,所以我查看了,但没有。我尝试使用CGSizeMake手动调整物理体,无论值如何,高度都不会改变。然而,如果它是0,它将是不存在的,我正在这样做,并使用png格式。我的意思是当看psd格式时,没有alphaborder@bolencki13-那就是你看不到的东西。没有双关语的意思。开始删减代码片段,直到你得到的只是赤裸裸的部分或更少。从这一点开始,看看你什么时候能得到想要的结果。然后一步一步地添加碎片,看看是什么导致了您的问题。我想我找到了问题所在,但我不确定为什么image1的比例会影响image2的身体