Der Schlag des Strichmann

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Johann der 2.

Betreff: Der Schlag des Strichmann

BeitragSa, Nov 22, 2008 0:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Was ist an diesem code falsch ich will eigentlich das die animation nur auf x,y angezeigt wird nur er zeigt die animation auf x,y und x2,y2 wie kann ich das ändern hier der code:
Code: [AUSKLAPPEN]
Graphics 640, 480,32,2
SetBuffer BackBuffer ()
hallo = LoadImage ("strichmanns.bmp")

gfxSparks=LoadAnimImage ("bild.bmp",100, 136, 0, 5)
x2= 100
y2=100
x=0
y=0
Cls
While Not KeyHit (1)
Cls 
If KeyDown (80) Then  y2=y2+2
If KeyDown (77) Then  x2=x2+2
If KeyDown (75) Then  x2=x2-2
If KeyDown (72) Then  y2=y2-2
If KeyDown (208) Then y=y+5
If KeyDown (205) Then x=x+5
If KeyDown (203) Then x=x-5
If KeyDown (200) Then y=y-5 
Cls
DrawImage hallo, x,y
DrawImage hallo, x2,y2
 
If KeyDown (17) Then If MilliSecs() > tmrSparks + 100 Then
      tmrSparks = MilliSecs()
      frmSparks = (frmSparks + 1) Mod 5
End If
Cls
DrawImage gfxSparks, x, y, frmSparks
DrawImage hallo,x2,y2
If KeyDown (73) Then If MilliSecs() > tmrSparks + 100 Then
      tmrSparks = MilliSecs()
      frmSparks = (frmSparks + 1) Mod 5
End If
DrawImage gfxSparks, x2, y2, frmSparks
DrawImage hallo, x,y   
Flip
Wend


Was für einen fehler hab ich gemacht?
Mdg Johann

ozzi789

BeitragSa, Nov 22, 2008 0:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Was zeichnet bilder?

Drawimage genau Smile
und in deinem code sind 2 drawimage lösch mal eins von denen raus Wink

mfg ozzi
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

The_Nici

BeitragSa, Nov 22, 2008 0:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Warum bin ich mir sicher dass der Code nicht von dir ist/du ihn nicht verstehst?

MfG
 

Schoasch

BeitragSa, Nov 22, 2008 8:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:

...ich will eigentlich das die animation nur auf x,y angezeigt wird...


so wie du deinen Code aber schreibst zeigst du die Animation bei beiden Bildern an:

Code: [AUSKLAPPEN]

DrawImage gfxSparks, x, y, frmSparks
...
...
DrawImage gfxSparks, x2, y2, frmSparks


Also wenn du bei dem x2 und y2 die Animation nie anzeigen willst schreib statt frmSparks ne 0 hin, ansonsten musst ne zweite Variable nehmen.

mfg
 

Johann der 2.

BeitragSa, Nov 22, 2008 9:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Problem hab ich gelöst jetzt möchte ich noch einen colide text einbauen nur wenn sie sich jetzt berühren verlieren beide leben ich will aber nur wenn die animation(also der schlag) den gegner das der gegner leben verliert und die kolision ist noch sher ungenau wie kann ich das ändern?
Hier der code:
Code: [AUSKLAPPEN]
Graphics 640, 480,32,2
SetBuffer BackBuffer ()
hallo = LoadImage ("strichmanns.bmp")
gfxSparks=LoadAnimImage ("bild.bmp",100, 136, 0, 5)
x2= 100
y2=100
x=0
y=0
Lebenspieler1=10
Schadenspieler1=10
Lebenspieler2=12
Schadenspieler2=2
Print Lebenspieler1
Print Lebenspieler2
Cls
While Not KeyHit (1)
Cls 
If KeyDown (80) Then  y2=y2+2
If KeyDown (77) Then  x2=x2+2
If KeyDown (75) Then  x2=x2-2
If KeyDown (72) Then  y2=y2-2
If KeyDown (208) Then y=y+5
If KeyDown (205) Then x=x+5
If KeyDown (203) Then x=x-5
If KeyDown (200) Then y=y-5 
Cls
DrawImage hallo, x,y
DrawImage hallo, x2,y2
 
If KeyDown (17) Then If MilliSecs() > tmrSparks + 100 Then
      tmrSparks = MilliSecs()
      frmSparks = (frmSparks + 1) Mod 5
End If
Cls
DrawImage gfxSparks, x, y, frmSparks
DrawImage hallo,x2,y2
If KeyDown (73) Then If MilliSecs() > tmrSparks + 100 Then
      tmrSparks = MilliSecs()
      frmSparks = (frmSparks + 1) Mod 5
End If
If KeyDown (73) Then  Cls
If KeyDown (73) Then  DrawImage  gfxSparks, x2, y2, frmSparks
If KeyDown (73) Then DrawImage hallo,x,y
If ImagesCollide(gfxSparks, x, y, 0, hallo, x2, y2, 0) Then Text x, y, "Treffer Spieler 1" Lebenspieler2=Lebenspieler2-SchadenSpieler1
If ImagesCollide(gfxSparks, x2, y2, 0, hallo, x, y, 0) Then Text x, y, "Treffer Spieler 2" Lebenspieler1=Lebenspieler1-Schadenspieler2
Print Lebenspieler1
Print Lebenspieler2
Flip
Wend

Und the nici ich hab den code selber geschrieben.
Mfg Johann
 

Schoasch

BeitragSa, Nov 22, 2008 10:18
Antworten mit Zitat
Benutzer-Profile anzeigen
also erstmals:

Code: [AUSKLAPPEN]

If KeyDown (73) Then  Cls
If KeyDown (73) Then  DrawImage  gfxSparks, x2, y2, frmSparks
If KeyDown (73) Then DrawImage hallo,x,y


daraus mach einmal:

Code: [AUSKLAPPEN]

If Keydown(73( Then
Cls
DrawImage  gfxSparks, x2, y2, frmSparks
DrawImage hallo,x,y
EndIf


nun zu deinem Problem:
So wie du das gecodet hast verlieren beide Spieler, wenn sie miteinander Kollidieren und bei beiden der frame 0 ist.

Du musst ImagesCollide ändern, wenn zum Beispiel x,y > 0 ist (denn dann schlägt er ja zu) dann verliert x2,y2 leben und umgekehrt.
Ich hoffe du hast das verstanden Embarassed

mfg

BladeRunner

Moderator

BeitragSa, Nov 22, 2008 10:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Selbst geschrieben, soso.
Sagen wir mal Du hast ihn dir zusammenkopiert und ein wenig verändert.
Es sei denn Du hattest ihn uns schon 2004 zur Verfügung gestellt...
https://www.blitzforum.de/foru...=gfxsparks

Der Grundcode stammt nämlich zweifelsfrei von der Blitzbase.
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
 

Johann der 2.

BeitragSa, Nov 22, 2008 10:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja der code ist kopiert aber den rest habe ich mir weitergehendst selbst ausgedacht bis auf ein paar sachen die von blitzforum usern verbessert wurden.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group