Ein Problem mit Types und einer Schussfunktion... plz help
Übersicht

reptileBetreff: Ein Problem mit Types und einer Schussfunktion... plz help |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
![]() Ich bekomme es einfach nicht hin, das der Schuss bei jedem durchlauf gelöscht wird. Es Tritt ein Fehler auf, wenn das Bild gelöscht werden soll. Angeblich sei a.Schuss\Bild kein Type. Aber das Bild zu malen funktioniert doch! Könnt ihr mir vielleicht einen Tipp geben, an welcher stelle die Zeile "Delete a.Schuss\Bild" hinmuss oder was für eine Abfrage ich nehmen kann. ps: BlitzBasic macht mir einen riesen Spass und ich freue mich, dass ich diese tolle Seite hier entdeckt habe! ![]() Ich konnte leider nicht rausfinden, warum der BBCode nicht funzt... sry BlitzBasic: [AUSKLAPPEN] Global xmax=800,ymax=600 ~EDITIERT~ Codetags hinzugefügt. MfG BladeRunner |
||
![]() |
Cardonic |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi
Verwende : Code: [AUSKLAPPEN] a\Bild
Zudem bringt es nicht viel, in jedem Schuss-Type einzeln das Bild zu speichern. Viel besser wäre es, wenn du ein globales Bild hättest. mfg Cardonic Edit: Oh; ich sehe, dass dies dein erster Post hier ist. Hier noch ein kleines Beispiel : Code: [AUSKLAPPEN] Type Schuss
Field x,y End Type Graphics 800,600,32,2 SetBuffer BackBuffer() Repeat Cls ; Schuss erstellen, wenn Maustaste gedrückt wird If MouseHit(1) Then a.Schuss = New Schuss a\x = MouseX() a\y = MouseY() EndIf For a.Schuss = Each Schuss If a\x > 800 Then ; Schuss löschen Delete a.Schuss Else ; Schuss bewegen a\x = a\x + 1 ; Schuss Zeichnen Rect a\x,a\y,2,2 EndIf Next Flip Until KeyHit(1) Achja, du kannst hier im Forum deinen Code [code] ... Code ... [/Code] hervorheben. |
||
reptile |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wow, danke für die schnelle Antwort.
Man muss ja garnicht das Bild löschen, sonder den Type dafür! Aha effekt rockt. leider ist es jetzt schon spät. Ich probier es morgen weiter. danke nochmal |
||
![]() |
PSY |
![]() Antworten mit Zitat ![]() |
---|---|---|
hoi,
zu deinem code: ![]() ![]() ![]() ![]() ![]() ![]() ich hab deinen code mal angepasst. dazu folgendes: ![]() ![]() ![]() Code: [AUSKLAPPEN] Global xmax=800,ymax=600 Graphics xmax,ymax,32,1 SetBuffer BackBuffer() Global FrameTimer=CreateTimer(70) Type Schuss Field x Field y Field Bild End Type Global Eusch1=LoadImage("gfx\eusch1.bmp") Global Eusch2=LoadImage("gfx\eusch2.bmp") Global shot=loadimage ("gfx\schuss.bmp") Global xEusch=25 Global yEusch=ymax-150 ClsColor 255,255,255 ;Hauptschleife Repeat WaitTimer(FrameTimer) Cls If MouseHit(1) Then newshot() If MouseDown(1) Then DrawImage Eusch2,mousex(),mousey() Else drawImage Eusch1,mousex(),mousey() End If draw_shot() Flip Until KeyHit(1) End Function newshot() a.schuss = New schuss a\x=mousex()+50 a\y=mousey() a\bild=shot End Function Function draw_shot() For a.schuss=each schuss a\x=a\x+3 DrawImage a\bild,a\x,a\y If a\x > 850 Then Delete a.schuss Next End Function hoffe es hilft dir weiter l8er, psy |
||
reptile |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Super! Vielen dank für deine Antwort PSY und nochmal danke für deine Cardonic!
Ich hatte einen kleinen Denkfehler und zwar dachte ich Bei jedem durchlauf der Hauptschleife wird der Schuss gezeichnet und müsste dann beim nächsten durchlauf wieder gelöscht werden und dann wird ein neuer gezeichnet... das ist natürlich Quatsch ![]() Habs jetzt geschafft und die Schüsse fliegen nur so durch die gegend ![]() |
||
![]() |
PSY |
![]() Antworten mit Zitat ![]() |
---|---|---|
gerne ![]() bin mal gespannt was draus wird ![]() l8er, PSY |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group