Ablaufende Munition darstellen....hmm.....

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

Blitzkrieg Bop

Betreff: Ablaufende Munition darstellen....hmm.....

BeitragSa, März 20, 2004 19:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!
Bei meinem Moorhuhclon, muss nun Munition dargestellt werden (was zunächst durch einfache Zahlen dargestellt wird) Also, ich habe es wie folgt:

Code: [AUSKLAPPEN]

Global muni = 5
repeat
Text 100,100,""+muni
;####### MUNITION ########
If MouseDown(1) Then
muni = muni - 1
EndIf
flip
forever


so, wenn man nun maustaste drückt, geht der viel mehr als nur 1 weniger. ist mir auch klar, weil es halt mousedown ist. doch mit mousehit bekomme ich es nicht hin, denn bei genau dem selben code, passiert einfach nichts. also, dasnke im voraus Smile
~ Hey Ho Let's Go ~
 

IonPainter

BeitragSa, März 20, 2004 19:44
Antworten mit Zitat
Benutzer-Profile anzeigen
wenns mit mousehit wirklich net geht...

Code: [AUSKLAPPEN]

Global muni = 5
repeat
Text 100,100,""+muni
;####### MUNITION ########
If MouseDown(1) and Munitionstimer + 500 < millisecs() Then
muni = muni - 1
Munitionstimer = millisecs()
EndIf
flip
forever
 

furbolg

BeitragSa, März 20, 2004 19:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Global muni = 5
repeat
Text 100,100,""+muni
;####### MUNITION ########
flushmouse
mh = MouseHit(1)
If mh Then
muni = muni - 1
EndIf
flip
forever


so in der richtung
 

Kekskiller

BeitragSa, März 20, 2004 19:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Nuja , ich würde soetwas wie eine Freqeunz einstellen , da somit so schnelle heruntergetählt , wie es die Computergeschwindigkeit erlaubt.
 

IonPainter

BeitragSa, März 20, 2004 19:52
Antworten mit Zitat
Benutzer-Profile anzeigen
hab ich ja Wink
 

Blitzkrieg Bop

BeitragSa, März 20, 2004 19:55
Antworten mit Zitat
Benutzer-Profile anzeigen
ion painter, dein code ist gut, nur:

man kann theorethisch die linke maustaste gedrückt halten, was ja nicht soll. pro klick, ein schuss weg und bei gedrückthaltung halt auch nur ein schuss weg
~ Hey Ho Let's Go ~

Gossi

BeitragSa, März 20, 2004 20:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Also wenn du an genau die selbse Stelle mousehit(1) schreibst, müsst es eigentlich gehn. Bist du dir sicher, dass nicht schon woanders im code mousehit(1) benutzt wird? Wenn du im Code den Befehl mehrmals hast, versuch das so:
Code: [AUSKLAPPEN]

local mh=mousehit(1)


dann ersetzt du alle "if mousehit(1)" durch "if mh"
Alle Wasser laufen ins Meer, doch wird das Meer nicht voller; an den Ort, dahin sie fließen, fließen sie immer wieder. (...) Was geschehen ist, eben das wird hernach sein. Was man getan hat, eben das tut man hernach wieder, und es geschieht nichts neues unter der Sonne. Geschieht etwas, von dem man sagen könnte: "Sieh, das ist neu"? Es ist längst vorher auch geschehen in den Zeiten, die vor uns gewesen sind.
 

IonPainter

BeitragSa, März 20, 2004 20:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Global muni = 5
Global MTrigger
repeat
Text 100,100,""+muni
;####### MUNITION ########
If MouseDown(1) and MTrigger = 0 Then
muni = muni - 1
MTrigger = 1
endif
if mousedown(1) = 0 then
MTrigger=0
EndIf
flip
forever
 

Blitzkrieg Bop

BeitragSa, März 20, 2004 20:27
Antworten mit Zitat
Benutzer-Profile anzeigen
danke ion, es geht Smile
~ Hey Ho Let's Go ~
 

Blitzkrieg Bop

BeitragSa, März 20, 2004 21:08
Antworten mit Zitat
Benutzer-Profile anzeigen
hm...das ist ja scön und gut, nur es gibt ein weiter prob:

Code: [AUSKLAPPEN]

; Was passiert allgemein, bei mausdruck?
; - ton wir abgespielt und munition verbraucht

;####### TON #########
If MouseHit(1) Then
schuss_normal = schuss_normal + 1
Else
schuss_normal = 0
EndIf

If schuss_normal = 1 Then
schuss_normal = PlaySound(schuss)
EndIf
 

;####### MUNITION ########
If MouseDown(1) And muni_wart = 0 Then 
muni = muni - 1 
muni_wart = 1 
EndIf 
If MouseDown(1) = 0 Then
muni_wart =0
EndIf

;Was passiert, wenn die Munition bei 0 angelangt ist?
; - keine '-' zahlen
; - das schiess geräusch darf nciht mehr kommen
; - bei klick auf rechte maustaste wir nachgeladen

If muni = 0
muni_wart = 99 ;muhaha! durch 99 wird die zahl ins unendliche katapultiert ;)
keinen_treffen = 1
EndIf

; muni_leer wird abgespielt
If keinen_treffen = 1 And MouseDown(1)
schuss_normal = schuss_normal + 2
PlaySound(muni_leer)
EndIf


bei diesem code sollte meiner meinung nach, wenn muni = 0 ist, der sound (schuss) nichtm ehr gespielt werden und nur noch der sound (muni_leer). aber der sound (schuss) wird dennoch weiterhin gespielt.....
~ Hey Ho Let's Go ~
 

Blitzkrieg Bop

BeitragSa, März 20, 2004 21:56
Antworten mit Zitat
Benutzer-Profile anzeigen
????????????
HILFE ^^'
~ Hey Ho Let's Go ~

dominik

BeitragSo, März 21, 2004 10:32
Antworten mit Zitat
Benutzer-Profile anzeigen
aus meinem prog:

Code: [AUSKLAPPEN]

;nachladen
If MouseDown(2) Then modus = 4

If modus = 4 Then
anfangwarten = MilliSecs()
ende = MilliSecs() + 25
modus = 3
EndIf

If modus = 3 Then
endewarten = ende
warten = anfangwarten
modus = 2
EndIf

If modus = 2 Then
warten = warten + 1
EndIf

If munition >= 5 Then modus = 1
If warten => endewarten Then
If modus = 2 Then
Munition = Munition + 1
PlaySound Nachladen
warten = anfangwarten
EndIf
EndIf
If Munition >= 1 Then DrawImage MunitionImage, 920, 700
If Munition >= 2 Then DrawImage MunitionImage, 940, 700
If Munition >= 3 Then DrawImage MunitionImage, 960, 700
If Munition >= 4 Then DrawImage MunitionImage, 980, 700
If Munition >= 5 Then DrawImage MunitionImage, 1000, 700
 

Blitzkrieg Bop

BeitragSo, März 21, 2004 12:44
Antworten mit Zitat
Benutzer-Profile anzeigen
dsa hilft mir nicht genau weiter!
ich brauch enen kommentierten code oder sowas..
~ Hey Ho Let's Go ~

Gossi

BeitragSo, März 21, 2004 15:41
Antworten mit Zitat
Benutzer-Profile anzeigen
An dieser Stelle
Code: [AUSKLAPPEN]

If schuss_normal = 1 Then
     schuss_normal = PlaySound(schuss)
EndIf

wird der schusssound abgespielt. Wie es aussieht, ist es dem Programm dabei egal, ob du noch muintion hast oder nicht. Versuch mal dort eine Bedingung einzubauen:
Code: [AUSKLAPPEN]

If schuss_normal = 1 And muni>0 Then
     schuss_normal = PlaySound(schuss)
