Problem mit fließenden Wasser

  • GM 8

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

  • Problem mit fließenden Wasser

    hey, ich habe ein problem mit einem code der "fließendes" wasser simuliert bzw. darstellen soll.
    das problem ist, dass das wasser, bei einer diagonalen blockanordung durchfließt (bild im anhang).

    code:

    GML-Quellcode

    1. if place_empty(x,y+32)
    2. {
    3. instance_create(x,y+32,water)
    4. }
    5. else
    6. if place_meeting(x,y+32,block_parent)&&place_empty(x+32,y+32)
    7. {
    8. instance_create(x+32,y+32,water)
    9. }
    10. else
    11. if place_meeting(x,y+32,block_parent)&&!place_empty(x+32,y+32)&&place_empty(x+32,y)
    12. {
    13. instance_create(x+32,y,water)
    14. }
    15. if place_meeting(x,y+32,block_parent)&&place_empty(x-32,y+32)
    16. {
    17. instance_create(x-32,y+32,water)
    18. }
    19. else
    20. if place_meeting(x,y+32,block_parent)&&!place_empty(x-32,y+32)&&place_empty(x-32,y)
    21. {
    22. instance_create(x-32,y,water)
    23. }
    24. if place_meeting(x,y+32,block_parent)&&!place_empty(x+32,y+32)&&place_empty(x+32,y)
    25. {
    26. instance_create(x+32,y,water)
    27. }
    Alles anzeigen


    ich blick einfach nicht durch... :S



    mfg.snake5
    Bilder
    • 12.png

      90,75 kB, 386×408, 215 mal angesehen

  • Das Problem besteht, weil du nach dem else keine geschweiften Klammern gesetzt hast.

    Dies wäre außerdem auch eine Variante:

    GML-Quellcode

    1. if (!place_meeting(x, y + 32, block_parent) && !place_meeting(x, y + 32, water)) {
    2. instance_create(x, y + 32, water);
    3. } else if (!place_meeting(x, y + 32, water)) {
    4. if (!place_meeting(x + 32, y, block_parent) && !place_meeting(x + 32, y, water)) {
    5. instance_create(x + 32, y, water);
    6. }
    7. if (!place_meeting(x - 32, y, block_parent) && !place_meeting(x - 32, y, water)) {
    8. instance_create(x - 32, y, water);
    9. }
    10. }
    Alles anzeigen

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von cafaxo ()