• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - Xcode 6.2 iOS 8.2 升级后 SKPhysicsBody 倒置

[复制链接]
菜鸟教程小白 发表于 2022-12-12 14:35:47 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

编辑:这在 6.3/8.3 更新中仍然存在问题。谁有解决办法?

在 Xcode 6.2/iOS 8.2 之前,this问题解决了我的问题。现在,在我重新加载 Sprite 后,我的 SKPhysicsBody 再次倒置,或者从以前“使用”的纹理创建一个新的 SKPhysicsBody。这对我的游戏来说是个大问题,因为它会打乱我的整个游戏过程。

这是我在 init 中加载纹理的地方:

@property (strong, nonatomic) SKTextureAtlas *allTextures;
    - (id)initWithSizeCGSize)size
    {
        self = [super initWithSize:size];
        if (self)
        {
            self.allTextures = [SKTextureAtlas atlasNamed"AllTextures"];
            [SKTextureAtlas preloadTextureAtlases[ self.allTextures ] withCompletionHandler:^{
                          NSLog(@"ATLASES LOADED");
            }];
        }
        return self;
    }

这里是我创建 Sprite 和 SKPhysicsBody 的地方:

//对象在@implementation 中设置为 SKSpriteNode *object;

- (void)setupObject
{
    object = [SKSpriteNode spriteNodeWithTexture:[self.allTextures textureNamed"Object01"]];
    object.position = CGPointMake(self.size.height / 2, object.size.width + 20);
    object.name = kObjectName;
    object.zPosition = 1;
    object.physicsBody = [self setupObjectPhysicsBody];
    [worldNode addChildbject];
}

- (SKPhysicsBody *)setupObjectPhysicsBody
{
    SKPhysicsBody *objectBody = [SKPhysicsBody bodyWithTexturebject.texture sizebject.size];
    objectBody.affectedByGravity = YES;
    objectBody.dynamic = YES;
    objectBody.mass = 1.0;
    objectBody.restitution = 0.0;
    objectBody.allowsRotation = NO;
    objectBody.categoryBitMask = objectCategory;
    objectBody.collisionBitMask = groundCategory | obsticalCategory | waterCategory | blockCategory | otherCategory;
    objectBody.contactTestBitMask = groundCategory | obsticalCategory | otherCategory;
    objectBody.usesPreciseCollisionDetection = YES;
    return objectBody;
}



Best Answer-推荐答案


在经历了这个错误之后(从 iOS 8.2 开始?)我终于设法摆脱了逆物理体效应。

我是如何解决的?我只是用另一个 Sprite 替换了我正在使用的 Sprite 进行其他一些测试,它可以在不反转物理体的情况下工作。所以我什么时候用photoshop制作了第一个 Sprite 的另一个版本(有问题的那个),它终于成功了!!

所以,我认为这与 Sprite 的复杂性有关,也许是因为它无法在图像上找到“闭合形状”,我​​不知道,但知道它正在与新 Sprite 一起使用。

我希望你现在至少可以继续你的开发,并让 Apple 将来修复这个问题!

关于ios - Xcode 6.2 iOS 8.2 升级后 SKPhysicsBody 倒置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29051760/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap