如何在Game Maker中访问物理装置以绘制它们?

时间:2016-07-26 09:31:52

标签: game-physics game-maker

我是Game Maker的新手。我已经创建了一个基于物理的小游戏的机制,我已经使用了YoYo Games'中概述的方法。创建复杂物理对象的教程(http://www.yoyogames.com/blog/70)。为了快速前进,我已经使用physics_world_draw_debug来绘制我的对象(http://www.yoyogames.com/blog/71),认为切换到"真实&很容易(就像Game Maker中的几乎所有其他东西一样) #34;绘制多边形。

我的代码看起来有点像这样(从教程中复制):

var fixture = physics_fixture_create();
physics_fixture_set_polygon_shape(fixture);

// four points, making up a convex shape
physics_fixture_add_point(fixture, x0, y0);
physics_fixture_add_point(fixture, x1, y1);
physics_fixture_add_point(fixture, x2, y2);
physics_fixture_add_point(fixture, x3, y3);

physics_fixture_set_density(fixture, 0.8);
physics_fixture_set_restitution(fixture, 0.1);
physics_fixture_set_linear_damping(fixture, 0.5);
physics_fixture_set_angular_damping(fixture, 0.5);
physics_fixture_set_friction(fixture, 0.5);
physics_fixture_bind(fixture, id);
physics_fixture_delete(fixture);

对于每个对象,此代码运行多次,具有不同的x和y值。

但我无法找到一种方法来查询其灯具当前状态的物理对象。我可能可以为每个对象保存构成我的灯具的所有点的坐标的副本,但是我也必须完成所有的数学运算,旋转它们并翻译它们。基本上与physics_world_draw_debug做同样的工作。

是否有更简单的方法来绘制由多个灯具组成的物理对象?通过获取当前坐标或调用一些内置的 draw_fixture_with_color 函数或类似的东西?

1 个答案:

答案 0 :(得分:0)

我在YoYoGames论坛上交叉发布了这个问题并收到了这两个答案:

1)flyingsaucerinvasion

尝试使用其他功能physics_draw_debug,或使用" d3d_transform轮播和翻译"。

在此完整答案:https://forum.yoyogames.com/index.php?threads/how-can-i-access-the-physics-fixtures-in-order-to-draw-them.3399/#post-25899

2)Yal

使用用精灵表示的简单对象,并将它们与关节连接在一起。

在此完整答案:https://forum.yoyogames.com/index.php?threads/how-can-i-access-the-physics-fixtures-in-order-to-draw-them.3399/#post-28429