Fligende Kugel

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Lifetec

Betreff: Fligende Kugel

BeitragFr, Mai 19, 2006 14:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Also nachdem ich das hier geschrieben habe.
Code: [AUSKLAPPEN]

Graphics 800,600,0,1
SetBuffer BackBuffer()
hinter = LoadImage("GFX\Hintergrund\insel1024x768.jpg")
pointer = LoadImage("GFX\faden.bmp")
SpeilMenu = LoadImage("GFX\SpielMenu\Menu.bmp")
Beenden = LoadImage("GFX\SpielMenu\Ende.bmp")
Beendeng = LoadImage("GFx\SpielMenu\Endeg.bmp")
MBildK = LoadImage("GFX\Kanone\schuss ne0001.bmp")
Kanone = LoadImage("GFX\Kanone\schuss n0000.bmp")
Kanoner = LoadImage("GFx\Kanone\schuss ne0000.bmp")
Kanonel = LoadImage("GFx\Kanone\schuss nw0000.bmp")
explosion = LoadAnimImage("GFX\explosion\explosion.bmp",96,96,0,15)
Kugel = LoadImage("GFX\Kanone\einzelne kugel.bmp")
font = LoadFont("X-Files",15,0,0,0)
SetFont font
;Zielscheinbn
ziel1 = LoadImage("GFX\Zielscheibe\zielscheibe1.bmp")
ziel2 = LoadImage("GFX\Zielscheibe\ziel2.bmp")
;MasKimage
MaskImage Kugel,128,128,128
MaskImage MBildK,106,76,48
MaskImage pointer,255,255,255
MaskImage Kanone,106,76,48
MaskImage Kanoner,106,76,48
MaskImage Kanonel,106,76,48
MaskImage ziel1,255,255,255
MaskImage ziel2,255,255,255
MidHandle explosion
MaskImage explosion,128,128,128
MidHandle kugel
schuss = 1
;Hauptschleife
Repeat
Cls
X = MouseX()
Y = MouseY()
DrawImage hinter,0,0
DrawImage speilmenu,0,450
DrawImage MBildk,60,495
DrawImage Beenden,755,555
DrawImage ziel1, 100,100
DrawImage pointer,X,Y
If schuss = 1 Then
DrawImage ziel2,200,100
If ImagesCollide(pointer,X,Y,0,ziel2,200,100,0) And MouseDown(1) Then
Cls
schuss = 2
FlushMouse
Punkte = Punkte+100
EndIf
EndIf
;Kanonen (RichtunG)
If X > 257 And X < 523 Then DrawImage Kanone,380,380
If X > 523 Then DrawImage Kanoner,380,380
If X < 257 Then DrawImage Kanonel,380,380
 DrawImage pointer,X,Y
;Menu
;Menu Colliosion
If ImagesCollide(pointer,X,Y,0,Beenden,755,555,0) Then
DrawImage beendeng,755,555
DrawImage pointer,X,Y
EndIf
If ImagesCollide(pointer,X,Y,0,Beenden,755,555,0) And MouseDown(1) Then
End
EndIf 
Color 127,0,0
Text 200,480,"Punkte: " + Punkte
explo = 0
[color=red]If MouseDown(1) And explo = 0 Then
 explo = 1
 For I=0 To 14
  DrawImage Kugel,X,Y
  DrawImage explosion, X, Y, I
  Flip
  Delay 5
 Next
EndIf 
Flip
Until KeyDown(1)[/color]


Möchte ich gerne das die Kugel auf das ziel hinflickt auf das man geklickt hat und dann wenn die Kugel aufachlägt soll es erst die explosion geben. Weiß jemand wie ich das machen kann ???
Ich weiß nicht wie ich es machen sollte.

Christoph

BeitragFr, Mai 19, 2006 16:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du die Situation etwas genauer erläuterst kann dir besser geholfen werden. Smile
Wenn ich auf eine Seite komm bei der ein 3Seiten langer Quellcode aufgelistet ist,
dann ist es besser noch ein paar Erläuterungen dazu zu machen, damit man nicht
einfach davorsteht. Wink Wenn da dann auch noch so was wie "Was ist da falsch?" steht,
dann vekommt dieser Thread vermutlich nie eine Antwort. Wink
Erklär das noch einmal, dann wird dir besser geholfen. Very Happy

Firstdeathmaker

BeitragFr, Mai 19, 2006 19:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Generell, wenn du etwas auf ein Ziel zufliegen lassen möchtest, solltest du dir Atan2 anschauen. Dazu vielleicht für die Kugeln Types verwenden, bei denen du die Zielkoordinaten abspeicherst (tx und ty hier im Beispiel)

Code: [AUSKLAPPEN]
Global GFX_X = 400
Global GFX_Y = 300

Graphics GFX_X,GFX_Y,32,2
SetBuffer BackBuffer()

Type kugel
Field x#,y#,speed#,direction#
Field tx,ty
End Type


Function kugel_update()
For k.kugel = Each kugel
   k\direction = ATan2(k\tx-k\x,k\y-k\ty)
   k\x = k\x + Sin(k\direction) * k\speed
   k\y = k\y -Cos(k\direction) * k\speed
   Oval k\x-5,k\y-5,10,10,1
Next
End Function


Function kugel_create()
   k.kugel = New kugel
   k\x = GFX_X/2
   k\y = GFX_Y
   k\tx = MouseX()
   k\ty = MouseY()
   k\speed = 0.5
End Function




Repeat
Cls

If MouseHit(1) kugel_create()
   kugel_update()
Flip
Until KeyHit(1)
End
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group