move

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

biegl

Betreff: move

BeitragMi, Sep 08, 2004 20:31
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab gerade das rpg tutorial von robsites durchgemacht
und bin bei dem dritten teil auf was gekommen

es wird eine globale variable gmenacht move=1
die den spieler anzeigen soll

unten bei der kyey zuweisung findet man die variable nochmal
bei der steht das dieser befehl die spielfigur anzeigt


ist move ein befehl oder wie wird dem befehl geasagt was move = 1 ist?
Code: [AUSKLAPPEN]

;RPG-Tutorial3 Scrolling

;dieses tuturial is wohl das einfachste dass, dass jehmals gekommen ist und
;kommen wird und zwar behandelt es dass scrolling, man muss nur in der
;for-next-schleife zum karten malen bei dem drawimage die variablen
;scrollx und scrolly von x und y abziehen also ganz einfach.
;da dass meiner meinung nach die einfachste und beste methode des scrollings ist
;werde ich diese auch benutzen.
;sie functioniert folgendermaßen wenn man auf eine pfeiltaste drückt
;bewegt sich der spieler und die karte scrollt(einfach und schön)
;z.B. Pokemon nur dass dieses spiel eine andere sorte von bewegung benutzt.


;CODE


Graphics 640,480,16,1

;tileset
tileset = LoadAnimImage("tileset.bmp",32,32,0,6)
;figur
char = LoadImage("char.bmp")

;px Variable des Spielers
px = 10
;py Variable des Spielers
py = 7
;Direckt move = 1 damit die Figur auch am Anfang sichbar ist
move = 1

;die map-array
Dim map(20,20)

;die Karte
; 0 = wiese
; 1 = sand
; 2 = feuer
; 3 = wasser

Data 5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,5,5,5,5,5,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,5
Data 5,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,3,3,0,0,0,0,0,0,0,0,3,3,0,0,0,0,5
Data 5,0,0,0,3,3,0,0,0,0,0,0,0,0,3,3,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5


;einlesen und die zahlen der Tiles in der array speichern
For y = 0 To 20
For x = 0 To 20
Read map(x,y)
Next
Next

Repeat
SetBuffer BackBuffer()
Cls
If KeyDown(1) Then End

;malt die karte. Die auf der map gespeicherten zahlen einfach als framezahl des tilesets nehmen 
;-scrollx/y heißt einfach, dass die karte gemalt wird dabei aber die veränderbaren variablen
;scrollx und scrolly abgezogen werden
For y = 0 To 20
For x = 0 To 20
DrawBlock tileset,x*32-scrollx,y*32-scrolly,map(x,y)
Next
Next

;einfach wenn tastendruck dann
If KeyDown(208) Then
;wenn die position des spielers (px,py+1) mit einem tile kollidiert, dass in der array einen höeren
;wert als 2 hat geht der if-satz nicht weiter und die figur bleibt stehen 
;die 2 ist gleichzeitig das frame des tilesets
If map(px,py+1) < 3 Then
;die figur wird um ein tile bewegt
py = py + 1
;die variable scrollx/y wird verändert und beim nächsten mal
;wenn die hauptschleife durchlaufen wird. malt man die karte halt
;an der position x/y-scrollx/y gemalt
;achja und - 32 weil die figur sich auch nur um 32 pixel
;bewegt.
scrolly = scrolly + 32
;überträgt die spielerkoordinaten auf die x und y variablen der map und malt unsere figur
move = 1
End If
End If

If KeyDown(200) Then
If map(px,py-1) < 3 Then
py = py - 1
scrolly = scrolly - 32
move = 1
End If
End If

If KeyDown(203) Then
If map(px-1,py) < 3 Then
px = px - 1
scrollx = scrollx - 32
move = 1
End If
End If

If KeyDown(205) Then
If map(px+1,py) < 3 Then
px = px + 1
scrollx = scrollx + 32
move = 1
End If
End If
;wenn man die leertaste drückt
If KeyHit(57) Then
;und die spielerposition auf den hebel-tile befindet
If map(px,py) = 2 Then
;dann wird die gesamte karte eingelesen und alle tür-tiles in graß-tiles
;umgewandelt
For y = 0 To 20
For x = 0 To 20
If map(x,y) = 4 Then
map(x,y) = 0
End If
Next
Next
End If
End If




