Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Strichmännchen / Delphi (https://www.delphipraxis.net/129076-strichmaennchen-delphi.html)

joanne 12. Feb 2009 07:39


Strichmännchen / Delphi
 
Hi Leute!
Ich sitze grad an einer Programmierung für ein sich bewegendes Strichmännchen in Delphi............hab aber leider das Problem, dass ich keine Ahnung hab wie ich die einzelnen Kreise und Striche zu einem Männchen bekomme, dass sich bewegt!
Bitte helft mir, das wär super nett!!!!!!!!! :dancer:

Sven M. 12. Feb 2009 07:44

Re: Strichmännchen / Delphi
 
Dazu wäre es zunächst einmal gut zu wissen, was du bisher schon erreicht hast und wo konkret dein Problem liegt?!

hugo1990 12. Feb 2009 20:34

Re: Strichmännchen / Delphi
 
Also falls du schon Ahnung hast, wie du mittels Canvas Striche und Kreise zeichnest, dann nimm dir doch einfach mal ein Blatt Papier (am besten karriert) und zeichne dir auf was passieren soll, dann dürfte dein Vorhaben eigentlich nicht mehr allzu schwer sein.

_frank_ 12. Feb 2009 20:43

Re: Strichmännchen / Delphi
 
erstmal Herzlich Willkommen im Forum :hi:

male am besten erstmal ein Männchen, welches sich nicht bewegt :)

die Bewegung an sich muss dann besonders behandelt werden (Timer, Striche löschen bzw. Speicher-Bitmap).

Gruß Frank

joanne 25. Feb 2009 18:12

Re: Strichmännchen / Delphi
 
Hi Leute!
Ich bedanke mich schon mal für eure Reaktionen auf meine Anfrage!!!!!!!!!!!
Das Strichmännchen hab ich nun schon gezeichnet und der Kopf sitzt nun auch auf dem Hals :lol:
Das Problem ist nun die Bewegung des Männchens, also das es einen Hampellmann macht oder etwas ähnliches. Unser Projektleiter verweigert seine Hilfe zu diesem Thema und mein Verständnis ist nicht gerade das beste um so etwas in Delphi zu programmieren (leider). :glaskugel: :gruebel:
Ich würde mich freuen, wenn vieleicht mir irgendwer die Procedur zur Bewegung des Männchens schicken könnte............ich bin sonst aufgeschmissen!
Liebe Grüße

defede 25. Feb 2009 18:43

Re: Strichmännchen / Delphi
 
Hi joanne,
ich denke du wirst nicht drum rum kommen dich intensiver mit Delphi zu befassen.
Ein einfaches Männchen malen ist das eine, Animieren das andere.
Ich gebe dir den Tip einen Typ (eine Record reicht wohl fürs erste) mit den Koordinaten des Männchen zu erschaffen und dann nur
Schlüsselwerte zu verändern. Den Rest musst du Nachberechnen. Und ach ja
eine Methode die deinen Typ auf ein Canvas bringt ist natürlich noch erforderlich.
Aber hier in der DP gibt es zu solchen verwandten Themen reichlich Tips und HowTo's.
Sorry das ich dir nicht den Code dafür bringen kann aber es ist wirklich besser für
dich selber herauszubekommen wie man sowas angeht. Dann hast du in Zukunft auch weniger Probleme
und Hilfe nötig wenn ein ähnliches Problem ansteht. :dp:

Cyf 25. Feb 2009 18:57

Re: Strichmännchen / Delphi
 
Leg fest wo die "Gelenke" deines Männchens sind, also wo es sich bewegen kann, speicher die momentane Position dieser Gelenke (X-/Y-Koordinaten) und bastel dir eine eine Prozedur, die die Gelenke anhand der gespeicherten Werte verbindet.

Sir Rufo 25. Feb 2009 20:31

Re: Strichmännchen / Delphi
 
Zitat:

Zitat von joanne
Unser Projektleiter verweigert seine Hilfe zu diesem Thema

... diese Bezeichnung für einen Lehrkörper kannte ich auch noch nicht ...

... und bevor du denkst, dass wir hier rumzicken :mrgreen: wie die Jungfrau vor dem ersten Male ...
... wir machen hier nicht deine Hausaufgaben/Projektarbeiten, hier gibt es nur Hilfe zur Selbsthilfe ...

... die gibt es dafür aber auch reichlich ...
... wenn du eine konkrete Frage hast ...
... die du nicht über eine einfache Suchanfrage hättest selber beantworten könntest ...

:dp:

Custom 25. Feb 2009 21:39

Re: Strichmännchen / Delphi
 
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

Cyf 25. Feb 2009 21:49

Re: Strichmännchen / Delphi
 
Zitat:

Zitat von Custom
Delphi-Quellcode:
const
  ArmLinks  = 1;
  ArmRechts = 2;
  BeinLinks = 3;
  BeinRechts = 4;
  Koerper   = 5;

Das schreit eigentlich nach einer Enumeration. :wink:

Delphi-Quellcode:
TKoerperteil = (ArmLinks, ArmRechts, BeinLinks, BeinRechts, Koerper);


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:30 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz