Animationen

  • GM 8

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

  • Hey



    Ich bin eher ein Neuling wenns um Game Maker geht (ich benutze den 8er), ich weiß auch nicht wie man scriptet im GM,keinen schimmer!



    ich habe ein simples platform game gemacht....nun möchte ich gerne die ganzen Posen reinbauen es gehören dazu



    -Facings (links & rechts)

    -Sprungpose

    -Fallend (nach dem sprung)

    -laufen (links & rechts)



    die Sprites habe ich schon mal dafür! jetzt is halt die frage wie ich das am besten einbauen könnte :)



    und dann hätt ich nochn problem, es geht um die kollision...wenn ich mit meinem chara gegen ne wand springen lasse und drücke die taste um gegen die wand zu laufen, hängt der spieler daran....wie bau ich ein, dass er glatt hinunterfällt und nicht so klebt? :(
  • laufen:

    GML-Quellcode

    1. if(keyboard_check(vk_right)){
    2. Spriteindex=DEINSPRITENAME;
    3. if!(image_xscale=1){
    4. image_xscale=1; }}
    5. else if(keyboard_check(vk_left)){
    6. spriteindex=Deinstpritename;
    7. if!(image_xscale=-1){
    8. image_xscale=-1;}
    9. if(keyboard_check_released(vk_right))or(keyboard_check_released(vk_left)){
    10. Spriteindex=Dein Sprite wenn er normal steht;}


    das selbe kannste mit sprung machen, wenn du die lehrtaste gedrückt hast soll die sprungpose gemacht werden...

    was du allerdings mit facing meinst weiß ich nicht.... ist aber vermutlich schon oben in meinem code enthalten xD...


  • Step event deines player-objekts

    und das facing hab ist im code mit image_xscale gelöst... -1 wird das bild gespiegelt, und bei 1 wirds normal angezeigt.
    achte dabei aber dadrauf, das bei deinen sprites der mittelpunkt exakt in der mitte ist.... jedenfalls horrizontal gesehen. sonst bekommst du unerwünschte "sprungeffekte"


  • ich krieg bei Line 10 nen error deshalb hasse ich es mit scripts zu arbeiten...da kann so viel schief gehen....und die ganzen Kommandos sind mir unbekannt....und vor allem steht der char nicht "mittig" sondern es kommt drauf an welche taste gelöst wurde...

    vllt hängts ja damit zusammen, ich benutze GM 8 PRO.
  • diesen error gibts noch....

    ERROR at Line 10 pos 21: Symbol } expected.

    also da stimmt echt fast gar nix in dem code...

    Lines die stimmen:

    Line 1,3,4,5,7,8 und 9...

    kann mir mal jemand nen sauberen script schicken....? ich bin da echt ratlos


    oder wo kann ichs scripten am besten lernen? wenns geht auf deutsch

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von RTZF ()

  • if(keyboard_check(vk_right))
    {
    sprite_index = DEINSPRITENAME;
    if !(image_xscale=1)
    {
    image_xscale=1;
    }}
    else
    if keyboard_check(vk_left)
    {
    sprite_index = DEINSPRITENAME;
    if !(image_xscale=-1)
    {
    image_xscale=-1;
    }
    if keyboard_check_released(vk_right) or keyboard_check_released(vk_left)
    {
    sprite_index = Dein Sprite wenn er normal steht;
    }}


    Statt DEINSPRITENAME musst du natürlich den namen des Sprites einsetzen wo der spieler läuft.
    In die vorletzte Zeile das Sprite wo der Spieler still steht...

    Wegem Lernen, schau in die Tutorial-Abteilung rein, oder lies dir die Übersetzung der Hilfe durch: gm-d.de/help

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • okay...danke,keine fehler mehr! nun in der vorletzten zeile, möchte ich gerne die left und right taste seperat abfragen, da mein chara nicht mittig steht, sondern nur nach rechts oder nach links schaut...

    und wo sind die kommandos im tutorial, mit den ganzen begriffen im skript kann ich nix anfangen....
    in dem tut steht ja nur, was für tolle funktionen das hat und das man das game mit debug ausprobieren kann um fehler zu finden etc....aber wo sind die kommandos,wie setze ich die kommandos zusammen? was ich sehe sind verdammt viele klammern, gleichzeichen....

    wie frage ich koordinaten ab?
    wie fange ich eine neue zeile an?
    wie beende ich den skript?
    wie ändere ich sprites?
    wie lasse ich meinen chara nach links und rechts laufen?
    wie hüpft man?
    wie baut man schwerkraft ein?
    wie macht man eine kollisionsabfrage?
    müssen alle skripts ins step event?

    was muss ich eintippen falls diese bedinung eintrifft?
    wie baue ich ein else rein?

    wie mache ich eigene textboxen, mit schrift und textgeschwindigkeit?

    ich weiß dass hspeed das horizontale is und vspeed vertikal, x und y aber sonst...weiß ich nix!

    ich bin mir sicher mit skripten geht alles 100-fach schneller! aber da ich keinen blassen schimmer habe muss ich drag and drop machen mit milliarden von variablen und abfragen...

    Dieser Beitrag wurde bereits 10 mal editiert, zuletzt von RTZF ()


  • und wo sind die kommandos im tutorial, mit den ganzen begriffen im skript kann ich nix anfangen....
    in dem tut steht ja nur, was für tolle funktionen das hat und das man das game mit debug ausprobieren kann um fehler zu finden etc....aber wo sind die kommandos,wie setze ich die kommandos zusammen? was ich sehe sind verdammt viele klammern, gleichzeichen....
    www.gm-d.de/help

    wie frage ich koordinaten ab?
    wie fange ich eine neue zeile an?
    wie beende ich den skript?
    wie ändere ich sprites?
    wie lasse ich meinen chara nach links und rechts laufen?
    wie hüpft man?
    wie baut man schwerkraft ein?
    wie macht man eine kollisionsabfrage?
    müssen alle skripts ins step event?

    was muss ich eintippen falls diese bedinung eintrifft?
    wie baue ich ein else rein?

    wie mache ich eigene textboxen, mit schrift und textgeschwindigkeit?

    1. x und y sind die Variablen die die Instance hat und die Position im Raum beinhalten und if
    2. Enter drücken
    3. Um das Skript zu enden kannst du exit benutzten:

    GML-Quellcode

    1. show_message("Das wird ausgeführt");
    2. exit;
    3. show_message("Das nicht.");

    4. Dafür gibt es die Variable sprite_index
    5. Taste abfragen und x ändern (geht auch besser)
    6. Gravity einstellen, Keyboard Check "space" vspeed=-12;
    7. Dafür gibt es place_free,place_emtpy,position_meeting und die ganzen collision_ Funktionen
    8. Nein, sie können überall hin, Draw Funktion kommen aber am besten ins Draw Event denn nur da sind die wirksam (mit einpaar Ausnahmen)
    9. IF Kapitel lesen
    10. IF lesen
    11. siehe 42.
    42. Du hast hier gerade 10 Fragen geschrieben, alle beginnen mit "wie" die Antwort lautet normaler Weise: "Rtfm", die "wie" fragen hier sind nicht gerne gesehen und er gar nicht so viele und am ende noch das mit den Textboxen 8|
    ich bin mir sicher mit skripten geht alles 100-fach schneller! aber da ich keinen blassen schimmer habe muss ich drag and drop machen mit milliarden von variablen und abfragen...
    Ist in GML fast das selbe.
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%
  • GML verringert die Dateigröße....und....was für scripts sollt ich in welchem event reinbauen?
    also könnte ich eigentlich alle tastenabfragen in step event reinbauen...?

    ich habe mal alle tastenabfragen in step reingehauen, so siehts aus:

    GML-Quellcode

    1. if keyboard_check(vk_left) then motion_set(180,4) sprite_index=Walk_left and image_speed = 0.5 ;
    2. if keyboard_check_released(vk_left) then motion_set(180,0) sprite_index=Left and image_speed = 0.2;
    3. if keyboard_check(vk_right) then motion_set(0,4) sprite_index=Walk_right and image_speed = 0.5 ;
    4. if keyboard_check_released(vk_right) then motion_set(0,0) sprite_index=Right and image_speed = 0.2 ;
    5. exit ;


    er läuft, bloß die sprites ändern sich nicht....weswegen?

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von RTZF ()

  • RTZF schrieb:

    GML-Quellcode

    1. if keyboard_check(vk_left) then motion_set(180,4) sprite_index=Walk_left and image_speed = 0.5 ;
    2. if keyboard_check_released(vk_left) then motion_set(180,0) sprite_index=Left and image_speed = 0.2;
    3. if keyboard_check(vk_right) then motion_set(0,4) sprite_index=Walk_right and image_speed = 0.5 ;
    4. if keyboard_check_released(vk_right) then motion_set(0,0) sprite_index=Right and image_speed = 0.2 ;
    5. exit ;

    Warum schreibst du nach sprite_index immer and?!
    Das hat da nix zu suche, is nur für Abfragen geeignet.
  • Weil da klammern hin müssen!
    Tobi27 -.- das hättest du noch hinschreiben können...

    Mit "and" kannst du mehrere Sachen abfragen, also if a = 10 and b = 10 usw...
    Willst du aber mehrere zeilen von einer Abfrage abhängig machen muss du genau wie in DnD (die Pfeile), Klammern setzen.
    Also:

    GML-Quellcode

    1. if keyboard_check(vk_left)
    2. {
    3. motion_set(180,4);
    4. sprite_index=Walk_left;
    5. image_speed = 0.5;
    6. }
    7. usw.


    Das "then" kann man auch weglassen, das ist eigentlich absolut nutzlos.

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • Es müsste so aussehen:

    GML-Quellcode

    1. //Step Event
    2. if keyboard_check(vk_left) then { motion_set(180,4); sprite_index=Walk_left; image_speed = 0.5 ; }
    3. if keyboard_check_released(vk_left) then { motion_set(180,0); sprite_index=Left; image_speed = 0.2; }
    4. if keyboard_check(vk_right) then { motion_set(0,4); sprite_index=Walk_right; image_speed = 0.5 ; }
    5. if keyboard_check_released(vk_right) then { motion_set(0,0); sprite_index=Right;image_speed = 0.2; }
    Die Klammern nach dem then umschließen die Folge der Bedingung nach if. Da es mehrere Folgen sind, werden diese eingeklammert. Sonst würde sich die Bedingung nur auf die erste Folge beziehen. Jeden Befehl habe ich mit einem Semikolon beendet. Das ist in GML (leider) nicht notwendig, ist aber trotzdem empfehlenswert. Ich empfehle dir außerdem sehr, dieses Tutorial von Windapple über GML durchzulesen, das wird dir bestimmt helfen: GML - Die Einsteigerreferenz.

    Gruß,
    Boskura

    Edit: Zu spät

    ____
    Adventskalender 2010: Blue Smiley
  • ah okay, ich danke euch vielmals :)

    noch eine frage....wie muss ich denn die Letter abfragen,ich möchte gerne die blickrichtung (links und rechts) abfragen um die richtige sprung animation anzuzeigen, was fürn code muss man da verwenden

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

  • Nein, du must bedenken das die Spritenamen Konstanten sind. D.h. praktisch unveränderliche Variablen die eine Zahl (den Index des Sprites) beinhalten.
    Also genau so wie du etwas einstellst, kannst du es auch abfragen. Das gilt für GM eigentlich immer.
    Also if sprite_index = left_sprite ...

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)