Figur Steuerung (Keydown) funktioniert nicht oO
Übersicht

Lühn'Betreff: Figur Steuerung (Keydown) funktioniert nicht oO |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
moin, ich bin neu hier und hab gleich eine einsteiger-frage auf lager^^
und zwar klappt bei mir der befehl (keydown) i-wie nich beim steuern einer 2d figur.. also ich bekomm es einfach nich hin sie zu steuern.. evtl. könnt ihr mir ja helfen... hier der code: Graphics 800,600 SetBuffer BackBuffer() background = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\background.bmp") DrawImage background, 0, 0 block = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") DrawImage block, 0, 565 block = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") DrawImage block, 33, 565 block = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") DrawImage block, 66, 565 block = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") DrawImage block, 99, 565 block = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") DrawImage block, 132, 565 block = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") DrawImage block, 165, 565 block = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") DrawImage block, 198, 565 block = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") DrawImage block, 231, 565 block = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") DrawImage block, 264, 565 block = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") DrawImage block, 297, 565 block = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") DrawImage block, 330, 565 block = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") DrawImage block, 363, 565 block = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") DrawImage block, 396, 565 block = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") DrawImage block, 429, 565 block = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") DrawImage block, 462, 565 block = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") DrawImage block, 495, 565 block = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") DrawImage block, 528, 565 block = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") DrawImage block, 561, 565 block = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") DrawImage block, 594, 565 block = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") DrawImage block, 627, 565 block = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") DrawImage block, 660, 565 block = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") DrawImage block, 693, 565 block = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") DrawImage block, 726, 565 block = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") DrawImage block, 759, 565 block = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") DrawImage block, 792, 565 peep = LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\people.bmp") x = 100 y = 530 Repeat DrawImage peep, x, y Flip Until KeyHit(1) If KeyDown(200) = 1 Then y = y - 1 If KeyDown(208) = 1 Then y = y + 1 If KeyDown(205) = 1 Then x = x + 2 If KeyDown(203) = 1 Then x = x - 2 ich weiß, dass häufige "LoadImage" hätt ich mir sparen können, aber ich wusste nicht wie ich das sonst lösen sollte.. vll. kann mir wer, wenn er zeit hat, dies auch noch erklären... THX |
||
![]() |
DerHase |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du musst bzw darft oder solltest ein Bild immer nur einmal vor der hauptschleife laden. Dann ist es im speicher und muss nie wieder geladen werden, ausser Du löscht es manuel aus dem Speicher. Die Tastatur abfrage funktioniert deshalb nicht weil sie ausserhalb Deiner Hauptschleife ist und deshalb gar nicht aufgerufen wird. Ausserdem solltest Du Dir relative und absolute Pfadangaben ankucken! | ||
![]() |
Schranz0r |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi Lühn
Gleich mal den ersten anschiss für den anfang ![]() ![]() 1.Du musst drauf achten immer eine übersichtliche Form im Code zu haben 2.Code: [AUSKLAPPEN] LoadImage("C:\Dokumente und Einstellungen\Daniel\Eigene Dateien\Eigene Bilder\block.bmp") geht mal garnicht, da du sonnst eine falsche Pfadangabe machst, funktioniert zwar bei dir, aber bei keinen Zweiten. Du solltest die Bilder entweder genau im gleichen Ordner machen, wo die *.bb drin ist, oder einen Ordner erstellen wo die Bilder drin sind.
bei einen Ordner namens Bild würde die Ordnerstruktur so aussehen: z.B: [Bilder] [sounds] meincode.bb der aufruf der Bilder wär in blitz dann so: LoadImage("Bilder\meinbild.bmp") so wär der Code also richtig Code: [AUSKLAPPEN] Apptitle "Peep" Graphics 800,600,0,2 SetBuffer BackBuffer() background = LoadImage("Bilder\background.bmp") peep = LoadImage("Bilder\people.bmp") Global x = 100 Global y = 530 Const runter = 208, rauf = 200, rechts = 205, links = 203 ; erleichtert die Übersicht Repeat If KeyDown(rauf) Then y = y - 1 If KeyDown(runter) Then y = y + 1 If KeyDown(rechts) Then x = x + 2 If KeyDown(links) Then x = x - 2 DrawImage background,0,0 DrawImage peep, x, y Flip Until KeyHit(1) End Für maps zu erstellen würde ich dir entweder Dim Map oder einen Mapeditor wie diesen hier raten: http://www.blitzbase.de/programme/mapeditor.htm |
||
- Zuletzt bearbeitet von Schranz0r am Mo, Aug 07, 2006 1:08, insgesamt einmal bearbeitet
Lühn' |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
da kann ich nur danke sagen, dass es so hilfreich und fix ging ![]() nur was meinst du mit maps mit dimmap erstellen? ist das ein befehl? sonst schau ich mir mal den mapeditor an.. |
||
![]() |
Schranz0r |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du wirklich Basic lernen willst, mach mal das komplette tutorial hier durch.
Das Hilft wirklich gut. http://de.wikibooks.org/wiki/B...y-Tutorial und schau dir das mal an: https://www.blitzforum.de/foru...hlight=dim |
||
![]() |
FreetimeCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: was meinst du mit maps mit dimmap erstellen? ist das ein befehl?
Dim ist ein Array. Wenn du zu Beispiel: Code: [AUSKLAPPEN] Dim Feld(10) schreibst, erstellst du ein eindimensionales Array. Das musst du dir so vorstellen: Du hast 10 Variablen, die durchnummeriert sind und die kannst du dann mit Inhalt füllen z.B Code: [AUSKLAPPEN] Feld(1)=loadimage("FeldGrün.jpg") Feld(2)=loadimage("FeldGelb.jpg") Du kannst auch zweidimesionale Arrays erstellen: Code: [AUSKLAPPEN] Dim Feld(10,10) Jetzt kannst du, genau, wie bei dem eindimensionalen Array dieses mir Inhalt füllen: Code: [AUSKLAPPEN] Feld(1,1)=loadimage("FeldGrün.jpg") Feld(2,1)=loadimage("FeldGelb,jpg") So kannst du eine "Map" erstellen. Du ordnest einfach die Array-Variablen nach X und Y. Code: [AUSKLAPPEN] Feld(X,Y)=
Wenn du jetzt für jedes Feld ein Bild lädst und diese nach jeweiligem Array X und Y wert mit "drawimage" malst, sieht es aus, als ob du eine zusammenhängende Map erstellt hast.[/quote] |
||
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte: Dexterity Ball (100%) Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz (ehemals Uboot) PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA |
Lühn' |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
yo.. dann bedanke ich mich mal für die gute anleitung von "FreetimeCoder", aber bei größeren levels könnte das so doch etwas unübersichtlich werden glaub ich mal so ![]() ![]() |
||
![]() |
FreetimeCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Leider funktioniert der Beispielcode nicht ![]() Mal sehen was sich machen lässt ![]() Edit: Die Fehler sind behoben ![]() Beim Mapeditor ist eine Beispiel-Datei dabei: MAPEDITOR_FREE\source\BlitzBasic\preview_bb2d.bb Du musst folgendes umändern: In "preview_bb2d.bb": Code: [AUSKLAPPEN] error=map_load("0.map","")
in error=map_load("../../samples/RPG/data/Jan2.map","") Und in "tile.bb" musst du bei "LoadAnimImage" eine 2 entfernen Alle diese Fehler wird dir auch der Compiler melden. Außerdem gibts im Ordner "Samples" für RPG und Jump&Run jeweils einen Beispielcode. Du musst nur den Ordner "Mapengine" (MAPEDITOR_FREE\source\BlitzBasic\) in den Ordner mit dem jeweiligen Beispielcode kopieren, dann sollte der Code funktionieren. |
||
- Zuletzt bearbeitet von FreetimeCoder am Mo, Aug 07, 2006 15:50, insgesamt 3-mal bearbeitet
![]() |
Cat |
![]() Antworten mit Zitat ![]() |
---|---|---|
jup, ist mir auch schon aufgefallen,hab auch
schon ein paar mal dran rumgespielt hat aber leider nicht funktioniert ![]() |
||
Intel Core 2 Duo E6300 (2 x 1,86 Ghz)
2 x 1024 MB Arbeitsspeicher NVidia GeForce 8800 GT |
![]() |
FreetimeCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
"RPG.bb" funktioniert trotzdem nicht.
Bin schon am Überlegen. ![]() Edit: Die Datei ist in Blitz+ geschrieben. Deswegen müsste man für "RPG.bb" selbst einen Code schreiben. |
||
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte: Dexterity Ball (100%) Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz (ehemals Uboot) PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group