Probleme mit MouseHit

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Surat

Betreff: Probleme mit MouseHit

BeitragSa, Sep 17, 2005 8:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!
Ich progge gerade an einem Minispiel für ein RPG. Man muss mit der
Maus (Fadenkreuz) Pfeile auf gegnerische Soldaten schießen.
Wenn ich ImagesCollide und MouseHit verwende, dann lässt sich
immer nur einer von fünf Gegnern abschießen. Bei MouseDown
lassen sich alle 5 Gegner abschießen. Ich möchte aber MouseDown
nicht verwenden, sondern MouseHit.

Hier der Code:
BlitzBasic: [AUSKLAPPEN]

; Xenawa Shooter

AppTitle \"XENAWA FIGHTER\"

Graphics 640,480
SetBuffer BackBuffer()
SeedRnd MilliSecs()



Global forest=LoadImage(\"forest.bmp\")
Global fadenkreuz=LoadImage(\"fk.bmp\")
MaskImage fadenkreuz, 255,0,255


Global steinkrieger_ani=LoadAnimImage(\"steinkrieger_lauf.bmp\",90,113,0,2)
MaskImage steinkrieger_ani,255,0,255

Global steinkrieger_getroffen_sound=LoadSound(\"steinkrieger getroffen.wav\")


font=LoadFont(\"Arial\",30,1,0,0)




steinkrieger_zeit=MilliSecs()
wartezeit=MilliSecs()



Dim steinkrieger1(20,2)


Global Level=1




Repeat
Cls
X=MouseX()
Y=MouseY()

Xsk1=200
Ysk1=-100


TileBlock forest,0,0




If MilliSecs()-steinkrieger_zeit>150 Then
sk_frame=sk_frame+1
steinkrieger_zeit=MilliSecs()
EndIf

If sk_frame>1 Then sk_frame=0



Select Level
Case 1 Anzahl=2
Case 2 Anzahl=7
End Select



For I=1 To Anzahl
If steinkrieger1(I,0)=0 Then
wartezeit=MilliSecs()
steinkrieger1(I,0)=1
steinkrieger1(I,1)=Rand(25,520)
steinkrieger1(I,2)=Rand(-150,-200)
EndIf


If steinkrieger1(I,2)>480 Then steinkrieger1(I,0)=0
steinkrieger1(I,2)=steinkrieger1(I,2)+1
DrawImage steinkrieger_ani,steinkrieger1(I,1),steinkrieger1(I,2),sk_frame


If ImagesCollide(fadenkreuz,X,Y,0,steinkrieger_ani,steinkrieger1(I,1),steinkrieger1(I,2),sk_frame) And MouseHit(1) Then ;hier !
PlaySound steinkrieger_getroffen_sound
steinkrieger1(I,0)=0
Punkte=Punkte+50
EndIf



Next






DrawImage fadenkreuz,X,Y


SetFont font

Text 0,0,\"Level: \" + Level
Text 0,30,\"Punkte: \" + Punkte


Flip
Until KeyHit(1)


Wer sich das nicht vorstellen kann sagt bitte bescheid, denn dann
kann ich das Minispiel ja zum Download freigeben.

Also, ich hoffe ich könnt mir helfen!!! Very Happy
mfg surat
"DER GRÖßTE FEIND IST IN DEN EIGENEN REIHEN" (Trygonia-Xen's Quest)

AZUON-Beyond the dark life (2%)
SOULS OF DESTINY (23%)

Surat

BeitragSa, Sep 17, 2005 9:24
Antworten mit Zitat
Benutzer-Profile anzeigen
für alle, die sich das nicht vorstellen können...


www.gwebspace.de/surat/XenawaShooter.zip



(Ungefähr 520 kb)
"DER GRÖßTE FEIND IST IN DEN EIGENEN REIHEN" (Trygonia-Xen's Quest)

AZUON-Beyond the dark life (2%)
SOULS OF DESTINY (23%)
 

Apocalyptic

BeitragSa, Sep 17, 2005 9:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie oft diese Frage wohl noch gefragt wird?


Speicher Mousehit in einer Variable, so dass es nur EINMAL pro Schleifendurchlauf abgefragt wird. Statt Mousehit verwendest du dann diese Variable.
Suum cuique

[ www.ffs-net.de.vu ] [ Raycaster ]

Surat

BeitragSa, Sep 17, 2005 10:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Variable=MouseHit(1)

If ImagesCollide(bla) And Variable=1 Then
bla
Endif


äh, so?
"DER GRÖßTE FEIND IST IN DEN EIGENEN REIHEN" (Trygonia-Xen's Quest)

AZUON-Beyond the dark life (2%)
SOULS OF DESTINY (23%)

DA

BeitragSa, Sep 17, 2005 10:23
Antworten mit Zitat
Benutzer-Profile anzeigen
probiers aus...
Deutscher Blitz Basic Chat

Digi_

BeitragSa, Sep 17, 2005 11:02
Antworten mit Zitat
Benutzer-Profile anzeigen
ja, das stimmt so

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group