EndIf
Alle Wasser laufen ins Meer, doch wird das Meer nicht voller; an den Ort, dahin sie fließen, fließen sie immer wieder. (...) Was geschehen ist, eben das wird hernach sein. Was man getan hat, eben das tut man hernach wieder, und es geschieht nichts neues unter der Sonne. Geschieht etwas, von dem man sagen könnte: "Sieh, das ist neu"? Es ist längst vorher auch geschehen in den Zeiten, die vor uns gewesen sind.
 

Blitzkrieg Bop

BeitragSo, März 21, 2004 18:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi! DAnke für dein code beispiel, hab das prob gelöst! nun habe ich noch einen kleinen schönheitsfehler zu beheben:

Code: [AUSKLAPPEN]

;####### TON #########
If MouseHit(1) Then 
schuss_normal = schuss_normal + 1
Else
schuss_normal = 0
EndIf

If schuss_normal = 1 And muni > 0 Then
schuss_normal = PlaySound(schuss)
EndIf


;####### MUNITION ########
If MouseDown(1) And muni_wart = 0 Then
muni = muni - 1
muni_wart = 1
EndIf
If MouseDown(1) = 0 Then
muni_wart =0
EndIf

;Was passiert, wenn die Munition bei 0 angelangt ist?
; - keine '-' zahlen
; - das schiess geräusch darf nciht mehr kommen
; - bei klick auf rechte maustaste wir nachgeladen

If muni = 0
muni_wart = 99 ;muhaha! durch 99 wird die zahl ins unendliche katapultiert ;)
keinen_treffen = 1
EndIf

; muni_leer wird abgespielt
If keinen_treffen = 1 And MouseDown(1)
PlaySound(muni_leer)
Text 500,700,"Must Reload!",True
nachladen  = 1
keinen_treffen = 0
EndIf

If MouseHit(2) And nachladen = 1 Then
muni = 5
EndIf


wenn muni = 0 ist und man linke maustaste drückt, wird "must reload" angezeigt. drückt man nun die rechte maustaste, ist muni = 5. doch wenn man jetzt die linke maustatse drückt, steht beim erstenmal drücken "must reload". Das soll aber ganz weg sein, wennman nachgeladen hat.
~ Hey Ho Let's Go ~

BladeRunner

Moderator

BeitragSo, März 21, 2004 22:22
Antworten mit Zitat
Benutzer-Profile anzeigen
denk mal über die variable nachladen nach ...
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
 

Blitzkrieg Bop

BeitragMo, März 22, 2004 13:51
Antworten mit Zitat
Benutzer-Profile anzeigen
danke für deine mysteriöse antwort blade Laughing , aber ich komme nicht weiter.
ich habe die stelle mal herausgegriffen und bearbeitet und dabei das nachladen weg gelassen nd es geht dennoch nicht. denn alternativ habe ich geschrieben:
Code: [AUSKLAPPEN]

; muni_leer wird abgespielt
If keinen_treffen = 1 And MouseDown(1)
PlaySound(muni_leer)
Text 500,700,"Must Reload!",True
;nachladen  = 1
keinen_treffen = 0
EndIf

If MouseHit(2) And muni = 0 Then
muni = 5
EndIf


also anstatt " and nachladen = 1 " , "and muni = 0"
aber der gleiche fehler ist noch vorhanden!
~ Hey Ho Let's Go ~
 

dubitat

BeitragMo, März 22, 2004 15:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

If muni = 0 and mousehit(1) then ;oder mh oder wie auch immer du das gemacht hast
playsound(muni_leer)
..........
;hier der restliche code
endif
Erare humanum est - Irren ist Menschlich
 

Blitzkrieg Bop

BeitragMo, März 22, 2004 15:31
Antworten mit Zitat
Benutzer-Profile anzeigen
hmpf, ich glaub es geht
~ Hey Ho Let's Go ~
 

dubitat

BeitragMo, März 22, 2004 16:04
Antworten mit Zitat
Benutzer-Profile anzeigen
^^ weißt du eigenbtlich das du uns hier mit fragen zioemlich heftig bombadierst?
Erare humanum est - Irren ist Menschlich

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group