Spriteänderung + Frage nach Objektaufenthalt (gml)

  • Spriteänderung + Frage nach Objektaufenthalt (gml)

    Also ich bin grad dabei ein neues Spiel zu machen... Dazu will ich das jeder Block(32x32) zB abfragt:

    Block links von Block im Raster, Block unten von Block im Raster, kein Block oben von Block im Raster, kein Block rechts von Block im Raster => wandle Sprite in Dreieck mit rechtem Winkel links unten um.



    Wie mach ich das am besten (mit gml)?
  • Ich hab vor kurzem mal ein solches Script geschrieben. Es ist noch nicht 100%ig für dich zugeschnitten, aber das kannst du selber ;)
    Spoiler anzeigen

    GML-Quellcode

    1. if place_meeting(x-32,y,object_index) and place_meeting(x+32,y,object_index) and
    2. place_meeting(x,y-32,object_index) and place_meeting(x,y+32,object_index)
    3. image_single=0;
    4. else if place_meeting(x-32,y,object_index) and place_meeting(x+32,y,object_index) and
    5. place_meeting(x,y-32,object_index) and !place_meeting(x,y+32,object_index)
    6. image_single=1;
    7. else if place_meeting(x-32,y,object_index) and !place_meeting(x+32,y,object_index) and
    8. place_meeting(x,y-32,object_index) and place_meeting(x,y+32,object_index)
    9. image_single=2;
    10. else if place_meeting(x-32,y,object_index) and place_meeting(x+32,y,object_index) and
    11. !place_meeting(x,y-32,object_index) and place_meeting(x,y+32,object_index)
    12. image_single=3;
    13. else if !place_meeting(x-32,y,object_index) and place_meeting(x+32,y,object_index) and
    14. place_meeting(x,y-32,object_index) and place_meeting(x,y+32,object_index)
    15. image_single=4;
    16. else if place_meeting(x-32,y,object_index) and !place_meeting(x+32,y,object_index) and
    17. place_meeting(x,y-32,object_index) and !place_meeting(x,y+32,object_index)
    18. image_single=5;
    19. else if place_meeting(x-32,y,object_index) and !place_meeting(x+32,y,object_index) and
    20. !place_meeting(x,y-32,object_index) and place_meeting(x,y+32,object_index)
    21. image_single=6;
    22. else if !place_meeting(x-32,y,object_index) and place_meeting(x+32,y,object_index) and
    23. !place_meeting(x,y-32,object_index) and place_meeting(x,y+32,object_index)
    24. image_single=7;
    25. else if !place_meeting(x-32,y,object_index) and place_meeting(x+32,y,object_index) and
    26. place_meeting(x,y-32,object_index) and !place_meeting(x,y+32,object_index)
    27. image_single=8;
    28. else if place_meeting(x-32,y,object_index) and !place_meeting(x+32,y,object_index) and
    29. !place_meeting(x,y-32,object_index) and !place_meeting(x,y+32,object_index)
    30. image_single=9;
    31. else if !place_meeting(x-32,y,object_index) and !place_meeting(x+32,y,object_index) and
    32. !place_meeting(x,y-32,object_index) and place_meeting(x,y+32,object_index)
    33. image_single=10;
    34. else if !place_meeting(x-32,y,object_index) and place_meeting(x+32,y,object_index) and
    35. !place_meeting(x,y-32,object_index) and !place_meeting(x,y+32,object_index)
    36. image_single=11;
    37. else if !place_meeting(x-32,y,object_index) and !place_meeting(x+32,y,object_index) and
    38. place_meeting(x,y-32,object_index) and !place_meeting(x,y+32,object_index)
    39. image_single=12;
    40. else if !place_meeting(x-32,y,object_index) and !place_meeting(x+32,y,object_index) and
    41. place_meeting(x,y-32,object_index) and place_meeting(x,y+32,object_index)
    42. image_single=13;
    43. else if place_meeting(x-32,y,object_index) and place_meeting(x+32,y,object_index) and
    44. !place_meeting(x,y-32,object_index) and !place_meeting(x,y+32,object_index)
    45. image_single=14;
    46. else image_single=15;
    Alles anzeigen
    kostenlose Android-Spiele:
    hexavirScribble Triple

    Mr. Peperonico auf Facebook
  • Benutzer online 1

    1 Besucher