gpt4 book ai didi

ios - 节点在碰到场景边缘时应该弹跳

转载 作者:行者123 更新时间:2023-11-29 02:50:17 26 4
gpt4 key购买 nike

我从 SpriteKit 开始。我希望我的 spriteNote 从设备边缘反弹。问题是我没有看到任何允许我添加边缘的方法。

// initWithSize:
_player.physicsBody.dynamic = YES;

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[super touchesEnded:touches withEvent:event];
self.physicsWorld.gravity = CGVectorMake(0.0f, 1.0f);
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
[super touchesEnded:touches withEvent:event];
self.physicsWorld.gravity = CGVectorMake(0.0f, -1.0f);
}

- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {
[super touchesCancelled:touches withEvent:event];
self.physicsWorld.gravity = CGVectorMake(0.0f, -1.0f);
}

我尝试向 update 方法添加一些内容,但是位置看起来很奇怪(我只有横向模式,_player.position.y 是 ~ 150px,当我已经看不到玩家@.@玩家图形是50x50px,节点是SKPhysicsBody bodyWithCircleOfRadius:sprite.size.width/2)。

最佳答案

为了在 SpriteKit 中为碰撞添加屏幕边缘,您需要将物理体附加到场景。

-initWithSize:方法中,需要添加如下一行:

self.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:self.frame];

这将在场景周围添加一个球可以反弹的边界。

关于ios - 节点在碰到场景边缘时应该弹跳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24632092/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com