3

我有以下精灵落在屏幕底部:

// The View
self.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:self.frame];
self.physicsWorld.contactDelegate = self;

// The Sprite
SKSpriteNode *cube = [[SKSpriteNode alloc] initWithImageNamed:@"cube"];
[cube setPosition:CGPointMake(160,250);
[self addChild:cube];

// The Physics
cube.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:cube.frame.size];
cube.physicsBody.dynamic = YES;
cube.physicsBody.affectedByGravity = YES;
cube.physicsBody.mass = 0.02;

有没有办法让它在碰到屏幕底部边框时它的两侧会鼓起?是像果冻一样的东西,还是在一定程度上仍保持其形状但在自身重量下凸出的柔软身体?我希望这是有道理的....

4

2 回答 2

2

访问站点https://gist.github.com/kazukitanaka0611/4b9d4ac9dff0cd317b6c它有 sprite kit 中软体(果冻)的解释和源代码

于 2014-03-28T11:19:22.097 回答
1

无需数学即可快速简便的方法: 1 使用闪光灯补间您的盒子翘曲。2 将补间帧导出为精灵表(纹理图集) 3 在与场景中的边缘物理体接触时为纹理图集设置动画。

您的盒子会掉落并在接触时为单独的图像制作动画,以给人留下翘曲/凸出侧面的印象。

我使用了这种方法并且它有效 - 换句话说,它提供了预期的效果,在我看来这很重要 - 你的游戏玩家并不关心你是如何做到的,只要它看起来很棒。

于 2014-03-25T06:37:07.817 回答