2D Bones

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

faeX

Betreff: 2D Bones

BeitragDi, Dez 30, 2008 16:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

ich hätte mal eine Frage:
ich möchte ein Bone-System in 2D entwickeln. Man hat also die Winkel und länge der einzelnen Gliedmaßen und kann dann mittels Cos und Sin die ganzen Koordinaten berechnen. Wie bekomme ich nun aber die Struktur mit Types hin?

Freue mich auf antworten Very Happy

The_Nici

BeitragDi, Dez 30, 2008 16:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würde Punkte und Verbindungen nehmen, wobei die Verbindungen 2 Felder haben für die Handles der Punkte.

MfG

faeX

BeitragDi, Dez 30, 2008 16:29
Antworten mit Zitat
Benutzer-Profile anzeigen
könntest du mir vielleicht mal ein codebeispiel dafür geben?

Der Eisvogel

BeitragDi, Dez 30, 2008 16:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würde sagen er meint dies so:
Code: [AUSKLAPPEN]
Type punkt
Field x,y
End Type

Type bones
Field p1,p2
End Type


Das heißt du musst 2 Punkte erstellen und dann deren Variablen (Handle) in dem Type bones abspeichern.

EDIT: Also so wie in 3D bei den Surfaces. 3 Punkte machen --> Zu einem Dreieck verbinden, bloß hier machste nur 2 Punkte und machst einen Knochen (Bone)
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

The_Nici

BeitragDi, Dez 30, 2008 16:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Const deppenleuchte$ = "F5-Depp. Verstehe den Code! >:o"
Type Tpoint
   Field x%
   Field y%
End Type

Type Tconn
   Field pointh1%   ;Handle des ersten Punktes
   Field pointh2%   ;Handle des zweiten Punktes
End Type

point1.Tpoint = New Tpoint   ;Erster Punkt
point2.Tpoint = New Tpoint   ;Zweiter Punkt
point2\x = 100
point2\y = 100
CreateConnection(Handle(point1), Handle(point2))   ;Handles der Punkte als Parameter
DrawConnections()
WaitKey()

Function CreateConnection(ph1%, ph2%)
   conn.Tconn = New Tconn
   conn\pointh1% = ph1%
   conn\pointh2% = ph2%
End Function

Function DrawConnections()
   For conn.Tconn = Each Tconn   ;Alle Connections durchgehen
      p1.Tpoint = Object.Tpoint(conn\pointh1%)   ;Nimmt wieder das Objekt aus dem Handle
      p2.Tpoint = Object.Tpoint(conn\pointh2%)   ;Nimmt wieder das Objekt aus dem Handle
      Line p1\x,p1\y,p2\x,p2\y:RuntimeError(deppenleuchte$)   ;Linie zeichnen
   Next
End Function

Um einiges schöner als Eisvogels code.
MfG
  • Zuletzt bearbeitet von The_Nici am Di, Dez 30, 2008 16:47, insgesamt einmal bearbeitet

Der Eisvogel

BeitragDi, Dez 30, 2008 16:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Schöner vielleicht, aber jetzt hast du im ein bisschen Arbeit abgenommen, ich glaub die Funktion um die Punkte zu verbinden hätte er auch selber hinbekommen Wink
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

The_Nici

BeitragDi, Dez 30, 2008 16:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Funktion Handle und die Funktion Object sind nichts selbstverständliches, Eisvogel.

MfG

Xeres

Moderator

BeitragDi, Dez 30, 2008 16:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Nici, warum Handle und Objekt verwenden? Man kann auch die Instanz an die Funktion übergeben.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Der Eisvogel

BeitragDi, Dez 30, 2008 16:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh, ja die hätte ich noch erwähnen sollen. Embarassed
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

The_Nici

BeitragDi, Dez 30, 2008 16:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Misverständnis, bitte löschen. Surprised
  • Zuletzt bearbeitet von The_Nici am Di, Dez 30, 2008 17:00, insgesamt einmal bearbeitet

faeX

BeitragDi, Dez 30, 2008 16:52
Antworten mit Zitat
Benutzer-Profile anzeigen
ein tolles forum muss ich sagen, man startet einen gedanken und an allen ecken und kanten wird er durchdacht, in weniger als einer halben stunde.

an alle antworten: mein kompliment Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group