Ok erledigt || Bild von rechts nach links wandern lassen
-
Hey leute, ich versuche grade ein kleines 2D game zuerstellen läuft ansich auch alles ganz gut versuche nur aktuell noch das sich die extra monster hin und her bewegen können das hab ich so versucht:
bool mmove = true; //bewegrichtung int movevar = 50; // noch zulaufende entfernung int drawmob(BITMAP *where, int x) { int move = 0; if ( (mmove) & (movevar >= 0) ) { movevar -= 5; move += 5; } else if( (!mmove) & (movevar >= 0) ) { movevar += 5; move -= 5; } else { movevar = 50; if (mmove) mmove = false; //richtungswechsel else mmove = true; } BITMAP *Mob; Mob = load_bitmap("Mob.bmp", NULL); draw_sprite(where, Mob, 300 + x + move, 335); }allerdings läuft das monster so wies aussieht nur einmal nach links und bleibt stehen jemand ne idee? oder evtl ne andere lösungsidee?
mfg friedrich
Edit: ok danke habs jetzt so gelöst:
int movevar = 0; bool movetype = true; int drawmob(BITMAP *where, int x) { if (movetype) { movevar++; if (movevar >= 20) movetype = false; } else { movevar--; if (movevar <= 0) movetype = true; } BITMAP *Mob; Mob = load_bitmap("Mob.bmp", NULL); draw_sprite(where, Mob, 300 + x + movevar * 2, 335); }
-
&ist kein logisches und. Nimm&&oderand
2. In Zeile 14 soll wohl auch-=statt+=stehen
-
danke aufjedenfall schonmal für die antwort
zu 1. danke sofort geändert^^
zu 2. ne ist schon richtig so wenn die noch zu laufende strecke sinkt soll
die gelaufene strecke steigeninsgesamt klappts leider dennoch noch nicht
-
friedrich schrieb:
zu 2. ne ist schon richtig so wenn die noch zu laufende strecke sinkt soll
die gelaufene strecke steigenJa, wenn du auf einmal die Abfrage an movevar umdrehst (dein 2. Quelltext), dann ist das natürlich nicht richtig. Aber im ersten Quelltext war dies der Fehler, da du dort auf größer 0 geprüft hast.
-
ahh ok jetzt seh ichs auch in der 2. if abfrage hättes <= sein müssen ok hätt ich mirs umschreiben sparen können^^