使用SpriteKit创建游戏并且它实际上运行得非常好.我正在使用物理学并且有能力实际看到我的身体在哪里,因为我可能在我的精灵中有一些alpha会真的很有帮助.这对于创建更精确的实体也很有帮助.
在SpriteKit的文档中,他们讨论了debugOverlay,但他们给出的唯一例子是绘制引力方向.这是链接:https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Actions/Actions.html
滚动到调试覆盖区域.
是否有人编写了一些代码,可以轻松访问场景中所有对象的主体并绘制它们的确切大小并将它们放在应该在相关性中的位置?我很惊讶苹果不仅仅在物理机构中添加了某种类型的DrawGizmos属性.
提前致谢.
我正在创建一个 spritenode,设置它的位置并将其锚点更改为 (0, .5),然后创建一个 phyicsbody。
物理体认为我的锚点仍然在 (.5, .5) 上,这很愚蠢。
此处引用了相同的问题,但未解决:Physicsbody 不遵守节点的锚点
我做事的顺序是正确的,只是我的物理身体很顽固。
SKNode 有一个锚点属性,它的行为符合我的预期。但是,如果我更改 SKNode 的默认锚点(即 (0.5,0.5)),SKNode 的物理体将与 SKNode 场景中显示的内容不一致。
我在 IOS 7 上。
有什么办法可以解决这个问题,这样我就可以使用 SKNode.anchorpoint 的非默认值,而不会导致显示的 SKNode 和 SKNode.physicsbody 之间出现错位?
这是一个例子。在 SKScene.didMoveToView() 实现中,添加以下代码:
// Set up the scene.
self.anchorPoint = CGPointMake(0.5, 0.5);
self.backgroundColor = [SKColor yellowColor];
self.scaleMode = SKSceneScaleModeAspectFill;
// BLOCK
SKSpriteNode *block = [SKSpriteNode spriteNodeWithColor:[SKColor greenColor] size:CGSizeMake(50, 50)];
block.name = @"Block";
block.anchorPoint = CGPointZero;
block.position = CGPointMake(0., 0.3*self.size.height);
block.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize: block.size];
[self addChild: block];
// FLOOR
SKSpriteNode *floor = [SKSpriteNode spriteNodeWithColor: [SKColor blueColor] size:self.size];
floor.name = @"Floor";
floor.physicsBody …Run Code Online (Sandbox Code Playgroud)