2016-07-26 23 views
3

Ich bin neu in Game Maker. Ich habe die Mechanik eines kleinen, auf Physik basierenden Spiels erstellt und ich habe die in YoYo Games Tutorials beschriebenen Methoden verwendet, um komplexe Physikobjekte zu erstellen (http://www.yoyogames.com/blog/70). Um schnell loszulegen, habe ich physics_world_draw_debug verwendet, um meine Objekte zu zeichnen (http://www.yoyogames.com/blog/71), und denke, es wäre einfach (wie fast alle anderen Dinge in Game Maker), auf "echtes" Zeichnen der Polygone umzuschalten.Wie kann ich auf die Physikgeräte im Game Maker zugreifen, um sie zu zeichnen?

Mein Code sieht ein bisschen wie diese (aus dem Tutorial kopiert):

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); 

Dieser Code wird ausgeführt mehrmals für jedes Objekt, mit verschiedenen x- und y-Werten.

Aber ich kann keinen Weg zu Abfrage eines Physik-Objekts des aktuellen Zustands seiner Vorrichtungen finden. Ich könnte wahrscheinlich eine Kopie der Koordinaten aller Punkte, die meine Fixtures ausmachen, für jedes Objekt speichern, aber dann müsste ich auch die ganze Mathematik machen, sie drehen und sie übersetzen. Im Wesentlichen die gleiche Arbeit wie physics_world_draw_debug.

Gibt es eine einfachere Möglichkeit, Physikobjekte aus mehreren Scheinwerfern zu zeichnen? Entweder durch Abrufen der aktuellen Koordinaten oder durch Aufruf eines eingebauten draw_fixture_with_color Funktion oder etwas ähnliches?

Antwort

0

I Cross-Gepostet diese Frage auf dem YoYo Games Forum und erhalten diese zwei Antworten:

1) Nach flyingsaucerinvasion:

die andere Funktion versuchen, physics_draw_debug, oder verwenden Sie "d3d_transform Rotation und Translation".

Voll Antwort hier: https://forum.yoyogames.com/index.php?threads/how-can-i-access-the-physics-fixtures-in-order-to-draw-them.3399/#post-25899

2) Nach Yal:

Verwenden Sie einfache Objekte mit Sprites dargestellt wird, und kommen sie zusammen mit Gelenken.

Volle Antwort hier: https://forum.yoyogames.com/index.php?threads/how-can-i-access-the-physics-fixtures-in-order-to-draw-them.3399/#post-28429