Fragen zu meinem Spiel

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

coolo

Betreff: Fragen zu meinem Spiel

BeitragDo, Aug 02, 2007 10:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!

Ich mache gerade ein rpg (weiß schon, noob zu schwer und so... wills aber trotzdem mal probieren). Bis jetzt gehts ja gut mit dem Tutorial von robsite (mag die Sete weil wir gleich heißen;) ). Doch nun, will ich die Figur animieren. Für die, die es nicht kennen das Script:
Code: [AUSKLAPPEN]

;graficmodus
Graphics 640,480,16
;setbuffer initialisieren
SetBuffer BackBuffer()
;die benötigten variablen
Global ppx = 10*32 ;X-Position des Charackters
Global ppy = 7*32  ;Y-Position des Charackters
Global py = 7      ;Kollisions X-Position des Charackters
Global px = 10     ;Kollisions Y-Position des Charackters
Global scrolly     ;Die Variable für die ScrollY-Position
Global scrollx     ;Die Variable für die ScrollX-Position
;die benötigten bilder
Global char    = LoadImage("char.bmp")
Global Tileset = LoadAnimImage("tileset.bmp",32,32,0,6)
;die map-array
Dim map(20,20)
;die Karte
Data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4
Data 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4
Data 4,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,4
Data 4,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4
Data 4,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4
Data 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4
Data 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4
Data 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4
Data 4,0,0,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,4
Data 4,0,0,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,4
Data 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4
Data 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4
Data 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4
Data 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4
Data 4,0,0,0,3,3,0,0,0,0,0,0,0,0,3,3,0,0,0,0,4
Data 4,0,0,0,3,3,0,0,0,0,0,0,0,0,3,3,0,0,0,0,4
Data 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4
Data 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4
Data 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4
Data 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4
Data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4
;einlesen und die zahlen der Tiles in der array speichern
For y = 0 To 20
For x = 0 To 20
;einlesen der werte aus der data map in die array
Read map(x,y)
Next
Next
;start der hauptschleife
Repeat
;unnütze graficreste löschen
Cls
;esc-taste zum beenden abfragen
If KeyDown(1) Then Exit
;die 20*20 tiles große map laden
For x = 0 To 20
For y = 0 To 20
;malt die karte an der positon x*32,y*32 und man kann die variablen scrollx und scrolly
;von außen manipulieren, um so scrolling zu erzeugen
DrawBlock tileset,x*32-scrollx,y*32-scrolly,map(x,y)
Next
Next
;malt den charackter den du steuerst
DrawImage char,ppx-scrollx,ppy-scrolly

Text 0,0,py
Text 0,20,px
;_____________________Bewegungsrutinen für die einzelnen pfeil-tasten________________________________

;diese rutinen funcktionieren ganz einfach, solange aa größer 0 ist bleiben sie
;acktiv und es wird gescrollt
;pfeilrunter-taste
If move = 1 Then
;wenn der wert aa größer 0 ist wird fortgesetzt
If aa > 0
;solange der wert aa größer 0 ist wird um 2 pixel weiter gescrollt
scrolly = scrolly + 2
;die sichtbare figur wird bewegt
ppy = ppy + 2
;die variable xo wird solange aa > 0 ist erhöht
xo = xo + 1
;wenn xo den wert 16 erreicht hat wird aa wieder auf 0 gesetzt und der kollisionsparameter
;py wird verändert, danach wird xo wieder auf 0 gesetzt
If xo = 16 Then aa = 0:py = py + 1:xo = 0
End If
End If

;pfeilhoch-taste
If move = 2 Then
If aa > 0
scrolly = scrolly - 2
ppy = ppy - 2
xo = xo + 1
If xo = 16 Then aa = 0:py = py - 1:xo = 0
End If
End If
;pfeillinks-taste
If move = 3 Then
If aa > 0
scrollx = scrollx - 2
ppx = ppx - 2
xo = xo + 1
If xo = 16 Then aa = 0:px = px - 1:xo = 0
End If
End If
;pfeilrechts-taste
If move = 4 Then
If aa > 0
scrollx = scrollx + 2
ppx = ppx + 2
xo = xo + 1
If xo = 16 Then aa = 0:px = px + 1:xo = 0
End If
End If

