Problem mit fließenden Wasser

  • GM 8
  • 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, 234 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 ()

  • Benutzer online 1

    1 Besucher