Bälle zufällig bewegen
Übersicht

![]() |
mas93Betreff: Bälle zufällig bewegen |
![]() Antworten mit Zitat ![]() |
---|---|---|
also ich hab ers vor n paar tagen mit Blitz 3d angefangen.
Ich will nun ein spiel machen.Bei dem spiel sollen vom oberen Bildschirm zum unteren Bildschirm bälle fallen die man dann von unten abschießen muss.Wie mache ich dass sich mehrere Bälle zufällig von oben nach unten bewegen??? |
||
![]() |
SchnittlauchUnkraut |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hab es nicht getestet aber so sollte es gehen,
wenn du etwas nicht versteht, frag nach. ^^ Code: [AUSKLAPPEN] grapics 800,600,16,2 setbuffer(backbuffer()) dim ballx[20] dim bally[20] for b = 0 to 20 ballx[b] = rnd(0,800) next while not keyhit(1) cls for b = 0 to 20 bally[b] = bally[b] + 1 if bally[b] > 600 then bally[b] = 0 ballx[b] = rnd(0,800) end if oval ballx[b],bally[b],10,10 next flip wend |
||
Ich wars nicht. |
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
hab mal den Code von Schnittlauch optimiert, damit er auch funktioniert:
Code: [AUSKLAPPEN] Graphics 800,600,16,2 SetBuffer BackBuffer() SeedRnd MilliSecs() ;damit auch wirklich ein zufall stattfindet Local ballx[20] Local bally[20] Local speed[20] For b = 0 To 20 ballx[b] = Rnd(0,800) speed[b] = Rand(2) Next While Not KeyHit(1) Cls For b = 0 To 20 bally[b] = bally[b] + speed[b] If bally[b] > 600 Then bally[b] = 0 ballx[b] = Rnd(0,800) End If Oval ballx[b],bally[b],10,10 Next Flip Wend Mit Types lässt sich sowas jedoch besser realisieren, es scheint zwar am Anfang schwer verständlich zu sein, aber man lernt es ziemlich schnell, schaue dazu in die Onlinehilfe auf www.blitzbase.de , dort findest du auch eine Befehlsübersicht und ein paar tutorials |
||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke.Aber was muss ich jetzt machen dass der ball auch angezeigt wird?? | ||
![]() |
Pdd |
![]() Antworten mit Zitat ![]() |
---|---|---|
ql:DrawImage
sollte dir helfen ![]() //Edit: Hm seh aber grade das der Ball ja schon als Oval angezeigt wird ... //edit 2: hä? warum wird er denn nicht angeezeigt? //edit3: Wenn du Code: [AUSKLAPPEN] For b = 0 To 20 ballx[b] = Rnd(0,800) speed[b] = Rand(2) Next in Code: [AUSKLAPPEN] For b = 0 To 20 ballx[b] = Rnd(0,800) speed[b] = Rand(2) bally[b] = Rnd(0, -400) Next umändertst, ist das Ergebniss sogar noch schöner ![]() |
||
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
also muss ich nur das bild laden(Loadimage) und dann wird es angezeigt? | ||
![]() |
garret |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie der Name bereits sagt, lädt LoadImage das Bild nur. DrawImage und / oder seine Brüder DrawBlock / DrawImageRect / DrawBlockRect zeigen es dann an:
bild = LoadImage(pfad$) DrawImage bild, x, y Und wie immer gilt auch hier: die Onlinehilfe ist dein Freund. Einfach dort mal die Syntax der Befehle verinnerlichen und die Unterschiede zwischen den oben genannten erkennen. ![]() MfG garret |
||
>>nec aspera terrent<< (Auch Widerwärtigkeiten schrecken nicht) |
![]() |
Christoph |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eins versteh ich nicht.
Zitat: ...also ich hab ers vor n paar tagen mit Blitz 3d angefangen...
Zitat: ...Graphics 800,600,16,2...
2D oder 3D |
||
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
das versteh ich schon nur wenn ich das bild dann mit Drawimage,x,y
zeichnen lasse bewegt es sich danach nichtmehr! |
||
![]() |
Spikespine |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das sollte immer in der reihenfolge
bildschirm löschen ballposition aktualisieren ball an die neue stelle zeichnen ablaufen |
||
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax |
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
und wie geht dass??
sry bin ebe noch n noob |
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hier ist das Beispiel, solte verständlich sein!
Code: [AUSKLAPPEN] Graphics 800 ,600,16,2
SetBuffer BackBuffer () ; im Hintergrund malen aktivieren ; das bild laden Ball_Image = LoadImage ("Ball.bmp") ; ;Schleife beginnen wegen Bewegung , das Bild müß ja wie bei einen Zeicentrickfilm versetzt werden Repeat ; ;Bildschirm löschen Cls ; ;Ball malen DrawImage Ball_Image , x , 400 ; ;Ball Position ändern x = x + 1 ;wenn ball ausserhalb des Bildes ist wieder links anfangen If x >= 800 Then x = 0 ;Das neue Bild auf dem Bildschirm anzeigen Flip ;Programm beenden wenn ESC gedrückt wird If KeyHit (1) Then End ;Schleifen ende Forever ; hier wird automatisch bei cls weitergemacht |
||
[BB2D | BB3D | BB+]
|
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group