AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Strichmännchen / Delphi
Thema durchsuchen
Ansicht
Themen-Optionen

Strichmännchen / Delphi

Ein Thema von joanne · begonnen am 12. Feb 2009 · letzter Beitrag vom 26. Feb 2009
 
Custom

Registriert seit: 18. Aug 2007
Ort: Mainz
203 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Strichmännchen / Delphi

  Alt 25. Feb 2009, 21:39
Hallo und willkommen joanne.
Also direkt zum Problem - da die Anatomie eines Strichmännchens ja stark der eines Menschen entspricht (ach ^^), kannst du es ja so angehen: (ich gehe einfach mal ganz unverschämt davon aus, dass du Arrays beherrschst.) Du überlegst dir als erstes mal: Was hat denn so ein Mensch? Kopf,Arme,Beine,Körper,Hände,Füße,Nase... So weit so gut - dann überlegst du was davon dein Strichmännchen benötigt; Arme,Beine,Körper und Kopf. Was sich hier ganz gut trifft ist ja, dass sich arme und beine ziemlich Ähnlich sind. Sie haben beide jeweils Schulter-/Hüft- , Ellenbogen/Knie- und Hand-/Fußgelenk. Das heißt wir haben schon mal vier gleiche.. Dinger . Jetzt überlegst du dir, wie du das ganze abspeichern kannst - und hier kommt das Array ins spiel! Du benutzt am besten ein Doppeltes Array also sowas wie:
Delphi-Quellcode:
var
  Bone: Array[1..5] of Array[1..3] of Point;
Wobei Bone für einen Arm oder ein Bein steht, das erste Array[1..5] angibt um welche der vier Gliedmaßen es sich handelt, Array[1..3] um welches Gelenk und Point, wo sich dieses Befindet. Wie dir sicher auch aufgefallen ist, sind 5 genau ein "Bone" zu viel - das ist deshalb Beabsichtigt, weil der Körper ja auch noch fehlt.

Du kannst also den einzelnen Gelenken eine Position zuteilen, indem du zum Beispiel Bone[1][3].x usw veränderst. Was du zur Hilfe noch machen kannst, ist vorher einige Konstante byte oder Integer Werte anzulegen:
Delphi-Quellcode:
const
  ArmLinks = 1;
  ArmRechts = 2;
  BeinLinks = 3;
  BeinRechts = 4;
  Koerper = 5;
Dann kannst du auch per Bone[ArmLinks][3].x usw. die Werte verändern, ohne dich in Zahlen zu verirren.
von allen Gliedmaßen (also 1 - 4) solltest du außerdem den ersten Punkt an den Körper Kleben, damit deine Arme und Beine nicht sonst wo herum fliegen also:
Delphi-Quellcode:
Bone[ArmLinks ][1] := Bone[Koerper][2];
Bone[ArmRechts ][1] := Bone[Koerper][2];
Bone[BeinLinks ][1] := Bone[Koerper][3];
Bone[BeinRechts][1] := Bone[Koerper][3];
Um deine Figur zu zeichnen, ziehst du einfach immer Linien von Bone[?][1] bis Bone[?][3] und machst bei Bone[Koerper][1] einen Kreis, der deinen Kopf darstellt.
So kannst du Deine Figur immerhin mit Manuell eingegebenen Gelenk-Position-Variablen Darstellen und wenn du das ganze noch ausführst nach bedarf auch animieren etc.

Ich hoffe das bringt dir wenigstens ein wenig anregung.

mfg. Andre
absoft website

Aktuelles Projekt:
2.6D (Spiel)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz