Diverse Allegro-Fragen
-
Hi@all,
ich habe ein paar Fragen zu Allegro. Ich programmiere noch kein richtiges Spiel, sondern probiere erstmal etwas herum, um mich einzuarbeiten (in C/C++ allgemein bin ich zwar kein Anfänger mehr, aber auch noch lange kein Profi
).
1.) Ich möchte das ein Bild nur eine bestimmte Zeit angezeigt wird (zwei Sekunden z.B.). Wie realisiere ich so etwas am besten? So eine Art Titelbild eben. Ich dachte an einen Timer, habe aber bis jetzt noch nicht herausgefunden, wie ich diesen programmieren soll.
2.) Wenn ich eine Spielfigur habe, wie lasse ich diese am besten bewegen? Ich dachte mir, dass einfach ein Bild auf den screen geblittet wird und dann immer die Koordinaten geändert werden. Aber das sieht mir sehr unelegant aus. Welche Möglichketen gibt es dafür noch?
3.) Gibt es eine Möglichkeit die Funktion Sleep() aus der windows.h mit Allegro zu verwenden? Wenn ich die windows.h ins include schreibe, sagt der Compiler mir immer, dass es Probleme zwischen dem Allegro Typ BITMAP und der windows.h gibt.
Ich verwende Dev-C++ und das Allegro-DevPak.
Schonmal danke für alle Antworten.
-
zu 1) Wenn du dich bemühst findest du es sicher raus.
zu 2) Du könntest die Koordinaten der Hintergrundbilder ändern.
zu 3) Keine Ahnung.Bye, TGGC (Der Held bei Dir!)
-
- schau in die Allegro-Dokumentation. IIRC hat Allegro eine aehnliche Funktion
- kannst du dann ja mit der unter 1 gefundenen Funktion realisieren (zwar eher unueblich, aber machbar)
- wird eigentlich normalerweise so gemacht, dass du die Koordinaten der Figur aenderst, was bitte ist daran so unelegant?
-
zu drittens:
#define NOGDI
bye
-
elise schrieb:
zu drittens:
#define NOGDI
bye
bei Allegro die WinAPI zu verwenden ist schlecht, damit verliert man die Plattformunabhaengigkeit... ich empfehle:
-
jo hast recht... sollte man es aber dennoch brauchen (wenn man ohne unabhängigkeit programmieren kann und will, weil man winapi spezifische dinge einbinden möchte, kommt vor), kann man sich mit diesem define davor schützen, die bitmap fehlermeldung zu bekommen.
so long
-
- Jup, hab ich selber herausgefunden.
- Gut, dann werde ich doch die Koordinaten ändern. Wenn ich das aber so gemacht habe, sah es immer komisch aus, hat aber trotzdem funktioniert, deswegen dachte ich es sei unelegant. Naja, egal.
- Erledigt (Ich hab die rest() Funktion genommen.)
Neue Fragen:
4) Wie macht man am besten einen Creditsscroller mit Allegro? Da hab' ich gar keine Idee, wie man sowas machen könnte...- Wie realisiert man einen Fader (ein Bild ausblenden, dann evtl. ein anderes einblenden)? Gibt es da schon fertige Funktionen, oder muss man das alles selber schreiben?
- Jup, hab ich selber herausgefunden.
-
zu 4) Mit Gehirn und Tastatur (Tipp: Bild mit Buchstaen bewegen?
zu 5) Mit Schwarz (bzw. andererer Farbe) blenden.Bye, TGGC (Der Held bei Dir!)
-
@TGGC rofl
zu 4: man kann das auch mit Framebremsen machen und dann jedes Frame 1 pixel weiter runterscrollen...
-
man kanns auch ohne frambremse machen, der vorteila n der sache wäre, dass man eine einheitliche programmstruktur hätte
-
Noch eine Frage:
Wie kann ich bie der Allegrofunktion textout_ex() Integer ausgeben? textout_ex kann ja nur const char verarbeiten, ich will jetzt aber einen variablen Integer ausgeben. Gibt es da eine Möglichkeit?
-
maststef schrieb:
Noch eine Frage:
Wie kann ich bie der Allegrofunktion textout_ex() Integer ausgeben? textout_ex kann ja nur const char verarbeiten, ich will jetzt aber einen variablen Integer ausgeben. Gibt es da eine Möglichkeit?du koenntest mit sprintf() den Integer in einen char umwandeln, das ist allerdings a) umstaendlich und b) haesslich... wenn ich mich recht erinnere hat Allegro aber eine Text-Ausgabefunktion mit printf-Syntax... check einfach mal die Doku