2D Ragdolls

Übersicht BlitzBasic Allgemein

Gehe zu Seite Zurück  1, 2, 3  Weiter

Neue Antwort erstellen

 

Klaas

BeitragMo, Jan 17, 2005 20:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:

Jaja, das ist ja alles schön und gut, aber nicht unbedingt realistisch, da die Rotation völlig unbeachtet bleibt (Körper dreht sich nicht)


... deshalb schrieb ich ...

Zitat:
Ist nichts komplettes aber evtl ein Ansatz


bissel Arbeit muß man schon investieren!

Plasma(alt)

Betreff: Nette sache !

BeitragMo, Jan 17, 2005 21:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Weitermachen !!! Laughing
DIV is dead !

rambo256

BeitragMo, Jan 17, 2005 23:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Smile Hab heute nichts geschafft,da ich noch für den Contest proggen muss!!

Danach oder in den Pausen werde ich dann wohl noch Zeit dazu finden Wink

Aber Jendan ist ja auch noch da Very Happy
Asus F53z

Das Leben ist eine reine Konkatenation...
 

Klaas

BeitragDi, Jan 18, 2005 0:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Na dann greif ich dir nochmal schnell unter die Arme Very Happy

Hier das was ich mit dem apprallen meine. Stell dir die Vektoren als Bewegungsvektoren vor.

Code: [AUSKLAPPEN]

Graphics 800,600,32,2
SetBuffer(BackBuffer())

Global int_x#,int_y#
Global mx1# = 400
Global my1# = 300

Type colli
   Field x1#,y1#
   Field x2#,y2#
End Type

createLine(0,300,300,450)
createLine(300,450,600,400)
createLine(600,400,800,300)

