WASD Und Pfeiltasten stören sich gegenseitig ... 2 Fragen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

ToeB

Betreff: WASD Und Pfeiltasten stören sich gegenseitig ... 2 Fragen

BeitragFr, Apr 27, 2007 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn ich bein meinem spiel gleichzeitig WASD und Pfeiltasten Steuerung benutzt, kann entweder der eine Spieler oder der andere irgenteine Richtung nicht mehr benutzen. Warum ist das so (siehe Code unten...)?

2.Frage :

Warum ist das bei dem Code so, dass wenn mehr als 9 Bomben explodieren dass dann das Programm abstürzt ??

Code: [AUSKLAPPEN]

Graphics3D 800,600,16,1
SetBuffer BackBuffer()
SeedRnd MilliSecs()
Global c1=CreateCamera():PositionEntity c1,0,6.5,5:RotateEntity c1,0,180,0
Global c2=CreateCamera():PositionEntity c2,0,6.5,1
EntityType c1,1
EntityType c2,2
Global pos=Rand(1,3)
If pos=1 Then PositionEntity c1, 15,6.5,1 :RotateEntity c1,0,45,0
If pos=2 Then PositionEntity c1,-35,6.5,1 :RotateEntity c1,0,315,0
If pos=3 Then PositionEntity c1, 14,6.5,20:RotateEntity c1,0,135,0
FlushKeys()
Repeat
a=Rand(1,3)
Until a<>pos
pos=a
If pos=1 Then PositionEntity c2, 15,6.5,1 :RotateEntity c2,0,45,0
If pos=2 Then PositionEntity c2,-35,6.5,1 :RotateEntity c2,0,315,0
If pos=3 Then PositionEntity c2, 14,6.5,20:RotateEntity c2,0,135,0
Type s
Field ms,sb,cd,zahl
End Type
Type e
Field sp,rx#,rz#,fy#,speed#,w
End Type
Global e.e
Global s.s
Global Map = LoadMesh("Maps\Map1.X")
Global AnzahlEx=50
EntityType Map,3
PositionEntity Map,0,5,0
Global s1=2,s2=3
Dim b(2)
b(s1) = LoadMesh("Models\Bomb"+s1+".X"):RotateEntity b(s1),0,90,0
b(s2) = LoadMesh("Models\Bomb"+s2+".X"):RotateEntity b(s2),0,90,0
Global Bomb=LoadMesh("Models\Bombe1.X"):PositionEntity Bomb,0,6.5,10:ScaleEntity Bomb,0.5,0.5,0.5:HideEntity Bomb
RotateEntity b(s2),0,270,0
Collisions 1,3,2,2
Collisions 2,3,2,2
Global timer=CreateTimer(30)
Global ges#=0.3
Global Leben1=100,Leben2=100
Global lang = 5
Global Kiste = CreateCube()
Global Kiste_Text = LoadTexture("Text\Kiste.bmp")
ScaleEntity Kiste,0.85,0.85,0.85
EntityTexture Kiste,Kiste_Text
HideEntity Kiste
Repeat
CameraViewport(c1,0,0,800,300)
CameraViewport(c2,0,300,800,300)
If KeyDown(200) Then MoveEntity c1,0,0, ges#
If KeyDown(208) Then MoveEntity c1,0,0,-ges#
If KeyDown(203) Then TurnEntity c1,0, ges#*10,0
If KeyDown(205) Then TurnEntity c1,0,-ges#*10,0
If KeyDown(17) Then MoveEntity c2,0,0, ges#
If KeyDown(31) Then MoveEntity c2,0,0,-ges#
If KeyDown(30) Then TurnEntity c2,0, ges*10,0
If KeyDown(32) Then TurnEntity c2,0,-ges*10,0
If KeyHit(25) And an < 10 Then
s.s=New s
s\sb=CopyEntity(Bomb)
PositionEntity s\sb,EntityX(c1),EntityY(c1),EntityZ(c1)
RotateEntity s\sb,0,Rand(360),0
s\ms=MilliSecs()
s\cd=1000*(lang+1)
s\zahl=SpriteText((s\cd-(MilliSecs()-s\ms))/1000)
EndIf
If KeyHit(41) And an < 10 Then
s.s=New s
s\sb=CopyEntity(Bomb)
PositionEntity s\sb,EntityX(c1),EntityY(c1),EntityZ(c1)
RotateEntity s\sb,0,Rand(360),0
s\ms=MilliSecs()
s\cd=1000*(lang+1)
s\zahl=SpriteText((s\cd-(MilliSecs()-s\ms))/1000)
EndIf
PositionEntity b(s1),EntityX(c1),EntityY(c1),EntityZ(c1)
PositionEntity b(s2),EntityX(c2),EntityY(c2),EntityZ(c2)
RotateEntity b(s1),EntityPitch(c1),EntityYaw(c1)+270,EntityRoll(c1)
RotateEntity b(s2),EntityPitch(c2),EntityYaw(c2)+270,EntityRoll(c2)
MoveEntity c1,0,-0.2,0
MoveEntity c2,0,-0.2,0
an=0
For s.s=Each s
FreeEntity s\zahl
s\zahl=SpriteText((s\cd-(MilliSecs()-s\ms))/1000)
PositionEntity s\zahl,EntityX(s\sb)-1.3,EntityY(s\sb)-0.5,EntityZ(s\sb)
If (s\cd-(MilliSecs()-s\ms))/1000 < 0 Then
For ii = 1 To AnzahlEx
e.e=New e
speed#=Float(Rnd(0.01,0.05))
e\speed#=speed#
e\sp= LoadSprite("Text\Ex"+Rand(1,3)+".bmp",2)
PositionEntity e\sp,EntityX(s\sb),EntityY(s\sb),EntityZ(s\sb)
e\rx=Rnd(-0.10,0.10)
e\rz=Rnd(-0.10,0.10)
e\fy=speed#*Rand(10,15)
Next
For i = 0 To 5
If EntityDistance(s\sb,c1)<i Then Leben1 = Leben1 - (50-i*10):Exit
Next
For i = 0 To 5
If EntityDistance(s\sb,c2)<i Then Leben2 = Leben2 - (50-i*10):Exit
Next
FreeEntity s\sb:FreeEntity s\zahl
Delete s.s
EndIf
an=an+1
Next
For e.e=Each e
e\fy=e\fy-Float(e\speed/2)
RotateSprite e\sp,e\w
e\w = e\w + 10
MoveEntity e\sp,e\rx,e\fy,e\rz
If e\fy < -0.75 FreeEntity e\sp:Delete e.e
Next
UpdateWorld()
RenderWorld()
MoveMouse 400,300
Line 0,300,800,300
Color 255,255,255
Text 1,1,"Leben : "+Leben1
Text 1,301,"Leben : "+Leben2
Flip
WaitTimer(timer)
Cls
Until KeyHit(1)
End

