gpt4 book ai didi

ios - 图像不适合 SKSpriteNode 框架

转载 作者:行者123 更新时间:2023-11-29 10:40:52 25 4
gpt4 key购买 nike

我正在尝试在我的场景中创建一个玩家节点。但是图像“player.png”不适合物理体。它们都是独立的。

PhysicsBody 在地面上,图像漂浮在空中。我的代码有什么问题?如何将它们组合在一起?

#import "Player.h"

@implementation Player
- (instancetype)init {
self = [super initWithImageNamed:@"player.png"];
self.name = @"player";
self.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:CGSizeMake(50, 50)];
self.physicsBody.dynamic = YES;
self.physicsBody.allowsRotation = NO;
self.physicsBody.affectedByGravity = YES;

self.zPosition = 100;
self.anchorPoint = CGPointMake(0.5, 0);

return self;
}

@end
// myScene.h
-(void)createSceneContents {
self.currentBackground = [Background generateBackground];
[self addChild: self.currentBackground];
self.physicsWorld.gravity = CGVectorMake(0, _gravity);
self.physicsWorld.contactDelegate = self;

Player *player = [[Player alloc]init];
player.position = CGPointMake([UIScreen mainScreen].applicationFrame.size.width/2, 50);
[self addChild:player];
}

最佳答案

anchor 也是您物理 body 的中心。您的点 0.5, 0.0 表示中心 x 和零 y。因此,物理体的中心位于 Sprite 节点的底部边缘。可能是图像的底部中心。但是物理体从那里向下延伸。这是因为您用来创建物理体的方法。

anchor 令人困惑。他们有时扮演双重角色。它们包括许多记录不完整的隐式行为。

除非您有依赖 anchor 的逻辑,否则最好避免更改它们。对于物理 body ,重要的是 body 在物理世界中的位置。使您的 Sprite 模型尽可能简单。不断完善最简单的模型以完成工作。它将简化您的游戏逻辑。

关于ios - 图像不适合 SKSpriteNode 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24622561/

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