Mir ist beim debuggen aufgefallen das sich die Memory ständig erweitert, sollte ja im Idealfall nicht so sein
Wenn ich folgenden Code deaktiviere ist das nicht der Fall.
Animation Update:
Spoiler anzeigen
Alles anzeigen
obwohl ich ja wie in der Anleitung die ds_map immer zerstöre. Sieht jemand einen Fehler was mir der Speicher vollhaut?
Wenn ich folgenden Code deaktiviere ist das nicht der Fall.
Animation Update:
GML-Quellcode
- ///Zielen Bones
- // Bones AIM
- var roomangle_p1 = point_direction(x, y-120, mouse_x, mouse_y);
- // Nach rechts schauen /look right
- if (mouse_x < obj_player1.x-150)
- {
- obj_player1.image_xscale = -.25;
- }else if (mouse_x > obj_player1.x+150)
- {
- obj_player1.image_xscale = .25;
- }
- if image_xscale = .25
- {
- //Rechts Oben / Right Up
- if roomangle_p1 <= 130
- {
- var map = ds_map_create();
- skeleton_bone_state_get("Ruecken_O", map);
- var angle1 = roomangle_p1-((0+roomangle_p1)*.85) // Wert .x legt fest wie stark der Bone sich verbiegt. Kleinerer Wert erhöt das Verbiegen. Wert zwischen 1-0
- ds_map_replace(map, "angle", angle1);
- skeleton_bone_state_set("Ruecken_O", map);
- ds_map_destroy(map);
- var map = ds_map_create();
- skeleton_bone_state_get("Ruecken_M", map);
- var angle2 = roomangle_p1-((0+roomangle_p1)*.85) // Wert .x legt fest wie stark der Bone sich verbiegt. Kleinerer Wert erhöt das Verbiegen. Wert zwischen 1-0
- ds_map_replace(map, "angle", angle2);
- skeleton_bone_state_set("Ruecken_M", map);
- ds_map_destroy(map);
- var map = ds_map_create();
- skeleton_bone_state_get("Ruecken_U", map);
- var angle3 = roomangle_p1-((0+roomangle_p1)*.85) // Wert .x legt fest wie stark der Bone sich verbiegt. Kleinerer Wert erhöt das Verbiegen. Wert zwischen 1-0
- ds_map_replace(map, "angle", angle3-90);
- skeleton_bone_state_set("Ruecken_U", map);
- ds_map_destroy(map);
- var map = ds_map_create();
- skeleton_bone_state_get("Kopf", map);
- var angleK = roomangle_p1-((0+roomangle_p1)*.65) // Wert .x legt fest wie stark der Bone sich verbiegt. Kleinerer Wert erhöt das Verbiegen. Wert zwischen 1-0
- ds_map_replace(map, "angle", angleK);
- skeleton_bone_state_set("Kopf", map);
- ds_map_destroy(map);
- }
- //Rechts unten / right down
- else
- {
- var map = ds_map_create();
- skeleton_bone_state_get("Ruecken_O", map);
- var angle1 = roomangle_p1+((359.99-roomangle_p1)*.75) // Wert .x legt fest wie stark der Bone sich verbiegt. Kleinerer Wert erhöt das Verbiegen. Wert zwischen 1-0
- ds_map_replace(map, "angle", angle1);
- skeleton_bone_state_set("Ruecken_O", map);
- ds_map_destroy(map);
- var map = ds_map_create();
- skeleton_bone_state_get("Ruecken_M", map);
- var angle2 = roomangle_p1+((359.99-roomangle_p1)*.85) // Wert .x legt fest wie stark der Bone sich verbiegt. Kleinerer Wert erhöt das Verbiegen. Wert zwischen 1-0
- ds_map_replace(map, "angle", angle2);
- skeleton_bone_state_set("Ruecken_M", map);
- ds_map_destroy(map);
- var map = ds_map_create();
- skeleton_bone_state_get("Ruecken_U", map);
- var angle3 = roomangle_p1+((359.99-roomangle_p1)*.75) // Wert .x legt fest wie stark der Bone sich verbiegt. Kleinerer Wert erhöt das Verbiegen. Wert zwischen 1-0
- ds_map_replace(map, "angle", angle3-90);
- skeleton_bone_state_set("Ruecken_U", map);
- ds_map_destroy(map);
- var map = ds_map_create();
- skeleton_bone_state_get("Kopf", map);
- var angleK = roomangle_p1+((359.99-roomangle_p1)*.65) // Wert .x legt fest wie stark der Bone sich verbiegt. Kleinerer Wert erhöt das Verbiegen. Wert zwischen 1-0
- ds_map_replace(map, "angle", angleK);
- skeleton_bone_state_set("Kopf", map);
- ds_map_destroy(map);
- }
- var map = ds_map_create();
- skeleton_bone_state_get("Zielen", map);
- var angle = roomangle_p1
- ds_map_replace(map, "angle", angle-angle1-angle2-angle3-90);
- skeleton_bone_state_set("Zielen", map);
- ds_map_destroy(map);
- }
- // Nach links schauen / look left
- if image_xscale = -.25
- {
- //Links oben / left up
- if roomangle_p1 <= 180
- {
- var map = ds_map_create();
- skeleton_bone_state_get("Ruecken_O", map);
- var angle1 = (roomangle_p1*-1+180)*.15; // Wert .x legt fest wie stark der Bone sich verbiegt. Kleinerer Wert verringert das Verbiegen. Wert zwischen 1-0
- ds_map_replace(map, "angle", angle1);
- skeleton_bone_state_set("Ruecken_O", map);
- ds_map_destroy(map);
- var map = ds_map_create();
- skeleton_bone_state_get("Ruecken_M", map);
- var angle2 = (roomangle_p1*-1+180)*.15; // Wert .x legt fest wie stark der Bone sich verbiegt. Kleinerer Wert verringert das Verbiegen. Wert zwischen 1-0
- ds_map_replace(map, "angle", angle2);
- skeleton_bone_state_set("Ruecken_M", map);
- ds_map_destroy(map);
- var map = ds_map_create();
- skeleton_bone_state_get("Ruecken_U", map);
- var angle3 = (roomangle_p1*-1+180)*.15; // Wert .x legt fest wie stark der Bone sich verbiegt. Kleinerer Wert verringert das Verbiegen. Wert zwischen 1-0
- ds_map_replace(map, "angle", angle3-90);
- skeleton_bone_state_set("Ruecken_U", map);
- ds_map_destroy(map);
- var map = ds_map_create();
- skeleton_bone_state_get("Kopf", map);
- var angleK = (roomangle_p1*-1+180)*.35; // Wert .x legt fest wie stark der Bone sich verbiegt. Kleinerer Wert verringert das Verbiegen. Wert zwischen 1-0
- ds_map_replace(map, "angle", angleK);
- skeleton_bone_state_set("Kopf", map);
- ds_map_destroy(map);
- }
- // Links unten / left down
- else
- {
- var map = ds_map_create();
- skeleton_bone_state_get("Ruecken_O", map);
- var angle1 = (roomangle_p1*-1+180)*.25; // Wert .x legt fest wie stark der Bone sich verbiegt. Kleinerer Wert verringert das Verbiegen. Wert zwischen 1-0
- ds_map_replace(map, "angle", angle1);
- skeleton_bone_state_set("Ruecken_O", map);
- ds_map_destroy(map);
- var map = ds_map_create();
- skeleton_bone_state_get("Ruecken_M", map);
- var angle2 = (roomangle_p1*-1+180)*.15; // Wert .x legt fest wie stark der Bone sich verbiegt. Kleinerer Wert verringert das Verbiegen. Wert zwischen 1-0
- ds_map_replace(map, "angle", angle2);
- skeleton_bone_state_set("Ruecken_M", map);
- ds_map_destroy(map);
- var map = ds_map_create();
- skeleton_bone_state_get("Ruecken_U", map);
- var angle3 = (roomangle_p1*-1+180)*.25; // Wert .x legt fest wie stark der Bone sich verbiegt. Kleinerer Wert verringert das Verbiegen. Wert zwischen 1-0
- ds_map_replace(map, "angle", angle3-90);
- skeleton_bone_state_set("Ruecken_U", map);
- ds_map_destroy(map);
- draw_text(100,450,angle3)
- var map = ds_map_create();
- skeleton_bone_state_get("Kopf", map);
- var angleK = (roomangle_p1*-1+180)*.35; // Wert .x legt fest wie stark der Bone sich verbiegt. Kleinerer Wert verringert das Verbiegen. Wert zwischen 1-0
- ds_map_replace(map, "angle", angleK);
- skeleton_bone_state_set("Kopf", map);
- ds_map_destroy(map);
- }
- var map = ds_map_create();
- skeleton_bone_state_get("Zielen", map);
- var angle = roomangle_p1*-1
- ds_map_replace(map, "angle", angle+90-angle1-angle2-angle3);
- skeleton_bone_state_set("Zielen", map);
- ds_map_destroy(map);
- }
- draw_text(100,300,roomangle_p1)
obwohl ich ja wie in der Anleitung die ds_map immer zerstöre. Sieht jemand einen Fehler was mir der Speicher vollhaut?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Jomnitech ()