;wenn move = 1 dann übertrage x auf px*32(*32 da die array so klein ist bei *1 oder *2 kommt schnell
;(array index out of bouds) und das wollen wir nicht wenn die koordinaten des spielers mit den
;koordinaten der map in verbindung gebracht worden sind, malen wir die figur
;auf der position x,y wir wollen die figur ja mit der map kollidieren lassen und nicht mit dem Nichts
;und da die map nun mal in die x und y koordinaten gespeichert wurden müssen wir das auch so
;berücksichtigen.Jetzt muss man aber scrollx und scrolly abziehen und außerdem habe ich
;delay 30 in die zeile eingefügt, weil die figur so langsamer wird. Cool,oder
If move = 1 Then x = px * 32: y = py * 32:DrawImage char,x-scrollx,y-scrolly: Delay 50

Flip
Forever

Hubsi

BeitragMi, Sep 08, 2004 20:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh mein Gott! Gibt es dieses "Tutorial" denn noch immer? Das hat doch schon öfter mehr Probleme verursacht als Lösungen aufgezeigt Confused
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

biegl

BeitragMi, Sep 08, 2004 20:52
Antworten mit Zitat
Benutzer-Profile anzeigen
aber kannst du mir da helfen?

Hubsi

BeitragMi, Sep 08, 2004 21:18
Antworten mit Zitat
Benutzer-Profile anzeigen
move ist eine ganz normale Variable. Vermutlich wird sie dazu verwendet um zu bestimmen ob die Figur gerade bewegt wurde.
Was Tilemaps und die Kollisionserkennung darauf angeht hab ich schon ein wenig Erfahrung, da kann ich Dir gerne helfen. Aber heute nicht mehr, hab morgen Frühschicht Wink
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

BladeRunner

Moderator

BeitragMi, Sep 08, 2004 21:55
Antworten mit Zitat
Benutzer-Profile anzeigen
biegl hat Folgendes geschrieben:
Achtung Wir (www.morpg-developing.de.vu)
suchen noch Zeichner und Grafiker für MORPG.
Ziechner:
Erfahrung mit skizzieren (bleistift und papier) von 2D figuren (chars,monster,drachen,..)

Grafiker:
müssen 2D skizzen in 2d tiles umsetzten können (mit paint,gimp,usw)

bitte melden mailto:morpg-developing.de.vu
_________________

Du hast vergessen zu erwähnen dass ihr noch Programmierer braucht. Und jemand mit ner Spielidee. Und am besten noch jemand der für den Vertrieb sorgt. Und...

Lern erstmal programmieren!
In kleinen Projekten. Dann wag dich an dein MMORPG oder auch erstmal ein "kleines" RPG.
Sorry, aber das musste mal gesagt werden. Du erkennst nichtmal ne Variable aber willst das Supergame schreiben.... dass das nix wird sollte dir auch klar sein. (Sonst würden die Kaufhausregale überquellen vor geilen, von Hobbycodern geschriebenen Games mit Hitcharakter...)
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
 

biegl

BeitragDo, Sep 09, 2004 8:59
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab das thema auch voresrt eingefroren....
ich erkenn schon das das ne varibale is
aber ich hab nicht verstanden wo in dem quellcode dieser variable gesagt wird das sie den spieler zeigen bzw begen soll.

der typ hat gannz einfach mist gebaut

Keimax

BeitragDo, Sep 09, 2004 10:09
Antworten mit Zitat
Benutzer-Profile anzeigen
hast du auch die kommentare gelesen Rolling Eyes

Zitat:
wenn move = 1 dann übertrage x auf px*32(*32 da die array so klein ist bei *1 oder *2 kommt schnell

...
XP3000, FX6600, 1024DDR, BB2d @ W2k,
- > Diesen Text bitte nicht beachten <-
 

getlose

BeitragDo, Sep 09, 2004 16:33
Antworten mit Zitat
Benutzer-Profile anzeigen
@biegl

dann einfach mal per Suche nach der Variable suchen.
Bearbeiten -> Suchen (F3 = weitersuchen)

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group