1
我想要一個球精靈每次跳到相同的高度。但隨着每一次跳躍,球的最大高度位置都會增加。SpriteKit:意外的物理問題
-(id)initWithSize:(CGSize)size {
if (self = [super initWithSize:size]) {
SKNode *ground = [SKNode node];
ground.physicsBody = [SKPhysicsBody bodyWithEdgeFromPoint:CGPointZero toPoint:CGPointMake(CGRectGetMaxX(self.frame), 0)];
[self addChild:ground];
SKShapeNode *ball = [[SKShapeNode alloc] init];
CGMutablePathRef myPath = CGPathCreateMutable();
CGPathAddArc(myPath, NULL, 0, 0, 30, 0, M_PI*2, YES);
ball.path = myPath;
ball.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMaxY(self.frame)-100);
ball.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:ball.frame.size.width/2];
ball.physicsBody.linearDamping = 0.0;
ball.physicsBody.restitution = 1.0;
[self addChild:ball];
}
return self;
}
有什麼建議?
該節點與物理有什麼關係?即基礎物理體不受與其相關的視圖的影響。 – LearnCocos2D
我以爲同樣的事情,然後開始使用像OP這樣的圓形節點,並遇到了使用sprite節點修復它們的物理體的奇怪問題。也許不是這裏的問題,但是無論哪種方式,我相信形狀節點會讓你在當前狀態的某個時刻陷入困境。你不同意? – Matt
我覺得那不太可能。爲什麼觀點會對身體有所不同,身體是否一樣?爲什麼身體會根據視圖而有所不同?唯一可能發生的情況是像self.frame這樣的視圖屬性被用來初始化物理體,就像在這個例子中一樣(即半徑取決於ball.frame.size)。 – LearnCocos2D