Box 2D 概念:Gideros (LUA)

在上述代码中,spritebodyground之间的区别是什么?在声明ground时为什么没有传递参数给createBodyedgeshape.new()polygonshape.new()之间有什么区别?

点赞
用户2274511
用户2274511

Sprite是一个空对象,用于分组其他Sprite继承的对象,如您的情况下的快乐和悲伤的位图。

Body是box2d中物理体的表示,它没有任何可视化的表示,只有数字作为尺寸(宽度和高度),位置,旋转和不同的力量。通常在ENTER_FRAME事件中,您会将这些值作为位置和旋转并将它们应用于Sprite继承的对象,这样它就会像box2d模拟世界中的物体一样移动。

Ground是一个空的虚拟box2d对象。如果您不提供参数来创建Body,则意味着使用默认值,这基本上意味着您不关心它具有哪些值。这种体使用最普遍的例子是用于关节。

要创建关节,通常需要两个物体,但是如果您想通过关节将物体附着到空中的某个随机位置或动态位置(如鼠标指针),您可以通过创建虚拟物理对象来实现。以下是一个示例:http://appcodingeasy.com/Gideros-Mobile/Dragging-Box2d-object-in-Gideros-Mobile

在您的示例中,这个体被用于EdgeShape,它通常是用于创建世界边界的任意形状,或者在这种情况下是简单的地面,以便动态对象不会掉落在屏幕外。

2014-05-14 08:30:46