Sinus und Cosinus

  • Sinus und Cosinus

    ich habe hier eine kleine sinus/cosinus-spielerei im 1024x768-raum. Der Code besteht eigentlich nur aus folgendem Skript:

    Quellcode

    1. resultat=100
    2. winkel = 45
    3. x0 = room_width/2
    4. y0 = room_height/2
    5. endlos = true;
    6. while (endlos) = true
    7. { screen_refresh()
    8. io_handle()
    9. if keyboard_check_direct(vk_up ) {resultat =resultat+1;if resultat >room_height/2 resultat = room_height/2}
    10. if keyboard_check_direct(vk_down ) {resultat =resultat-1;if resultat < 20 resultat = 20 }
    11. if keyboard_check_direct(vk_left ) {winkel =winkel -1;if winkel < 0 winkel = winkel+360}
    12. if keyboard_check_direct(vk_right ) {winkel =winkel +1;if winkel >=360 winkel = winkel-360}
    13. if keyboard_check (vk_escape) {endlos =false ;keyboard_clear(vk_escape) }
    14. io_clear()
    15. dwinkel = degtorad(winkel) // deg ree zu rad ian(Bogengrad).
    16. xanteil = sin(dwinkel)
    17. yanteil = cos(dwinkel)
    18. istx = xanteil * resultat
    19. isty = yanteil * resultat
    20. resultatx = x0 + istx
    21. resultaty = y0 + isty
    22. pen_size = 1
    23. action_fill_color(c_yellow)
    24. pen_color = c_yellow
    25. draw_rectangle(0,0,room_width,room_height)
    26. action_fill_color(c_blue )
    27. pen_color = make_color_rgb(0,0,128)
    28. draw_circle (x0,y0,resultat)
    29. font_size = 8
    30. font_style = fs_normal
    31. pen_size = 3
    32. pen_color = c_green
    33. draw_line(x0,y0,resultatx,resultaty)
    34. font_color = c_green
    35. draw_text(resultatx,resultaty,"Resultat "+ string(resultat))
    36. if istx < 0 pen_color = c_red else pen_color = c_black
    37. draw_line(x0,y0,resultatx,y0)
    38. if isty < 0 pen_color = c_red else pen_color = c_black
    39. draw_line(x0,y0,x0,resultaty)
    40. font_color = c_white
    41. draw_text(resultatx,y0,"x "+ string(round(istx)))
    42. draw_text(x0,resultaty,"y "+ string(round(isty)))
    43. font_color = make_color_rgb(255,0,128)
    44. font_size = 12
    45. font_style = fs_bold
    46. draw_text(20,room_height-40,"Winkel: "+ string(round(winkel))+" Sin: "+ string(round(100*sin(dwinkel))/100)+ " Cos: "+ string(round(100*cos(dwinkel))/100))
    47. draw_text( 20,30,"+/- Resultat: ")
    48. draw_text( 20,60,"+/- Winkel: ")
    49. draw_text(160,30,"Cursor ho/ru")
    50. draw_text(160,60,"Cursor re/li")
    51. }
    52. game_end()
    Alles anzeigen


    wenn man daraus allerdings eine exe macht, wird die erschreckend gross.

    die frage deshalb: geht das denn nicht auch viel kleiner?
    Dateien
    • test3.zip

      (2,45 kB, 220 mal heruntergeladen, zuletzt: )

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von -jc- ()

  • das problem ist, dass der game maker indem sinne eigenlich keine exe kompiliert, sondern an eine sogennante "Runner"-Datei die GMD kodiert anhängt.
    Selbst eine vollkommen leeres Game hat als Exe die Größe 1,44 MB - denn das ist genau die Größe des Runners.

    edit: Wenn du mit dem Programm "cexe GUI" die exe kompirmierst (meines wissens nach der einzige exe komprimierer, der mit gm-games klappt, ohne fehler zu verursachen, ist die exe "nur" noch 694kb groß.
    www.glowingorb.de
    „Wenn es im Universum noch irgendwo intelligente Lebewesen gibt, dann kennen sie vielleicht Schach, höchstwahrscheinlich jedoch GO

    (Schachweltmeister Emanuel Lasker)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Glowing Orb ()

  • Benutzer online 1

    1 Besucher