Function SpriteText(Text$,r=255,g=255,b=255)
Local spTex = CreateImage(StringWidth(Text$),50)
SetBuffer ImageBuffer(spTex)
Color r,g,b
Text 0+StringWidth(Text$)/2,0+StringHeight(Text$)/2,Text$,1,1
SaveImage(spTex,"Text"+Text$+".bmp")
Local sp=LoadSprite("Text"+Text$+".bmp",2)
ScaleSprite sp,StringWidth(Text$)/7.5,StringHeight(Text$)/7.5
DeleteFile("Text"+Text$+".bmp")
SetBuffer BackBuffer()
Color 255,255,255
Return sp
End Function


Sry wenn der Code ein bissche wühst oda manche stellen sinnlos erscheinen, das ist mein erster Code in 3D, also nehmt bitte rücksicht Sad ...
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Tankbuster

BeitragFr, Apr 27, 2007 16:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du zuviele Tasten drückst, geht überhaupt nichts mehr, aber es sollte ein *krrrrr* Ton erscheinen Wink
Twitter
Download Jewel Snake!
Windows|Android

ToeB

BeitragFr, Apr 27, 2007 16:44
Antworten mit Zitat
Benutzer-Profile anzeigen
ja ! Aba dass muss doch gehen Sad

Neue Frage :
Wieso klappt der Code nich ( Bezogen jetzt auf meinen Code oben ) :
Code: [AUSKLAPPEN]
MoveEntity c2,0,0,JoyYDir()
TurnEntity c2,0,-JoyXDir(),0

Da macht der imma so komische sache ( Die camera(c2) geht von alleine ...)

Aba nua beim GamePad, nich beim Joystick Sad ...
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
  • Zuletzt bearbeitet von ToeB am Fr, Apr 27, 2007 16:46, insgesamt einmal bearbeitet

Tankbuster

BeitragFr, Apr 27, 2007 16:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke mal weil dein Joystick nicht auf den 0-Punkt eingestellt ist!
War bei mir früher auch so in sonnem Autorennspiel Wink
Twitter
Download Jewel Snake!
Windows|Android

ToeB

BeitragFr, Apr 27, 2007 17:10
Antworten mit Zitat
Benutzer-Profile anzeigen
k, thx !!

