RPG in BlitzMAX
Übersicht

![]() |
Mathias-KwiatkowskiBetreff: RPG in BlitzMAX |
![]() Antworten mit Zitat ![]() |
---|---|---|
es wird sicherlich möglich sein in Max ein RPG game zu codden. wie fängt man am besten an oder gibt es schon tutorials?
versteht meine posts nicht falsch, die ich bisher habe , ich möchte nur erst mal so zimlich jeden befehl genutzt haben ![]() |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Der Anfang ist der gleiche wie auch bei den alten Blitz Sprachen.
Kannst also insofern deren Tutorials nehmen nur das du dir halt in BM zusätzlich Gedanken machen musst wie der Code in BM aussehen muss da die Art wie die alten Blitz arbeiteten in BM sehr langsam ist verglichen mit der richtigen Art zu programmieren. Allgemeine Tutorials zu BM findest du in der FAQ & Tutorial Sektion. Speziel den verweis auf Assaris tutorials möchte ich sehr ans herz legen. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
mapeditor.de.vu
da haste schon ne unheimlcih gute Mapengine! |
||
between angels and insects |
![]() |
Mathias-Kwiatkowski |
![]() Antworten mit Zitat ![]() |
---|---|---|
mhh wie findet ihr den code... am anfang stottert er... kp woran des liegt... also am anfang wenn man scrollt nach rechts z.b.
Code: [AUSKLAPPEN] Graphics 800,600,32
Global WieseImage:TImage=LoadAnimImage( "Data\wiese.bmp",32,32,0,2) Global WeltList:TList = New TList Global Welt:TWelt Type TWelt Field X:Int Field Y:Int Field Ico:Int Function Create(X:Int,Y:Int,ico:Int) Welt:TWelt = New TWelt Welt.x = x Welt.Y = Y Welt.Ico = Ico WeltList.Addlast Welt End Function EndType For x=0 To 4000 Step 32 For y=0 To 3000 Step 32 TWelt.Create(X,Y,Rnd(2)) Next Next Global BefindenX=0 Global BefindenY=0 Repeat Cls gesammtY=0 gesammtX=0 For Welt:TWelt = EachIn WeltList If Welt.X=>BefindenX And Welt.Y=>BefindenY Then If gesammtY=18 Then gesammtX=gesammtX+1 If gesammtX=25 Then Exit DrawImage WieseImage,Welt.X-BefindenX,Welt.Y-BefindenY,Welt.Ico gesammtY=gesammtY+1 EndIf Next If KeyDown(KEY_RIGHT) Then BefindenX=BefindenX+32 If KeyDown(KEY_LEFT) Then BefindenX=BefindenX-32 If KeyDown(KEY_DOWN) Then BefindenY=BefindenY+32 If KeyDown(KEY_up) Then BefindenY=BefindenY-32 If MouseDown(1) Then End Flip Forever |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Cls könntest du dir evtl. sparen .
Beim anzeigen fehlt die Prüfung des unteren sichtbaren Bereichs . x1=Links -32 y1=Oben-32 x2=Rechts+32 y2=Unten+32 For Welt:TWelt = EachIn WeltList If (Welt.X=>X1 And Welt.Y=>Y1) and (Welt.X<X2 And Welt.Y<Y2) Then für 32 würde ich eine Constante nehmen |
||
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hier würd ich ein Array nehmen. Momentan gehst du jeden Schleifendurchlauf alle Tiles durch die es gibt und fragst per If ab ob es in Frage kommt. Mit 'nem Array kann man schon vorher bestimmen welche Tiles in Frage kommen zum Zeichnen, so dass man dann nicht alle durchgehen muss.
Du kannst ja auch ein Type-Array machen: Code: [AUSKLAPPEN] Type TTile
Field Layer1:Int Field Layer2:Int Field Daten:String End Type Local Tiles:TTile[,] = new TTile[200, 100] For Local y:Int = 0 to 99 For Local x:Int = 0 to 199 Tiles[x,y] = new TTile Tiles[x,y].Layer1 = 1 Tiles[x,y].Layer2 = 2 Tiles[x,y].Daten = "changelevel=level2.map" Next Next Beim Zeichnen dann erst bei nem bestimmten Wert anfangen: Code: [AUSKLAPPEN] For Local y:Int = StartY To EndeY
For Local x:Int = StartX To EndeX DrawImage Tileset, x * 32 - ScrollX, y * 32 - ScrollY, Tiles[x,y].Layer1 DrawImage Tileset, x * 32 - ScrollX, y * 32 - ScrollY, Tiles[x,y].Layer2 Next Next Angenommen StartX ist 30 und EndeX 30 + Anzahl Tiles auf dem Bildschirm, und bei Y das Selbe, dann gehst du nur soviele Tiles durch wie auf dem Bildschirm maximal angezeigt werden können. |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Alternativ: Die Mapengine von mapeditor.de.vu nehmen. die aktuellste version für BM sollte eigentlich im Module Board zu finden sein. | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
oder auch hier: https://www.blitzforum.de/mapeditor/ | ||
between angels and insects |
Barbapapa |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wie wärs denn hiermit? Ist zwar französisch und mit PureBasic aber trotzdem hilfreich..
http://www.games-creators.org/...r_un_RPG2D |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group