Probleme mit RPG
Übersicht

Another Stupid CoderBetreff: Probleme mit RPG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also Leute, Ich habe mal wieder ein Problem:
Es sollte eigentlich ganz simpel sein, aber irgendwie check ichs nicht. Und zwar möchte ich das sich die Figur langsamer bewegt. So wie zum Beispiel in den Zelda-Teilen für den Game Boy (Color/Advance). Und wenn wir schon dabei sind könnte mir jemand eine Funktion schreiben die Grafiken (Größe/Breite = 32*X) über die gewöhnliche Karte drüberlegt (z.b. Häuser). Und dann könnte man mir noch sagen wie man Portale in so einem RPG coden kann ... (sie sollen auch auf andere Karten führen können, wenn möglich. Das Problem mit der Bewegung ist dringend, das andere eigentlich schon zuviel verlangt....naja hier ist einmal der Quellcode: Code: [AUSKLAPPEN] ;----------------------------------------------------------------------------------------------------- ; Abranoix - Published under the terms of the GNU (Gnu's not Unix) GPL (General Public License) ; (C) 2003 -2004 By Paul Anselm Härle ;----------------------------------------------------------------------------------------------------- AppTitle "|Abranoix|" ; Der Title des Fensters. Graphics 740, 530, 16, 2 ; Grafik-Modus. SetBuffer BackBuffer() ; Wir verwenden Doublebuffering. FPS = CreateTimer(60) ; Frames Per Sekunde. ;##################################################################################################### ;------------------------------------Pre-Hauptschleife------------------------------------------------ ;##################################################################################################### ;----------------------------------------Dim-Felder--------------------------------------------------- Dim Map(21,16) ; Das Karten-Dim-Feld. ;------------------------------------Globale Variablen------------------------------------------------ Global P_X = 3; X-Koordinate des Players. Global P_Y = 8 ; Y-Koordinate des Players. Global P_Direc = 3 ; Die Richtung (Direction) des Players. Global P_Anim# = 0 ; Der Frame der Player-Animation Global Modus$ = "Menü" ; Der Modus in dem sich das Programm gerade befindet. (default = Menü) Global FileLoad$ ; Die zuladende Karte. ;-------------------------------------------Bilder---------------------------------------------------- Global Cursor = LoadImage("Graphics\Cursor.bmp") ; Die Cursor-Grafik (wird unten transparent gemacht). Global Button_Dark = LoadImage("Graphics\Button_Dark.bmp") ; Der Button wenn er inaktiv ist. Global Button_Light = LoadImage("Graphics\Button_Light.bmp") ; Der aktive Button. Global MessageBox = LoadImage("Graphics\MessageBox.bmp") ; Die Nachrichten-Box. Global MenueBox = LoadImage("Graphics\MenueBox.png") ; Die Box in der das Menü ist. Global Loader = LoadImage("Graphics\Loader.png") ; Der Wunderschöne Loader (mit GIMP gemacht). Global Tileset = LoadAnimImage("Graphics\Tileset.bmp", 32, 32, 0, 21) ; Das Tileset der Karte. Global P_Image = LoadAnimImage("Graphics\Char.bmp", 32, 32, 0, 12) ; Der Charakter mit Animation,... ;----------------------------------------Transparenz-------------------------------------------------- MaskImage P_Image, 255, 0, 255 ; Damit Rosa Transparent wird. MaskImage Cursor, 255, 0, 255 ; Damit Rosa Transparent wird. MaskImage MenueBox, 255, 0, 255 ; Damit Schwarz NICHT Transparent wird. ;-----------------------------------------Schriften--------------------------------------------------- Global Blitz18 = LoadFont("Blitz.fon", 18) ; Die Blitz-Editor-Schrift. ;------------------------------------------Includes--------------------------------------------------- Include "Funktionen.bb" ; Ich habe die meisten Functionen ausgelagert damit dieser Quellcode klein und ; übersichtlich bleibt. ;-------------------------------------Initialisierungen----------------------------------------------- SetFont Blitz18 ; Setzt die Schriftart auf Blitz18 (s.o.). Color 255, 200, 0 ; Setzt die Schriftfarbe auf Dunkelgelb. ;##################################################################################################### ;---------------------------------------Hauptschleife------------------------------------------------- ;##################################################################################################### While 1 = 1 ; Solange NICHT Escape (auf M$-Tastaturen die abgenutzte Taste) gedrückt wird. WaitTimer(FPS) ; Damit unsere Kleine Framebremse auch wirklich eingehalten wird. HidePointer ; Versteckt den billigen M$-Mauszeiger. ;---------------------------------------Menue-Modus--------------------------------------------------- If Modus$ = "Menü" ; Wenn der Modus "Menü" ist.... Origin 50, 25 ; Dann verschiebe den Ursprung auf (50/25) denn sonst ist das bild zu klein. DrawImage Loader, 0, 0 ; Und male dann den Cursor. NeuesSpielButton = Button(320, 200, "Neues Spiel") ; Erstellt den "Neues Spiel Button. If NeuesSpielButton = True Then ; Und wenn dieser gedrückt wird, dann... FileLoad$ = "Maps\Map1.abrmap" ; Lade diese Karte... LoadMap() ; ...Öffne sie... Modus$ = "Spiel" ; ...und setze den Modus auf "Spiel". EndIf ; So, diese If-Bedingung wäre hiermit zuende. LadeSpielButton = Button(320, 238, "Laden") ; Erstellt den "Laden"-Button. If LadeSpielButton = True Then LadeSpiel() ; und wenn dieser gedrückt wird, dann lädt er. ;) SpeicherSpielButton = Button(320, 276, "Speichern") ; Speicherbutton. If SpeicherSpielButton = True Then SpeicherSpiel() ; wenn gedürckt ; speichern. BeendeSpielButton = Button(320, 314, "Beenden") ; Beendenbutton. If BeendeSpielButton = True Then End ; Wenn gercükt dann Beenden. DrawImage Cursor, MouseX(), MouseY() EndIf ;-------------------------------------Spiel-Modus----------------------------------------------------- If Modus$ = "Spiel" Origin 0, 0 Move() DrawMap() DrawImage P_Image, P_X*32-32, P_Y*32-32, P_Direc + P_Anim DrawImage MessageBox, 0, 480 DrawImage MenueBox, 640, 0 MenueButton = Button(691, 68, "Menue") If MenueButton = True Then Modus$ = "Menü" If KeyDown(1) = True Then Modus$ = "Menü" P_Anim# = P_Anim# + 1 If P_Anim >= 3 Then P_Anim# = 0 If MouseX() > 640 DrawImage Cursor, MouseX(), MouseY() EndIf Flip Cls Wend ;-----------------------------------"befreien"-und-Ende----------------------------------------------- FreeTimer FPS FreeFont Blitz18 End Thx, im Vorraus |
||
![]() |
Freeman |
![]() Antworten mit Zitat ![]() |
---|---|---|
wozu schreib ich denn irgendwelche theards wo drin steht wie man solche animationen machen kann.....
schau ma hier https://www.blitzforum.de/viewtopic.php?t=227 pass auf, du siehst hier die Lazufani von nem Mädl xD , naja auf jeden Fall brauchst du nur die Px(fx) und Py(fy) kleiner werden zu lassen wenn sie addiert oder subtrahiert werden, is doch ganz einfach, allerdings müsstest du dann mit dem wartezeiten zwischen den Frames etwas spielen. Freeman |
||
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28 |
Another Stupid Coder |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hm...aber ich würde das eigentlich gerne machen ohne die FPS anzahl zu vergeringern da manche Dinge im Spiel schnell laufen müssen... | ||
![]() |
Freeman |
![]() Antworten mit Zitat ![]() |
---|---|---|
haste mal meins probiert mit fps Anzeige?ich bezweifle das nen pc da große Mühe hat! | ||
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group