Sanfte Richtungskorrektur (Mittagspausen-Spielerei)

Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Neue Antwort erstellen

Smily

Betreff: Sanfte Richtungskorrektur (Mittagspausen-Spielerei)

BeitragFr, Jul 18, 2008 13:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Hoi,
In dem Code geht es um eine sanfte Rchtungskorrektur (Irgendetwas wird in eine bestimmte Richtung abgeschossen und richtet sich langsam auf ein Ziel aus)

Als ich es hinbekommen habe, habe ich noch ein paar Dinge rundrum gemacht, damit man es in einem halbwegs ansehlichem Beispiel hat

Ist aber nur eine kleine Code-Spielerei in einer Mittagspause, codingzeit so ziemlich genau eine Stunde

Steuerung:
Maustaste: "Turm" verschieben
Leertaste: Partikel schiessen (in eine Zufällige Richtung)
Alt: Partikel-Ring schiessen
C: Alles löschen

Vlt kann ja jemand was damit anfangen


Code: [AUSKLAPPEN]

Type TSpark
   Global list:TList =CreateList()
   Field Link:TLink

   Field x#
   Field y#
   Field moveX#
   Field moveY#
   Field r
   Field g
   Field b
   Method New()
      Link = List.AddLast(Self)
      ri = Rand(360)
      moveX = Cos(ri) * 10
      moveY = -Sin(ri) * 10
   End Method

   Method setRi(ri:Int)
      moveX = Cos(ri) * 10
      moveY = -Sin(ri) * 10
   End Method

   Method stepTo(tox:Int, toy:Int)
      rishall = ATan2(y-toy,tox-x)
      movexshall# = Cos(rishall) * 10
      moveyshall# = -Sin(rishall) * 10
      moveX = moveX + (movexshall-movex)/20
      moveY = moveY + (moveyshall-movey)/20
      X = X + moveX
      Y = Y + moveY
   EndMethod
End Type

Graphics 800,600
SetBlend Lightblend
MoveMouse 200,200
shooterX# = 100
shooterY# = 100
bulletX# = 0
bullety# = 0
movex# = 0
moveY# = 0
Repeat
   If KeyHit(164)
      r = Rand(255)
      g = Rand(255)
      b = Rand(255)
      For x = 1 To 360 Step 10
         spark:TSpark = New TSpark
         spark.setRi(x)
         spark.x# = shooterx
         spark.y# = shootery
         spark.r = r
         spark.g = g
         spark.b = b
      Next
   End If

   If KeyHit(32)
         spark:TSpark = New TSpark
         spark.x# = shooterx
         spark.y# = shootery
         spark.r = Rand(255)
         spark.g = Rand(255)
         spark.b = Rand(255)
   End If

   If KeyHit(67)
      ClearList(TSpark.list)
   End If

   If MouseDown(1)
      shooterx = MouseX()
      shootery = MouseY()
   End If

   Cls
   SetColor 255,255,255
   DrawOval shooterX-5, shooterY-5, 10, 10
   For spark:Tspark = EachIn spark.list
      SetColor spark.r, spark.g, spark.b
      DrawOval spark.x-5, spark.y-5, 10, 10
      spark.stepTo(MouseX(), MouseY())
   Next
   Flip
Until KeyHit(27)
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

Nova

BeitragSo, Sep 21, 2008 15:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Gibts das ganze auch für Blitzbasic?
AMD Athlon II 4x3,1GHz, 8GB Ram DDR3, ATI Radeon HD 6870, Win 7 64bit

Goodjee

BeitragSo, Sep 21, 2008 17:23
Antworten mit Zitat
Benutzer-Profile anzeigen
konvertiers dir doch einfach
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

Nova

BeitragSo, Okt 05, 2008 17:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Und wie wenn ich Null Ahnung von BlitzMax habe? Wink
AMD Athlon II 4x3,1GHz, 8GB Ram DDR3, ATI Radeon HD 6870, Win 7 64bit

The_Nici

BeitragSo, Okt 05, 2008 17:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Entschuldigung, ich habe auch keine Ahnung von BlitzMax aber versteh den Code trotzdem ansatzweise. Oo
Wenn du davon überhaupt nichts verstehst, hast du wohl anscheinend auch keine Ahnung von BlitzBasic.

Nova

BeitragSo, Okt 05, 2008 17:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Doch, habe ich. (Zwar nicht viel, aber genug)
Was zum Beispiel method bedeutet weiß ich überhaupt nicht.

Glaubt mir einfach das ich den nicht verstehe.
AMD Athlon II 4x3,1GHz, 8GB Ram DDR3, ATI Radeon HD 6870, Win 7 64bit

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group