der spieler animiert nicht

  • GM 8

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

  • der spieler animiert nicht

    hallo nochmals :thumbsup:

    habe kurzes problem. undzwar animiert sich nicht der spieler, nachdem er kugeln schießt. ich habe 10 sprites, der erste soll bleiben. also auf create:

    GML-Quellcode

    1. image_speed = 0
    2. image_index = 0



    es funktioniertt nur habe eine neue frage

    das geht auch, nur wenn er left buztton nicht mehr drückt soll es wieder auf (0) stehen das sprite! also speed und image! nur wie kriege ich das hin?=
    danke :thumbup:

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

  • hallo danke für alle antworten nur hab eine neue :thumbsup: darf ich sie heier stellen???


    ich habe ja z.b in create event "global.rundennummer=1" das heist in einem auto spiell werden immer runden kommen. wenn ich z.b will das in allen runden das der auto seine farbe ändert wie mache ich das?

    ich habe auf step event om obj_car so gemacht

    if global.rundennummer=2
    {
    draw_sprite(spr_car2,0,x,y)
    }
    else
    {
    image_speed=0
    }

    das geht auch nur aber in dem rundennumer 2!! ich will das auf alle runden nicht nur auf 2? wie gehe ich vor


    danke schön :gmlove:
  • dein if-Statement geht ja auch davon aus:

    GML-Quellcode

    1. if global.rundennummer=2


    entferne die Abfrage.

    übrigens, würde ich mir folgende Schreibweise generell angewöhnen:

    GML-Quellcode

    1. if (global.rundennummer==2){
    2. draw_sprite(spr_car2, 0, x, y);
    3. }else{
    4. image_speed = 0;
    5. }

    da deine zwar in GML akzeptabel ist (und mathematisch korrekt), jedoch in den meisten anderen Sprachen ein No-go ist:
    = ist ein Zuweisungsoperator,
    == ist ein Vergleichsoperator.


    EDIT: ich habe glaub ich erst beim 3. Durchlesen deine Frage verstanden.
    Nun, du könntest eine Liste mit Sprites erstellen, die es gibt und beim Rundenwechsel diese Liste durchgehen. Die könntest du dann auch zufällig auswählen, usw.
    Ich würde dir dafür ein Array empfehlen:

    GML-Quellcode

    1. autoArray[0] = spr_car1;
    2. autoArray[1] = spr_car2;
    3. autoArray[2] = spr_car3;
    4. //usw


    Dann zum Index des Sprites anhand der Rundennummer springen.

    GML-Quellcode

    1. chosen_car = autoArray[rundenNummer]


    eine andere Möglichkeit wäre deine Sprites anhand der zugeordneten Rundennummer zu benennen:

    GML-Quellcode

    1. your_car = "car_"+string(rundenNummer);

    in GML hast du allerdings das Problem, dass die Namen deiner Sprites keine Strings repräsentieren, sondern einem Index entsprechen.
    Das heißt, du müsstest ein Script schreiben, mit dessen Hilfe du den Index des Sprites anhand eines Strings feststellen kannst.

    hier gab es mal eine Lösung

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