timer = CreateTimer(25)
While Not KeyHit(1)
   WaitTimer(timer)
   Cls
   
   mx2# = MouseX()
   my2# = MouseY()
   
   Color(255,255,255)
   Line(mx1,my1,mx2,my2)

   For l.colli = Each colli
      Color(255,255,255)
      
      Line(l\x1,l\y1,l\x2,l\y2)
      ;--
            
      If LinesCross(l\x1#,l\y1#, l\x2#,l\y2#, 400,300, MouseX(),MouseY())
         
         ;delta Kollisionslinie errechnen
         dx# = l\x1 - l\x2
         dy# = l\y1 - l\y2
         
         ;die Magnitude(Vektorlänge)
         mag# = Sqr(dx^2 + dy^2)
         
         ;Vektor Normale (aufrecht auf der Colli-linie)
         nx# = dy / mag
         ny# = -dx / mag
         
         ; zeichnen der Normale
         Color(20,255,20)
         Line(int_x,int_y,int_x+nx*30,int_y+ny*30)
         ;--
         ;nun das ganze für den eintritts-vektor
         mdx# = int_x - mx1
         mdy# = int_y - my1
         
         mmag# = Sqr(mdx^2 + mdy^2)
         
         mnx# = mdx / mmag
         mny# = mdy / mmag
         
         ;--
         ;das Punktprodukt von eintritts-vektor und Liniennormale
         vdotN# = mdx * nx + mdy * ny
         
         ; hier wird die Reflektion errechnet
         NFx# = -2.0 * Nx# * VdotN#
         NFy# = -2.0 * Ny# * VdotN#
         Vx# = mdx# + NFx#
         Vy# = mdy# + NFy#
   
         ;neuen Vektor zeichnen
         Color(20,20,255)
         Line(int_x,int_y,int_x+vx,int_y+vy)
         
         ;hier nochmal den Kollisionspunkt zeichnen
         Color(255,20,20)
         Line(l\x1,l\y1,l\x2,l\y2)
         Oval(int_x-2,int_y-2,5,5)
      End If
   Next
      
   Flip()
Wend
End

Function createLine(x1#,y1#,x2#,y2)
   l.colli = New colli
   l\x1 = x1
   l\y1 = y1
   l\x2 = x2
   l\y2 = y2
End Function

Function LinesCross(x0#,y0#, x1#,y1#, x2#,y2#, x3#,y3# )   
   n# = (y0#-y2#)*(x3#-x2#) - (x0#-x2#)*(y3#-y2#)
   d# = (x1#-x0#)*(y3#-y2#) - (y1#-y0#)*(x3#-x2#)
   
   If Abs(d#) < 0.0001
      ; Lines are parallel!
      Return False
   Else
      ; Lines might cross!
      Sn# = (y0#-y2#)*(x1#-x0#) - (x0#-x2#)*(y1#-y0#)

      AB# = n# / d#
      If AB#>0.0 And AB#<1.0
         CD# = Sn# / d#
         If CD#>0.0 And CD#<1.0
            ; Intersection Point
            int_X# = x0# + AB#*(x1#-x0#)
            int_Y# = y0# + AB#*(y1#-y0#)
            Return True
         End If
      End If
   
      ; Lines didn't cross, because the intersection was beyond the end points of the lines
   EndIf

   ; Lines do not cross!
   Return False

End Function
 

Gast

BeitragDi, Jan 18, 2005 13:48
Antworten mit Zitat
Welcher ****ser hat das hier zu den Beginnerfragen verschoben?

Das hatte ich schon mal, und das war auch keine Beginner-Frage, ich frag mich echt was das soll...
 

Klaas

BeitragDi, Jan 18, 2005 15:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Schon komisch, versteh ich auch nicht. Ist zwar keine Atomphysik hier ... aber Beginner ?

Hab auch schon das Forum nach dem Thread dursuchen müssen.

rambo256

BeitragDi, Jan 18, 2005 15:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Find ich auch,das das nicht hierhin gehört. Die Hälfte des Forums wusste bestimmt noch nicht mal was Ragdoll ist,bevor sie das gelesen haben.


@Klaas: Jo danke,wenn ich Zeit finde dann wende ich das mal an.
Asus F53z

Das Leben ist eine reine Konkatenation...
 

ThorbenSchröder

Ehemaliger Admin

BeitragDi, Jan 18, 2005 20:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Nicht ausfallend werden Jungs!

Ich schiebs mal 2D Graphics, ich hoffe da kams her.

Trotzdem müsst ihr hier nicht wild rumschreien nur weil mal ein Thread nicht ganz so sinnig verschoben wird. Die Mods leisten doch zu 95% echt solide Arbeit.

Thorben

DivineDominion

BeitragDi, Jan 18, 2005 21:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Sache mit der Echtzeitrotation für Images und vorallem das OGL-Problem ist in BMax leicht zu lösen. Sollte einer von euch das kaufen wollen kann er das damit super Probieren. Klasse Arbeit bisher - die Visualisierung dann ist auch ein Klacks Smile
christian.tietze@gmail.com - https://christiantietze.de
macOS
 

Gast

BeitragDo, Jan 20, 2005 20:03
Antworten mit Zitat
Mal schaun, wenn das mit BlitzMax nichts wird, muss ich wohl mit Allegro weitermachen (trotz Speicherfehler Crying or Very sad )

Ich versuch übrigends gerade, Seile oder ähnliches zu implementieren, die man dann auch an das Männchen hängen kann, klappt schon ganz gut, ist aber noch nicht "massentauglich"

rambo256

BeitragSo, Jan 23, 2005 16:13
Antworten mit Zitat
Benutzer-Profile anzeigen
DivineDominion hat Folgendes geschrieben:
Die Sache mit der Echtzeitrotation für Images und vorallem das OGL-Problem ist in BMax leicht zu lösen.


Was heißt OGL ?
Asus F53z

Das Leben ist eine reine Konkatenation...
 

Klaas

BeitragSo, Jan 23, 2005 17:24
Antworten mit Zitat
Benutzer-Profile anzeigen
OGL = OpenGL = Open Graphics Libary

rambo256

BeitragSo, Jan 23, 2005 17:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Dacht ich mir ja auch,aber wieso sollte das ein Problem in Blitz3D sein?
Asus F53z

Das Leben ist eine reine Konkatenation...
 

Klaas

BeitragSo, Jan 23, 2005 17:47
Antworten mit Zitat
Benutzer-Profile anzeigen
auf der ersten Seite des Threads sagte jenDan:
Zitat:

Da gibts bei gamedev.net unter articles echt geile beispiele, das problem ist nur, das die OpenGL benutzen.
Werde aber mal versuchen, ob ich das nicht nach BlitzBasic portieren kann...

rambo256

BeitragSo, Jan 23, 2005 17:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Aha! *JenDan ganz scharf anguck*
er weiß schon warum Twisted Evil

Thx!
Asus F53z

Das Leben ist eine reine Konkatenation...
 

Gast

BeitragDi, Jan 25, 2005 19:45
Antworten mit Zitat
Allerdings weiß ich das Embarassed

Naja egal, ich setze gerade das von gamedev.net in Blitz2D um, ist aber echt schwierig, weil Blitz2D so beschränkt ist (aber dafür einfach)
 

ke^kx

BeitragDi, Jan 25, 2005 21:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Wow, nicht schlecht, was man mit Blitz alles machen kann^^ Weiter so.

Jiriki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM

Kabelbinder

Sieger des WM-Contest 2006

BeitragMo, Feb 07, 2005 18:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist bei dem Spiel "N" doch genauso, oder.

Ich wollte auf diese Art und Weise auf mal ein realistisches Spinnennetz machen, aber ich wusste nicht, wie ich das mit den Dreifach- und Vierfachknoten machen sollte Smile .
<Wing Avenger Download> ◊◊◊ <Macrophage Download>
 

feider

ehemals "Decelion"

BeitragMo, Feb 07, 2005 23:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmmm, Rambo, das gibt aber lustige Effekte:
user posted image

rambo256

BeitragMo, Feb 07, 2005 23:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Jo,das ist mir schon bekannt Wink

Das problem ist,das diese lines variable Größen haben.Das muss man ändern.
tut mir leid,aber @the moment entwickle ich was anderes,sonst würde ich da weiter machen. Ich denke aber,das ich das nach ner Zeit mal wieder aufgreifen kann Wink
Asus F53z

Das Leben ist eine reine Konkatenation...

Gehe zu Seite Zurück  1, 2, 3  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group