Probleme mit RPG

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Another Stupid Coder

Betreff: Probleme mit RPG

BeitragSa, Jan 03, 2004 20:33
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Jan 03, 2004 21:00
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Jan 03, 2004 21:11
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Jan 03, 2004 21:30
Antworten mit Zitat
Benutzer-Profile anzeigen
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

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group