我在Xcode中使用Sprite Kit,我想知道如何改变重力方向。默认重力方向为" X"你可以在下面的轴上想象图形。如果我想换到" Y"。
我的目标是反对落下的效果。就像从高处坠落并触地而不是回应物理! (可能是游戏中的骰子)
//默认重力方向为X
SKSpriteNode *myNode =[SKSpriteNode spriteNodeWithImageNamed:@"ball"];
myNode.physicsBody=[SKPhysicsBody bodyWithCircleOfRadius:self.frame.size.width/2];
[self addChild: myNode];
提前致谢!
答案 0 :(得分:5)
您可以使用此代码将矢量应用于场景的物理世界
self.physicsWorld.gravity=CGVectorMake(0,-10);
答案 1 :(得分:2)
在SpriteKit中,X和Y是您在屏幕上看到的默认坐标,Z坐标是对象所在的顺序(zPosition)。由于SpriteKit使用2D游戏引擎,因此您没有第三个维度Z来使用。您可以更改Y和X(屏幕的上/下和左/右)之间的重力,但不能更改Z坐标之间的重力。如果你想重新创造一个"骰子掉落"效果,我建议你创建一个名为Dice的Sprite,并将其缩放到场景中,然后将其缩小到x秒。
[self runAction:[SKAction scaleBy:negativeFloatHere duration:3]];
这将使骰子看起来摔倒,如果你有骰子,你可能想为它添加一些旋转动画。如果您想使用3D引擎,请尝试使用Metal或SceneKit