2 spieler
Übersicht

![]() |
wuenschieBetreff: 2 spieler |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich wollte ein spiel schreiben in dem 2 spieler gegeneinander kämpfen (auf einer tastatur)
wie mach ich das am besten denn ich habe überhaupt noch keine ahnung wie ich da ran gehen soll!!! könnt ihr mir bitte helfen!!! gruß markus |
||
Der Tod ist sicher, das Leben nicht!! |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Spieler 1 die Cursortasten zum steuern geben und dem 2. WASD? | ||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
wuenschie |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja bei der steuerung habe ich keine probleme. die figuren sind ja alle animationen und wenn ich sie bewege muss ich ja cls schreiben damit das alte bild gelöscht wird. wenn ich nun den einen bewege wird der andere dabei aber gelöscht, wegen dem cls. | ||
Der Tod ist sicher, das Leben nicht!! |
![]() |
Firstdeathmaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das verstehe ich nicht. Bau die Hauptschleife doch so auf:
Zitat: repeat
;Steuerung abfragen Player 1 ;Steuerung abfragen Player 2 cls ; Spieler 1 malen ; Spieler 2 malen flip until keyhit(1) end Erst die Steuerung abfragen, dann löschen, dann beide Spieler mit der aktuellen Animation einzeichnen. |
||
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon Gewinner des BCC #57 User posted image |
![]() |
wuenschie |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja es wird aber nicht nur ein bild für spieler 1 gemalt sondern mehrere, nämlich wenn er läuft oder springt oder schlägt (dafür brauch man ja mehr als ein bild) also muss da schon mal irgendwo cls vorkommen denn sonst sind ja die alten bilder auch noch da. aber dann verschwindet eben wieder spieler 2!!!
wie soll ich das denn machen?? danke markus |
||
Der Tod ist sicher, das Leben nicht!! |
![]() |
Firstdeathmaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich weis ja nicht wie du die Bilder abgespeichert hast, aber es ist doch so, dass du an die Stelle nur immer ein einziges Bild einzeichnest (zum beispiel bewegung1.bmp.) Im nächsten Schleifendurchlauf zeichnest du dann das nächste ein: bewegung2.bmp u.s.w., wodurch eine Bewegung entsteht. Oder wie hast du dir das Vorgestellt? Du komponierst doch pro Schleifendurchlauf ein einziges Bild, von mir aus auch aus einem Hintergrund und 2 Spielerfiguren. Im nächsten Schleifendurchlauf veränderst du dann die beiden Figuren ein wenig und schon hast du deine Bewegung. Das ändert doch trotzdem nix an der Tatsache dass du die direkt nacheinander einzeichnen kannst.
Am besten postest du mal nen bisschen Code, dann kann ich besser sehen was du meinst. |
||
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon Gewinner des BCC #57 User posted image |
![]() |
wuenschie |
![]() Antworten mit Zitat ![]() |
---|---|---|
mein code:
Code: [AUSKLAPPEN] global loadanimimage=("spieler1, 80, 80, 0, 70") global loadanimimage=("spieler2, 80, 80, 0, 70") repeat if keydown(208) then repeat cls drawimage spieler1, x, y, frame y=y-3 frame=frame+1 flip until not keydown(208) endif if keydown(32) then repeat cls drawimage spieler2, x, y, frame y=y-3 frame=frame+1 flip until not keydown(32) endif .... .... .... forever |
||
Der Tod ist sicher, das Leben nicht!! |
![]() |
Kernle 32DLL |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja,das ist ja auch falsch ! Denn wen taste 208 gedrückt wird,wird ja nur
Spieler 1 gemalt.Aber es müssen beide gemalt werden. Also schreibst den mal befehl für den anderen Spieler immer unter den anderen. also: Zitat: drawimage spieler1, x, y, frame
drawimage spieler2, x, y, frame Da ich nicht den ganzen Code kenne,weis ich nicht ob das so geht. Müsst aber schon.Also packt die Malbefehle beider Spieler zusammen ! Denn so wie du das machst,wird immer nur einer gemalt.möp Gruß: kernle PS: Hoffe ich konnte helfen |
||
Mein PC: "Bluelight" - Xtreme Gamer PC [Video]
Meine Projekte: Cube-Wars 2010 [Worklog] Anerkennungen: 1. Platz BCC #7 , 1. Platz BCC #22 , 3. Platz BAC #89 Ich war dabei: NRW Treff III, IV ; Frankfurter BB Treffen 2009 |
![]() |
Firstdeathmaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aha, ok.
Pass auf, wie wäre es damit: Code: [AUSKLAPPEN] global loadanimimage=("spieler1, 80, 80, 0, 70")
global loadanimimage=("spieler2, 80, 80, 0, 70") ; Das sind die Positionen und Frames deiner beiden Spielfiguren spieler1_x spieler1_y spieler1_frame spieler2_x spieler2_y spieler2_frame repeat if keydown(208) then player1_y=player1_y-3 player1_frame=(player1_frame+1) mod(70) endif if keydown(32) then player2_y=player2_y-3 player2_frame=(player2_frame+1) mod(70) endif cls drawimage spieler1, player1_x, player1_y, player1_frame drawimage spieler2, player2_x, player2_y, player2_frame flip .... .... .... forever |
||
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon Gewinner des BCC #57 User posted image |
![]() |
Dante |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Global spieler1 = LoadAnimImage ("spieler.bmp",30,30,0,9)
Global spieler2 = LoadAnimImage ("spieler2.bmp",30,30,0,9) Repeat If KeyDown(208) Then y=y-3 frame=frame+1 EndIf If KeyDown(32) Then y2=y2-3 frame2=frame2+1 EndIf DrawImage spieler1, x, y, frame DrawImage spieler2, x2, y2, frame2 Flip Forever Nicht getestet ![]() |
||
- Zuletzt bearbeitet von Dante am Mi, Dez 01, 2004 22:23, insgesamt einmal bearbeitet
![]() |
wuenschie |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja es funktioniert danke!!!
aber wenn ich spieler1 bewege dann kann ich nicht gleichzeitig spieler2 bewegen, denn der rechner ist ja immer noch bei der kontrolle von keydown(208)!!! wie kann ich das noch lösen??? gruß markus |
||
Der Tod ist sicher, das Leben nicht!! |
![]() |
Dante |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Global x=0:y=0
Global x2=32:y2=32 Repeat Cls If KeyDown(200) Then y=y-3 If KeyDown(208) Then y=y+3 If KeyDown(203) Then x=x-3 If KeyDown(205) Then x=x+3 If KeyDown(31) Then y2=y2+3 If KeyDown(17) Then y2=y2-3 If KeyDown(30) Then x2=x2-3 If KeyDown(32) Then x2=x2+3 Oval x, y,30,30,1 Oval x2, y2 ,30,30,1 Flip FlushKeys() Until KeyDown(1) Mal ohne Animation,bei mir klappt es ganz gut^^kann beide spieler gleichzeitig bewegen ![]() |
||
- Zuletzt bearbeitet von Dante am Do, Dez 02, 2004 22:11, insgesamt einmal bearbeitet
![]() |
wuenschie |
![]() Antworten mit Zitat ![]() |
---|---|---|
1000 dank an euch es funzt super ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() gruß markus ![]() |
||
Der Tod ist sicher, das Leben nicht!! |
![]() |
Dante |
![]() Antworten mit Zitat ![]() |
---|---|---|
kein problem^^immer wieder gerne ![]() cya |
||
![]() |
Hummelpups |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das könnte nen Problem werden wenn zu viele Tasten auf einmal
gedrückt werden. Das Problem wirste schon noch kennen lernen, keine Sorge. BiZaR |
||
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus |
![]() |
wuenschie |
![]() Antworten mit Zitat ![]() |
---|---|---|
es gibt ja auch noch den befehl flushkey
gruß markus |
||
Der Tod ist sicher, das Leben nicht!! |
hot-bitGast |
![]() Antworten mit Zitat |
|
---|---|---|
Hoi.
Aha, das Ei schon wieder schlauer als die Henne ! Wenn er sagt, daß es Probleme mit zuviel zugleich gedrückten Tasten gibt, dann kannst es ihm auch glauben. Tatsache ist, daß es Probleme gibt ! Und da kannst noch so viele FlushKey() einbauen, wie du willst ! Und wenn du schon so SCHLAU tust, warum fragst hier überhaupt um irgendwas ? Toni |
||
- Zuletzt bearbeitet von hot-bit am Do, Dez 02, 2004 16:25, insgesamt einmal bearbeitet
![]() |
wuenschie |
![]() Antworten mit Zitat ![]() |
---|---|---|
gibt es eigentlich einen befehl der abfragt ob keine taste gerückt wird???
danke für eure hilfe gruß markus |
||
Der Tod ist sicher, das Leben nicht!! |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was Bizar meinte war dass einige Tastaturen hardwareseits nicht in der Lage sind mehr als 3 oder 4 gleichzeitig gedrückte Tasten zu verarbeiten. Da hilft auch das beste Flushkeys nur wenig ![]() |
||
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 |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
wuenschie hat Folgendes geschrieben: gibt es eigentlich einen befehl der abfragt ob keine taste gerückt wird???
Pseudo:Code: [AUSKLAPPEN] danke für eure hilfe gruß markus function nokey()
for a=1 to 237 if keydown(a) return false next return true end function |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group