dribbeln aber wie ?

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

  • dribbeln aber wie ?

    hi

    ich arbeite nebenbei an einem soccergame. die sprites die steuerung ist schon fertig aber wie kann ich einen ball an ein meinen spieler binden und dan mit der space taste machen das er schießt ?

    ich habe mir schon etliche codes angesehen aber ich bekomme nur fehlermeldungen.

    ich arbeite mit diesen codes..wäre toll wenn es eine ergänzung gäbe damit der spieler wenn er in ein sprite wechselt auch mit dem ball dribbelt(geht):

    create: (spieler )

    GML-Quellcode

    1. if global.richtung = "links" {sprite_index = b_links; }
    2. if global.richtung = "rechts" {sprite_index = b_rechts;}
    3. if global.richtung = "hoch" {sprite_index = b_hoch; }
    4. if global.richtung = "runter" {sprite_index = b_runter;}


    step:

    GML-Quellcode

    1. if global.richtung = "links" {sprite_index = b_links; }
    2. if global.richtung = "rechts" {sprite_index = b_rechts;}
    3. if global.richtung = "hoch" {sprite_index = b_hoch; }
    4. if global.richtung = "runter" {sprite_index = b_runter;}


    keyboard left:

    GML-Quellcode

    1. sprite_index = b_links;
    2. if place_free(x-2, y) {
    3. x -= 2;
    4. image_single = -1;
    5. global.richtung = "links";
    6. }

    rechts, unten oben..poste ich jetzt nicht .

    das einzige was ich dazu gefunden habe ist das hier:
    http://www.gm-d.de/board/thread.php?threadid=5258&hilight=binden

    hab schon etliches probiert aber bekomme nur fehler.

    hoffe es kann mir jemand einen linke oder irgendetwas geben. würde auch komplett neu anfangen wenn es besser ist.
  • Hallo

    Wie wäre folgendes:
    Ich nehme an Du hast für den Ball im Spiel ein eigenes Objekt gemacht? Erstelle Dir doch "einfach" eine Animation für Deinen Spieler der einen Ball dribbelt. Wenn nun das Ballobjekt das Spielerobjekt (Animation ohne Ball) berührt, wechsle den Sprite des Spielers (Animation ohne Ball) zum Sprite des Spielers mit Ball-Animation. Wenn Du dann den Ball schießt wechsle wieder zur Darstellung ohne Ball. Kurz gesagt würde ich nicht mühselig im Code versuchen das Ballobjekt an das Spielerobjekt zu "binden" sondern es über die Sprites und deren Animation versuchen.

    Leider kann ich Dir mit Code nicht helfen, da ich selbst gerade erst damit anfange, aber vielleicht hilft´s ja doch ein wenig. Andernfalls hilft Dir bestimmt jemand weiter der mehr davon versteht.
    Viele Grüße.
    UPUAUT

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

  • gute idee. werds versuchen. nur da ich dan noch einen gegnespieler haben werde wird es haarig den der muss mir den ball ja wieder abnehmen. na ja es geht wüsste auch schon wie aber ob da nicht mehr fehler auf mich zukommen als ich jetzt schon habe.


    alles in allem danke ... endlich kann ich wieder was probieren hänge seit stunden mit den codes fest :(
  • Was den Gegenspieler angeht - mach es da doch genauso. Wenn er an den Spieler mit der Ball-Animation rankommt (ihn berührt) wechsle bei ihm auch in eine "Spieler-mit-Ball-Animation" und wechsle bei dem Spieler der den Ball verloren hat wieder in eine ball-lose Animation zurück. Ist natürlich sehr Aufwendig die ganzen Animationen zu erstellen, aber ist vielleicht einfacher als das Ganz mittels Codes zu machen - nur eine Idee. ;)
    Viele Grüße.
    UPUAUT

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

  • so ähnlich habe ich mir das gedacht. thx die ganzen sprites jetzt wieder neu machen nervt ein bisschjen ^^.



    ja per code wäre es einfacher da man viel mehr mit dem ball machen kann.


    noch ne kleine frage :

    ich schaffe es nur mit code einen spieler dazu zu bringen shief nach unten,oben zu gehen. geht das per DD auch.? der läuft per DD immer nur gerade runter und gerade rauf :(

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

  • Das kann ich mir vorstellen, daß das nervt. ;) Vielleicht solltest Du damit dann noch bis heute Abend warten und noch ein paar Meinungen abwarten. Da gibt´s bestimmt auch noch andere Lösungen. Ich bin nun wirklich kein Fachmann was sowas angeht. War nur meine erste Idee, als ich Dein Problem las. ;)
    Viele Grüße.
    UPUAUT

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

  • Ich würde das nicht mit extra Sprites machen sondern so:

    GML-Quellcode

    1. besitzt=false;



    GML-Quellcode

    1. if (collision_circle(x,y,10,obj_ball,true,false) && besitz=false)
    2. {
    3. besitzt=true;
    4. }
    5. if besitzt
    6. {
    7. obj_ball.x=x+lengthdir_x(direction,10);
    8. obj_ball.y=y+lengthdir_y(direction,10);
    9. }


    (Space)

    GML-Quellcode

    1. if besitzt
    2. {
    3. ball.speed = 10;
    4. ball.direction=direction;
    5. ball.friction=0.1;
    6. besitzt=false;
    7. }


    Hab es nicht getestet, müsste aber funktionieren.

    Für das Schräglaufen:

    (up)

    GML-Quellcode

    1. if keyboard_check(vk_right) {direction=45; speed=10;/*oder halt deine Geschwindigkeit*/}


    Mit den anderen Richtungen geht es genau so, nur mit anderen Direction ;)

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

  • ich hab jetzt schnell 2 sprites gemacht um das zu testen aber es funtzt nicht .?

    object0:(spieler)
    object1:(ball)

    dan bekomm ich diesen fehler :














    danke für deine mühe aber ich werd alles neu machen müssen und probiers per DD. probier jetzt t seit 7 stunden herum mir reichts echt :(
    Bilder
    • hhh.jpg

      14,37 kB, 366×213, 180 mal angesehen

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