【发布时间】:2014-05-04 07:45:00
【问题描述】:
大家好,我有一个游戏,其中有一块石头从天而降。现在我将它的 skphysics 重力设置为 yes 所以它会下降,但问题是我不知道如何将它的位置重置到屏幕顶部,所以它会再次重复它的下降动作。
- (void) addStoneAtPosition {
_StoneNode = [SKSpriteNode spriteNodeWithImageNamed:@"stone2@2x"];
_StoneNode.position = CGPointMake(self.size.width/2, self.size.height);
_StoneNode.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:_StoneNode.size];
_StoneNode.physicsBody.usesPreciseCollisionDetection = YES;
_StoneNode.physicsBody.dynamic = YES;
_StoneNode.physicsBody.mass = 10.0f;
_StoneNode.physicsBody.categoryBitMask = CNPhysicsstone1Category;
_StoneNode.physicsBody.contactTestBitMask = CNPhysicsbulletCategory |
CNPhysicsstone1Category;
[_gameNode addChild:_StoneNode];
[_StoneNode attachDebugRectWithSize:_StoneNode.size];
_StoneNode.physicsBody.affectedByGravity = YES;
for (int i = 0; i<100; i++) {
_StoneNode.position = CGPointMake(self.size.width/2, self.size.height);
}
}
【问题讨论】:
-
if stone.position.y
-
感谢您的帮助,但我很抱歉,我不知道您刚才推荐的方法是什么,因为看到,石头的位置最初是 self.size.height 但如何回到那个位置重力影响这块石头后的位置?
-
这可能吗? stone.position = CGPointMake(self.size.width, self.size.height);
-
我已经有了这个:_StoneNode.position = CGPointMake(self.size.width/2, self.size.height);但是在重力影响了我的石头之后,我会如何回忆呢?
标签: sprite-kit