Aber warum gibts da eine störung wenn ich mehr als 10 Bomben zünde ?

Dann geht die Map imma weg und so... wer sich das mal anschauen möchte, melde sich bei mia ... ( PM )
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Smily

BeitragFr, Apr 27, 2007 18:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Zu dem Problem mit den Tasten:

wenn ich mich richtig erinnere liegt das Problem direkt an der Tastatur selbst.
Meine Tastatur beginnt auch zu streiken, wenn ich mehr als 3 Tasten gleichzeitig drücke.

Gruß, Smily0412
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

hectic

Sieger des IS Talentwettbewerb 2006

BeitragFr, Apr 27, 2007 19:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Jo, das ist ein Problem vieler Tastaturen. Vor allem auch von Cherry, wie ich feststellen musste. Zum Glück habe ich eine geile Russische (ohne Sinnlos... ähh, Windowstasten) bei welcher ich alle gleichzeitig drücken kann und alle werden erkannt. Very Happy
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

ToeB

BeitragFr, Apr 27, 2007 19:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja , danke.... Aber was is jetzt mit dem prob. mit den Bomben ?
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

hectic

Sieger des IS Talentwettbewerb 2006

BeitragFr, Apr 27, 2007 20:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry, aber es ist wirklich nicht leicht auf diesem Code Rücksicht zu nehmen, da wohl du der einzige Mensch auf der Welt bist, der den Code auch nur ansatzweise verstehen kann. Denn, er ist nicht formatiert und ausserhalb jeglicher Struckturregeln.

1. Rücke den Code mal ein und mache Absätze zwischen MAINLOOP und sonstiger Eigenroutinen

2. Was soll das hier bewirken? Code: [AUSKLAPPEN]
Repeat
a=Rand(1,3)
Until a<>pos
pos=a


3. Warum deklarierst du Arrays, deklarierst du Types, setzt Globalvariablen, setzt du Collisions (ist in der deutschen OH nicht ganz optimal vorgegeben), lädst du die Objekte etc... in der Hauptschleife (falls es die wirklich ist)?

4. Ich schätze, dass zunächst an ganz anderer Stelle Programmierfähigkeiten anhelernt werden sollten.

5. edit1 Sowas wie der Code: [AUSKLAPPEN]
e\sp= LoadSprite("Text\Ex"+Rand(1,3)+".bmp",2)
sollte 'ingame' vermieden werden. Lade alle Sprites am Anfang und setze sie da ein, wo du sie brauchst.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

ToeB

BeitragSa, Apr 28, 2007 12:28
Antworten mit Zitat
Benutzer-Profile anzeigen
hectic hat Folgendes geschrieben:
2. Was soll das hier bewirken? Code: [AUSKLAPPEN]
Repeat
a=Rand(1,3)
Until a<>pos
pos=a



Vorher hab ich ja Code: [AUSKLAPPEN]
pos=Rand(1,3):If pos=1 then...
geschrieben, da wird die Position von c1 ausgewählt. Wenn das jetzt danach für c2 schreiben würde Code: [AUSKLAPPEN]
pos=Rand(1,3):If pos=1 then...
dann könnte es sein, dass die beiden Cameras auf der Selben Position sind. Deshalb eine Schleife die einen Zufallsgenerator solange laufen lässt, biss er nicht mehr den wert von "pos" hat und wird danach pos übergeben Confused

hectic hat Folgendes geschrieben:
5. edit1 Sowas wie der Code: [AUSKLAPPEN]
e\sp= LoadSprite("Text\Ex"+Rand(1,3)+".bmp",2)
sollte 'ingame' vermieden werden. Lade alle Sprites am Anfang und setze sie da ein, wo du sie brauchst

Ja dankee, ich werds versuchen Very Happy

thx und mfg
Crack
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Silver_Knee

BeitragSo, Apr 29, 2007 1:02
Antworten mit Zitat
Benutzer-Profile anzeigen
ist das schneller als eine einfache for-next schleife???

ToeB

BeitragSo, Apr 29, 2007 17:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Was meinste mit "For und next " Schleife ? Ich weiß was das ist, aba wie macht amn dass damit ??
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Silver_Knee

BeitragSo, Apr 29, 2007 18:36
Antworten mit Zitat
Benutzer-Profile anzeigen
sry ich hab da was falsch verstanden

ToeB

BeitragSo, Apr 29, 2007 20:09
Antworten mit Zitat
Benutzer-Profile anzeigen
xD ^^ k, kann jedem mal passieren... Wink
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group