;rechs-taste
If KeyDown(205) Then
;kollision checken, wie ihr es schon kennt
If map(px+1,py) < 1 Then
;der nächste tastatur-eingabe-impuls wird möglich sobald aa weniger als 1 wert ist
;das heißt in der zeit wo keine tastatur-eingabe erfolgen kann wird zur zeit gescrollt
If aa < 1 Then
;die scrollrutine move = 4 wird aufgerufen
move = 4
;aa nimmt den wert 1 an dadurch kann man erst wieder auf eine taste drücken, wenn
;aa < 1 wird
aa = 1
End If
End If
End If

;lings-taste
If KeyDown(203) Then
;kollision checken, wie ihr es schon kennt
If map(px-1,py) < 1 Then
If aa < 1 Then
move = 3
aa = 1
End If
End If
End If

;oben-taste
If KeyDown(200) Then
;kollision checken, wie ihr es schon kennt
If map(px,py-1) < 1 Then
If aa < 1 Then
move = 2
aa = 1
End If
End If
End If

;unten-taste
If KeyDown(208) Then
;kollision checken, wie ihr es schon kennt
If map(px,py+1) < 1 Then 
If aa < 1 Then
move = 1
aa = 1
End If
End If
End If
;flippen und zurück zum anfand der hauptschleife
Flip
Forever
;images wieder freigeben
FreeImage tileset
FreeImage char
;beenden
End


1. will ich die Figur beim gehen animieren(hab schon das Bild). Bitte hilft mir (erledigt)
2. Schaffe ich es nicht den Mapeditor einzubinden.

Ich hab da noch ne Frage:

Wird das rpg Tutorial noch weiter gemacht? Weil die nächsten Themen die kommen sollten würden mich interresieren.
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project!
"Eigenzitate sind nur was für Deppen" -Eigenzitat
  • Zuletzt bearbeitet von coolo am Do, Aug 02, 2007 21:33, insgesamt 3-mal bearbeitet

ZaP

BeitragDo, Aug 02, 2007 12:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaube das steht irgendwo schon, aber gut...

Im Grunde musst du nichts weiter tun als das aktuelle Bild deiner Figur um die breite des Bildes * die anzahl der frames erweitern und nebeneinander die Frames einzeichnen. Danach mit LoadAnimImage laden.

Ist dein Bild 64*64 pixel, und du willst 3 Frames haben, muss es also 64*3 pixel breit werden.
Starfare: Worklog, Website (download)

coolo

BeitragDo, Aug 02, 2007 13:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Das weiß ich schon, aber ich weiß nicht, wohin ich das geben muss?
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project!
"Eigenzitate sind nur was für Deppen" -Eigenzitat

Baschdi

BeitragDo, Aug 02, 2007 20:57
Antworten mit Zitat
Benutzer-Profile anzeigen
hab dein program verändert und ich lade es nun hoch dann kannst dus dir anschauen
The_Baschdi@
Wer in Ogame is soll sofort zum Orden wechseln (D.O.) --- Alle Macht dem Orden

Baschdi

BeitragDo, Aug 02, 2007 21:00
Antworten mit Zitat
Benutzer-Profile anzeigen
geh auf ARCHIV -> Alle Downloads anzeigen! und dann dowloaden mein RPG-Programmm (von Baschdi)

mfg
The_Baschdi@
Wer in Ogame is soll sofort zum Orden wechseln (D.O.) --- Alle Macht dem Orden
 

Dreamora

BeitragDo, Aug 02, 2007 21:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Das wär auch per Edit gegangen.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

coolo

BeitragDo, Aug 02, 2007 21:06
Antworten mit Zitat
Benutzer-Profile anzeigen
@Baschdi: Vielen dank!!!!
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project!
"Eigenzitate sind nur was für Deppen" -Eigenzitat

Baschdi

BeitragDo, Aug 02, 2007 22:06
Antworten mit Zitat
Benutzer-Profile anzeigen
np...mach zuzeit auch einn rpg game ..also wenn du ne frage hast ..dan frag mich
The_Baschdi@
Wer in Ogame is soll sofort zum Orden wechseln (D.O.) --- Alle Macht dem Orden

BladeRunner

Moderator

BeitragDo, Aug 02, 2007 23:34
Antworten mit Zitat
Benutzer-Profile anzeigen
~VERSCHOBEN~
Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group