Kugel im Laufband rollen lassen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

jackie05

Betreff: Kugel im Laufband rollen lassen

BeitragMi, Nov 23, 2005 1:21
Antworten mit Zitat
Benutzer-Profile anzeigen
hi,
ich wollte ein Spiel proggen, ähnlich wie Zuma:

user posted image

nur weiss ich nicht wie ich die kugeln im laufband rollen lassen kann, wenn eine kurve kommt, das die kugel auch im laufband bleibt, hier mal ein bild das ich gezeichnet habe:

user posted image

ich weiss jetzt nicht ob es in Blitz Basic möglich ist Smile

wenn es gehen sollte, könnt ihr mir dann vieleicht zeigen wie man das macht, ich wäre euch sehr dankbar dafür, danke schonmal Smile

MFG Christian

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, Nov 23, 2005 2:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Mir fallen da zwei Möglichkeiten ein...

1.) Du speicherst alle Positionen in eine Bank oder Type oder Array mit den X und Y -Werten, die dann nacheinander durchgegangen werden müssen. Problem: Wenn der Rechner aus irgendwelchen Gründen die Berechnungen nicht mehr schaffen sollte, dann wird das Spiel 'langsamer' dargestellt.

2.) Du programmierst dir eine kleine Funktion die die Bewegungsabläufe berechnet. Gerade kann man beispielsweise mit Start und Endpunkt angeben. Kurven beispielsweise mit X/Y-Zentrum, Radius, Start und Endwinkel mit Richtungsangabe. Immer wenn eine Kugel bewegt werden soll, wird die augenblickliche Position an die Funktion geschickt und die Position neu berechnet (anhand der vektorisierten Bewegungslinien). Die Geschwindigkeit der Bewegung sollte dabei von der Rechnergeschwindigkeit abhängig gemacht werden (Stichwort: Millisecs()).

Zum programmieren eines Beispieles habe ich zZ keine Zeit (Arbeit ruft!). Probier mal selber ein Beispiel mit einer Geraden. Ist echt nicht so schwer.

Hier ein kleiner Denkanstos...

Code: [AUSKLAPPEN]
Graphics 400,400,0,2
SetBuffer BackBuffer()

HidePointer

 x1#=100
 y1#=100
 x2#=300
 y2#=300
 wk#=0




While Not KeyHit(1)

 mx=MouseX()
 my=MouseY()

 If MouseDown(1) Then x1=mx:y1=my
 If MouseDown(2) Then x2=mx:y2=my

 Color 0,0,255
 Rect mx-4,my-4,9,9,0

 Color 255,0,0
 For q=0 To 10
  Plot x1+q*((mx-x1)/10),y1+q*((my-y1)/10)
 Next

 Color 0,255,0
 wk=ATan2(my-y2,mx-x2)
 For q=0 To 10
  Plot x2+Cos(wk)*q*10,y2+Sin(wk)*q*10
 Next

 Flip
 Cls
Wend
End

Der Grüne ist der den du brauchst. Hatte jetzt echt keine Lust mehr den noch automatisch bis zur Maus zu fahren. Jetzt macht dieser immer stur 11 Schritte. Sorry.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group