Bälle zufällig bewegen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

mas93

Betreff: Bälle zufällig bewegen

BeitragMo, Jul 10, 2006 17:15
Antworten mit Zitat
Benutzer-Profile anzeigen
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???

Schnittlauch

Unkraut

BeitragMo, Jul 10, 2006 17:25
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, Jul 10, 2006 17:39
Antworten mit Zitat
Benutzer-Profile anzeigen
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
Twitter

mas93

BeitragDi, Jul 11, 2006 16:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke.Aber was muss ich jetzt machen dass der ball auch angezeigt wird??

Pdd

BeitragDi, Jul 11, 2006 16:52
Antworten mit Zitat
Benutzer-Profile anzeigen
ql:DrawImage
sollte dir helfen Very Happy

//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 Very Happy

mas93

BeitragDi, Jul 11, 2006 18:11
Antworten mit Zitat
Benutzer-Profile anzeigen
also muss ich nur das bild laden(Loadimage) und dann wird es angezeigt?

garret

BeitragDi, Jul 11, 2006 23:28
Antworten mit Zitat
Benutzer-Profile anzeigen
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. Surprised


MfG garret
>>nec aspera terrent<< (Auch Widerwärtigkeiten schrecken nicht)

Christoph

BeitragMi, Jul 12, 2006 15:02
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Jul 12, 2006 17:16
Antworten mit Zitat
Benutzer-Profile anzeigen
das versteh ich schon nur wenn ich das bild dann mit Drawimage,x,y
zeichnen lasse bewegt es sich danach nichtmehr!

Spikespine

BeitragMi, Jul 12, 2006 17:46
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Jul 12, 2006 17:47
Antworten mit Zitat
Benutzer-Profile anzeigen
und wie geht dass??
sry bin ebe noch n noob

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragMi, Jul 12, 2006 18:05
Antworten mit Zitat
Benutzer-Profile anzeigen
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+]

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group