Häuser in RPG einfügen
Übersicht

BassmasterBetreff: Häuser in RPG einfügen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
ich würde gerne in mein RPG ein paar Häuser einfügen. Die Häuser müssen erst mal nicht betretbar sein es geht mir im moment erst einmal nur darum verschieden große Grafiken in das Spiel einzufügen. Nur leider habe ich 0 ahnung wie ich das machen soll. Das einzigste was mir einfällt wäre das Komplette Tileset zu vergrößern und dann die einzelnen Grafiken darein einfach kleiner machen oder eben halt größer und dann mit Maskimage den Hintergrund zu entfernen. Aber wäre diese vorgehensweise sinnvoll oder er nicht ? Hier ist der Source Code: Code: [AUSKLAPPEN] Graphics 640,480,32,0 Global Tileset = LoadAnimImage("tileset1.png" ,32,32,0,8) Global char = LoadImage ("char2.png") MaskImage char ,255,255,255 ;----------------------------------- 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 fr die ScrollY-Position Global scrollx ;Die Variable fr die ScrollX-Position ;-------------------------------- Dim map(25,25) ;26 nach rechts ;26 nach unten Data 5,5,5,5,5, 5,5,5,5,5, 5,5,5,5,5, 5,5,5,5,5, 5,5,5,5,5, 5 Data 5,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1, 0,0,0,0,0, 5 Data 5,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1, 0,0,0,0,0, 5 Data 5,0,0,0,0, 0,0,6,0,0, 0,0,0,0,0, 1,1,1,1,1, 0,0,0,0,0, 5 Data 5,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1, 1,0,0,0,0, 5 Data 5,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,7,1,1, 0,0,0,0,0, 5 Data 5,5,5,5,5, 5,5,4,5,5, 5,5,4,5,5, 5,5,5,5,5, 5,5,5,5,5, 5 Data 5,0,0,0,0, 0,0,2,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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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,5,5,5,5, 5 For x = 0 To 25 For y = 0 To 25 Read map(x,y) Next Next Repeat SetBuffer BackBuffer() Cls For x = 0 To 25 For y = 0 To 25 DrawBlock tileset,x*32-scrollx,y*32-scrolly,map(x,y) ;map malen Next Next DrawImage char,ppx-scrollx,ppy-scrolly ;figur male ;----Bewegungsroutinen---------------------------------------------------------------------------------- Print "------" Print "px" Print px Print "------" Print "------" Print "py" Print py Print "------" Print "------" Print "ppx" Print ppx Print "------" Print "------" Print "ppy" Print ppy Print "------" Select move ;links Case 1 ;Spielerposition ndern scrollx = scrollx - 2 ppx = ppx - 2 ;Variable, die zhlt wie weit der Spieler bereits bewet wurde counter=counter+1 If counter = 16 Then px = px - 1 counter = 0 move = 0 EndIf ;Rechts Case 2 ;Spielerposition ndern scrollx = scrollx + 2 ppx = ppx + 2 ;Variable, die zhlt wie weit der Spieler bereits bewet wurde counter = counter+1 If counter = 16 Then px = px + 1 counter = 0 move = 0 EndIf ;runter Case 3 ;Spielerposition ndern scrolly = scrolly + 2 ppy = ppy + 2 ;Variable, die zhlt wie weit der Spieler bereits bewet wurde counter = counter+1 If counter = 16 Then py = py + 1 counter = 0 move = 0 EndIf ;rauf Case 4 ;Spielerposition ndern scrolly = scrolly - 2 ppy = ppy - 2 ;Variable, die zhlt wie weit der Spieler bereits bewet wurde counter = counter+1 If counter = 16 Then py = py - 1 counter = 0 move = 0 EndIf End Select ;Cursor Rechts If KeyDown(205) Then ;Kollision checken, wie ihr es schon kennt If map(px+1,py) < 3 Then ;der nchste Tastatur-eingabe-impuls wird mglich sobald die vorige Bewegung abgeschlossen ist ;das heit in der Zeit wo keine Tastatur-eingabe erfolgen kann wird zur Zeit gescrollt If move=0 Then ;die Scrollroutine move=2 ( Case 2 ) wird aufgerufen move = 2 End If End If End If ;Cursor Links If KeyDown(203) Then ;Kollision checken, wie ihr es schon kennt If map(px-1,py) < 3 Then ;der nchste Tastatur-eingabe-impuls wird mglich sobald die vorige Bewegung abgeschlossen ist ;das heit in der Zeit wo keine Tastatur-eingabe erfolgen kann wird zur Zeit gescrollt If move=0 Then ;die Scrollroutine move=1 ( Case 1 ) wird aufgerufen move = 1 End If End If End If ;runter key If KeyDown(208) Then If map(px,py+1) < 3 Then If move = 0 Then move = 3 End If End If End If ;rauf key If KeyDown(200) Then If map(px,py-1) < 3 Then If move = 0 Then move = 4 End If End If End If ;-------funktionen---- hebel_trigger() npc_vk() quest_npc() Flip Forever die funktionen Code: [AUSKLAPPEN] Function hebel_trigger() 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 25 For x = 0 To 25 If map(x,y) = 4 Then map(x,y) = 0 End If Next Next End If End If End Function Code: [AUSKLAPPEN] Function npc_vk() If KeyDown(56) Then If px = 3 Then If py = 8 Then FlushKeys npc = Input ("NPC: Was wollen sie tuen: (1) Wiedergehen (2) Kaufen: ") FlushKeys If npc = 1 Then FlushKeys Print "NPC: Cya" e=Input ("") End If If npc = 2 Then Print "(1) Schwert kaufen" verkaufen=Input ("NPC: Was wollen sie kaufen: ") End If If verkaufen=1 Then Print "User: Schwert gekauft" FlushKeys e = Input("") End If End If End If End If End Function Code: [AUSKLAPPEN] Function quest_npc() If KeyDown(56) Then If px = 5 Then If py = 18 Then npc = Input ("NPC: Hallo Quest(1) , (2) Quest ") If npc = 1 Then FlushKeys Print "NPC: Finde die Truhe" e=Input ("") End If End If End If End If End Function |
||
![]() |
SpionAtom |
![]() Antworten mit Zitat ![]() |
---|---|---|
Deinen Code hab ich mir nicht angeschaut, aber die "normale" Vorgehensweise bei sowas ist es doch, die großen Objekte (Häuser, Bäume, Berge,...) in ihre Tiles aufzuteilen, sodass am Ende zb ein Haus aus 7x5 Tiles besteht.
![]() |
||
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080 |
Bassmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Und wie genau funktioniert das dann O_o
Soll ich etwa hintermein Tileset die ganzen einzelnen Tiles von dem Haus setzen ![]() |
||
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja natürlich wie denn sonst ^^ und dan einfach das haus tile für tile zusammen klicken... und um die außenmauern setzt halt dan die killisionen und fertig
mfg Dottakopf |
||
Rechtschreibfehler gelten der allgemeinen Belustigung! |
Bassmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zusammen klicken das wäre schön. ^^
Aber ich füge gerade mit aller mühe die einzelenen Zahlen von dem Tile darein ^^ Dummer weise hab ich da was falsch eingefügt jetzt kann ich das Haus mit Paint nochmal wieder zusammen Puzzeln -.- Zusammen klicken das wäre schön. ^^ Aber ich füge gerade mit aller mühe die einzelenen Zahlen von dem Tile darein ^^ Dummer weise hab ich da was falsch eingefügt jetzt kann ich das Haus mit Paint nochmal wieder zusammen Puzzeln Da ist mir gerade eingefallen das bei dem RPG Tutorial von der Robsite HP beschrieben wurde wie man sich einen Map Editor machen kann. Ich hab da gerade mal eine Map mit erstellt und abgespeichert aber irgendwie weiss ich nicht was ich mit der abgespeicherten map machen soll. Das ist auch eine seltsame Datei ich hab die mal mit dem Editor geöffnet und da stand dann das hier drin: Code: [AUSKLAPPEN] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 und so geht das dann mit den einsen ewig weiter^^ Ich denk mal ich muss dann in meinem Source Code das DATA Feld löschen und dort eine Funktion einbauen die die map lädt welche ich mit dem Editor erstellt habe. Oder liege ich da falsch ? |
||
- Zuletzt bearbeitet von Bassmaster am Di, Feb 19, 2008 14:16, insgesamt einmal bearbeitet
Bassmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ach mist verklickt sry für Doppel Post ![]() Zusammen klicken das wäre schön. ^^ Aber ich füge gerade mit aller mühe die einzelenen Zahlen von dem Tile darein ^^ Dummer weise hab ich da was falsch eingefügt jetzt kann ich das Haus mit Paint nochmal wieder zusammen Puzzeln Da ist mir gerade eingefallen das bei dem RPG Tutorial von der Robsite HP beschrieben wurde wie man sich einen Map Editor machen kann. Ich hab da gerade mal eine Map mit erstellt und abgespeichert aber irgendwie weiss ich nicht was ich mit der abgespeicherten map machen soll. Das ist auch eine seltsame Datei ich hab die mal mit dem Editor geöffnet und da stand dann das hier drin: Code: [AUSKLAPPEN] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 und so geht das dann mit den einsen ewig weiter^^ Ich denk mal ich muss dann in meinem Source Code das DATA Feld löschen und dort eine Funktion einbauen die die map lädt welche ich mit dem Editor erstellt habe. Oder liege ich da falsch ? |
||
Bassmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Bassmaster hat Folgendes geschrieben: Ach mist verklickt sry für Doppel Post
![]() Zusammen klicken das wäre schön. ^^ Aber ich füge gerade mit aller mühe die einzelenen Zahlen von dem Tile darein ^^ Dummer weise hab ich da was falsch eingefügt jetzt kann ich das Haus mit Paint nochmal wieder zusammen Puzzeln Da ist mir gerade eingefallen das bei dem RPG Tutorial von der Robsite HP beschrieben wurde wie man sich einen Map Editor machen kann. Ich hab da gerade mal eine Map mit erstellt und abgespeichert aber irgendwie weiss ich nicht was ich mit der abgespeicherten map machen soll. Das ist auch eine seltsame Datei ich hab die mal mit dem Editor geöffnet und da stand dann das hier drin: Code: [AUSKLAPPEN] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 und so geht das dann mit den einsen ewig weiter^^ Ich denk mal ich muss dann in meinem Source Code das DATA Feld löschen und dort eine Funktion einbauen die die map lädt welche ich mit dem Editor erstellt habe. Oder liege ich da falsch ? Das mit dem Map laden klappt jetzt aber nun funktioniert halt die Kollisions abfrage nicht mehr ![]() Und die Figur bewegt sich irgendwie seltsam wenn man eine Taste drückt z.b. nach links und wenn man die Taste wieder los lässt dann läuft die Figur automatisch noch ca. 2-3 Pixel weiter -.- Hat wer zufällig eine Tutorial zu solch einem Thema ? |
||
Lador |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Robsite, Google...Mehr fällt mir nicht an Tutorials ein.
Wie wäre es, wenn du ein (oder mehrere Tiles) z.B. in einem bestimmten Layer freigibst, auf denen der Spieler laufen kann? Wie meinst du er läuft noch ein paar Pixel weiter? Hast du Pixel*Tile oder wie? Dann ist das doch genau das, was du willst. Und ansonsten machste halt einfach, wenn eine Pfeiltaste gedrückt wird, dann bewegt er sich vielleicht zwei Pixel. MFG Lador |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
~GESCHLOSSEN~ Es gibt so einige Tutorials, die das eigentlich simple Vorgehen hierzu erörtern. Noch dazu genießt du hier keinen Anfängerschutz mehr. Und obendrein noch ein Tripplepost. Heut ist ein guter Tag zum schließen. |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group