Metroid Remake - warum löscht er das user-event?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Metroid Remake - warum löscht er das user-event?

    Ab und an sehe ich mir etwas den Code, von AM2R an und verstehe zum Beispiel nicht, warum das User-Event,
    scheinbar gleich wieder gelöscht wird:



    Quellcode

    1. // Objekt oSolid
    2. // Create
    3. active = 0;
    4. alarm[5] = 1;
    5. tileid = 0;
    6. material = -1;
    7. regentime = 240;
    8. link_id = 0;
    9. delay = 0;
    10. tl1_delete_layer = -111;
    11. tl2_delete_layer = -112;
    12. // Destroy
    13. event_user(1);
    14. // Alarm 5
    15. active = 1;
    16. if (material == -1) material = global.floormaterial;
    17. if (tileid != 0) visible = false;
    18. // User-Event 1
    19. var mtid;
    20. if (tileid != 0) {
    21. if (tile_exists(tileid)) {
    22. tile_delete(tileid);
    23. tileid = -1;
    24. visible = true;
    25. }
    26. }
    27. mtid = tile_layer_find(tl1_delete_layer, x, y);
    28. if (mtid != -1) {
    29. if (tile_exists(mtid)) tile_delete(mtid);
    30. }
    31. mtid = tile_layer_find(tl2_delete_layer, x, y);
    32. if (mtid != -1) {
    33. if (tile_exists(mtid)) tile_delete(mtid);
    34. }
    35. // und einzige Code Änderung im Child
    36. // User Event 0
    37. var mtid;
    38. if (tileid != 0) {
    39. if (tile_exists(tileid)) {
    40. tile_delete(tileid);
    41. tileid = -1;
    42. visible = true;
    43. }
    44. }
    45. mtid = tile_layer_find(tl1_delete_layer, x, y);
    46. if (mtid != -1) {
    47. if (tile_exists(mtid)) tile_delete(mtid);
    48. }
    49. mtid = tile_layer_find(tl2_delete_layer, x, y);
    50. if (mtid != -1) {
    51. if (tile_exists(mtid)) tile_delete(mtid);
    52. }
    Alles anzeigen


    Wenn er im selben Objekt ein User-Event erstellt und im Destroy-Event wieder löscht, wieso wird es dann trotzdem
    ausgeführt?
    Und warum löscht er es überhaupt?


    Danke, für Eure Antworten :)



    Miradur
  • Hab den Code nur schnell überflogen, aber wo wird den das user_event gelöscht?
    Ich sehe nur, dass es ausgeführt wird.

    EDIT: Evtl. missverstehst du das Destroy-Event. Es löscht nichts, sondern wird einmalig ausgeführt wenn die instanz destroyed wird.
  • Theoretisch könnte man den Code der im user_event steht auch einfach direkt ins destroy event packen. Ich vermute aber es gibt andere art und weisen in welchen das user_event auch augerufen wird. So spart man sich doppelten Code.