Kugel im Laufband rollen lassen
Übersicht

jackie05Betreff: Kugel im Laufband rollen lassen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hi,
ich wollte ein Spiel proggen, ähnlich wie Zuma: ![]() 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: ![]() ich weiss jetzt nicht ob es in Blitz Basic möglich ist ![]() 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 ![]() MFG Christian |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group