move
Übersicht

bieglBetreff: move |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oh mein Gott! Gibt es dieses "Tutorial" denn noch immer? Das hat doch schon öfter mehr Probleme verursacht als Lösungen aufgezeigt ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
biegl |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
aber kannst du mir da helfen? | ||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
hast du auch die kommentare gelesen ![]() 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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@biegl
dann einfach mal per Suche nach der Variable suchen. Bearbeiten -> Suchen (F3 = weitersuchen) |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group