我有一个精灵节点,它会根据附加到它的
非常好。
现在,我想在它下落时使用
不幸的是,无论我将
当我注释掉
如何在施加重力的情况下通过
这是我的.h文件:
physicsBody
所施加的重力出现并下落。非常好。
现在,我想在它下落时使用
applyForce
来将其向某个方向推一点。不幸的是,无论我将
physicsBody.mass
或physicsWorld.gravity
设得多么小,或者让applyForce
矢量变得多么大,applyForce
矢量似乎都会被忽略。当我注释掉
self.physicsWorld.gravity
行时,我看到applyForce
按预期工作。如何在施加重力的情况下通过
applyForce
实现对物理体的“推”?
这是我的.h文件:
// GameScene.h
#import <SpriteKit/SpriteKit.h>
@interface GameScene : SKScene
@end
同时,.m文件
// GameScene.m
#import "GameScene.h"
@interface GameScene ()
@property NSMutableArray *bubblesToPop;
@end
@implementation GameScene
-(void)didMoveToView:(SKView *)view {
/* Setup your scene here */
self.size = view.bounds.size;
self.physicsWorld.gravity = CGVectorMake(0, 1.0);
SKSpriteNode *sprite = [SKSpriteNode spriteNodeWithImageNamed:@"bubble"];
sprite.yScale = 0.5;
sprite.xScale = 0.5;
sprite.name = @"bubble";
sprite.position = CGPointMake(self.frame.size.width / 2.0, self.frame.size.height / 2.0);
SKPhysicsBody *physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:sprite.frame.size.width];
physicsBody.mass = 0.02;
[physicsBody applyForce:CGVectorMake(900, 900)];
sprite.physicsBody = physicsBody;
[self addChild:sprite];
}
@end
applyForce
行移动到addChild
下面完全奏效了。你应该用这个回答我的问题,因为我在 Stack Overflow 和文档上查了几个小时,但都不清楚。 - Jess