keydown fehler?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

meik sauss

Betreff: keydown fehler?

BeitragDo, Jul 19, 2012 18:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo BB Forum!!
Mir ist etwas aufgefallen,wenn ich eine Steuerung mit keydown(203-208) schreibe
dann kann ich wenn ich mein Raumschiff nach links oben steuere nicht feuern.
ist das anderen auch schon passiert bitte um hilfe!!

Holzchopf

Meisterpacker

BeitragDo, Jul 19, 2012 18:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Auf welcher Taste liegt den "Feuern"? Strg? Leertaste?
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm
 

meik sauss

BeitragDo, Jul 19, 2012 18:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Feuertaste liegt auf keydown(57) also spacetaste

ZEVS

BeitragDo, Jul 19, 2012 18:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Es wäre praktisch, wenn du Code reinstellen würdest. Wenn er lang ist, dann genügen relevante Ausschnitte. Außerdem solltest du darüber nachdenken, mit DebugLog eine Vorstellung darüber zu gewinnen, wo der Fehler liegt. Es gibt dazu ein Tutorial.

ZEVS
 

meik sauss

BeitragDo, Jul 19, 2012 18:47
Antworten mit Zitat
Benutzer-Profile anzeigen
der debug modus ist an ,es wird auch kein fehler angezeigt das spiel läuft auch.
der code ist von Rene Meyer aus dem Buch "jetzt lerne ich spiele programmieren mit Blitzbasic".
Code:
Graphics 640,480,16,2
SetBuffer BackBuffer()

Global hinter=LoadImage("C:\Program Files (x86)\Blitz2DDemo\help\resources\samples\graphics\stars.bmp")
Global player=LoadImage("C:\Program Files (x86)\Blitz2DDemo\help\resources\samples\graphics\spaceship.bmp")
Global gegner=LoadImage("C:\Users\Meik Sauss\Pictures\bilder BB\monster.bmp")
Global rakete=LoadImage("C:\Program Files (x86)\Blitz2DDemo\help\resources\samples\graphics\\bullet.bmp")
Global schusston=LoadSound("C:\Users\Meik Sauss\argon\Argon\audio\sfx\laser2.wav")
Global trefferton=LoadSound("C:\Users\Meik Sauss\argon\Argon\audio\sfx\explosion.wav")

Global x=320
Global y=440
ResizeImage gegner,70,70

Dim rak(100,2)
Dim alien(5,2)
Dim alienexplosion(5,1)
Dim alienschuss(100,2)

Repeat
Cls
hy=hy+2
TileBlock hinter,hx,hy
If KeyDown(203) Or JoyXDir()=-1 Then x=x-2
If KeyDown(205) Or JoyXDir()=1 Then x=x+2
If KeyDown(200) Or JoyYDir()=-1 Then y=y-2
If KeyDown(208) Or JoyYDir()=1 Then y=y+2
If x<0 Then x=0
If x>600 Then x=600
If y=<0 Then y=0
If y=>440 Then y=440


If KeyHit(57) Or JoyHit(1) Then
schuss=schuss+1
If schuss=101 Then schuss=1
rak(schuss,0)=1
rak(schuss,1)=x+10
rak(schuss,2)=y-19
PlaySound(schusston)
End If

For i=1 To 100
If rak(i,0)=1 Then
DrawImage rakete,rak(i,1),rak(i,2)
rak(i,2)=rak(i,2)-10
End If
Next

DrawImage player,x,y

For i= 1 To 100
If rak(i,0) <> 0 Then
For j= 1 To 5
If ImagesOverlap(gegner,alien(j,1),alien(j,2),rakete,rak(i,1),rak(i,2) )Then
PlaySound (trefferton)
alien(j,0)=0
End If
Next
End If
Next


For i=1 To 5
If alien(i,0)=0 Then
alien(i,0)=Rand(100,400)
alien(i,1)=Rand(-20,640)
alien(i,2)=Rand(-100,0)
End If

If alien(i,0) <> -1 Then
alien(i,2)=alien(i,2)+1
alien(i,1)=320 + Sin( alien(i,2) ) * alien(i,0)
End If

If alien(i,2) > 480 Then alien(i,0)=0
If alien(i,0) <> -1 Then DrawImage gegner,alien(i,1),alien(i,2)
Next

 
Flip
Until KeyDown(1)


ich hoffe das ist richtig hochgeladen, ich habe noch nicht soviel erfahrung mit dem forum

ZEVS

BeitragDo, Jul 19, 2012 18:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
ich hoffe das ist richtig hochgeladen

Ja
BlitzBasic:
If KeyHit(57) Or JoyHit(1) Then
schuss=schuss+1
If schuss=101 Then schuss=1
rak(schuss,0)=1
rak(schuss,1)=x+10
rak(schuss,2)=y-19
PlaySound(schusston)
End If

Über das Programmierprinzip (Types Ja/Nein) will ich hier nicht streiten. Meine Frage: Hörst du den Schusston? Ein DebugLog wäre hilfreich (siehe Tutorial-Link oben).
BlitzBasic:
DebugLog "Schuss?"
If KeyHit(57) Or JoyHit(1) Then
DebugLog "Schuss"
schuss=schuss+1
If schuss=101 Then schuss=1
rak(schuss,0)=1
rak(schuss,1)=x+10
rak(schuss,2)=y-19
PlaySound(schusston)
End If
 

meik sauss

BeitragDo, Jul 19, 2012 19:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank für den tipp mit dem debuglog !!!
den schuss höre ich die ganze zeit das programm läüft,
ist nur auffällig das wenn ich die tasten keydown(205)=rechts mit der keydown taste(200) also oben drücke
dann fliegt das raumschiff mit feuer nach rechtsoben.
wenn ich aber die taste keydown(203)=links mit der taste keydown(200)= oben drücke dann
feuert das raumschiff nicht mehr.

BladeRunner

Moderator

BeitragDo, Jul 19, 2012 19:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Passiert das nur bei dir oder auch bei anderen Rechnern? Es mag sein dass deine Keyboard-verkabelung da einfach mist ist, auch wenn es mir in dieser Kombination noch nicht untergekommen ist.

Einfacher Test: Lege deine Steuerung anstatt auf die Cursor-Tasten mal auf WASD - geht es dann mit W+A+Leertaste ?
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
 

meik sauss

BeitragDo, Jul 19, 2012 19:18
Antworten mit Zitat
Benutzer-Profile anzeigen
vielen dank fpr die Lösung!!
es läuft jetzt mit den wasd tasten .
liegt vieleicht an meinem keybord.

Propellator

BeitragDo, Jul 19, 2012 19:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Beachte auch dass nicht mehr als 3 Tastendrücke gleichzeitig abgefragt werden können, falls ich mich nicht irre.
Propellator - Alles andere ist irrelephant.
Elefanten sind die Könige der Antarktis.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group