Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

11

26.09.2007, 18:43

Zitat von »"Metatron"«

also ein 3d model machen
die einzelenen schritte abfotografieren
und spiegeln

:D ok


Wenn Du schon ein 3D Model hast brauchst Du nicht groß spiegeln. Du kannst das Model ja ohnehin von allen Seiten fotografieren.

Zitat von »"Metatron"«


wie schwer ist es denn das 3d model direkt zu benutzen


Etwas komplizierter ist es schon. Kommt halt auf dein Hintergrundwissen an.
@D13_Dreinig

12

27.09.2007, 22:01

so

hab das jetzt so gelöst

für jedes objekt eine eigene instanz der klasse
jede instanz holt sich das gesamte walkcycle, von der figur, objekt das sie darstellt und schneidet sich immer das bild aus das es braucht.
ich hoffe nur das ist schnellgenug :roll:
kann man seinen quellcode irgendwie testen?
bei wievielen objekten er schlap macht?


als nächstes kommt ne kolisionskontrolle
das wollte ich lösen indem ich einfache geometrische objekte auf kolision überprüfe, kreis rechteck...

also ich sage der instanz ob sie ein kreis ist und den radius...

was haltet ihr davon

danke

meta

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

13

27.09.2007, 22:11

Zitat von »"Metatron"«

so

hab das jetzt so gelöst

für jedes objekt eine eigene instanz der klasse
jede instanz holt sich das gesamte walkcycle, von der figur, objekt das sie darstellt und schneidet sich immer das bild aus das es braucht.


mach einen walkcycle manager, wenn sich jedes objekt ein eigenes set läd ist das speicherverschwendung (allerdings auch nicht so tragisch, als das man das nicht des geringeren aufwands wegen vertreten könnte)

Zitat


ich hoffe nur das ist schnellgenug :roll:
kann man seinen quellcode irgendwie testen?
bei wievielen objekten er schlap macht?

Also wenn die Bilder schon vorgeladen sind und nicht für jeden Frame neu aus den Dateien geholt werden müssen sollte es locker reichen. Klar kannste das testen, mach einen Codeabschnitt der alle soundsoviel millisekunden ein neues objekt erzeugt. ich hab das so gemacht zum testen der leistung der physik, geht ab, wenn pro sekunde 50 kisten am himmel entstehen^^

Zitat


als nächstes kommt ne kolisionskontrolle
das wollte ich lösen indem ich einfache geometrische objekte auf kolision überprüfe, kreis rechteck...

also ich sage der instanz ob sie ein kreis ist und den radius...

ja, schneller gehts wahrscheinlich nicht, dann einfach 3 funktionen:
bool kollision kreis kreis
bool kollision kreis rechteck
bool kollision rechteck rechteck

14

28.09.2007, 10:12

ich hoffe es stört hier niemanden das euch ausfrage

Zitat


Metatron hat Folgendes geschrieben:
so

hab das jetzt so gelöst

für jedes objekt eine eigene instanz der klasse
jede instanz holt sich das gesamte walkcycle, von der figur, objekt das sie darstellt und schneidet sich immer das bild aus das es braucht.



mach einen walkcycle manager, wenn sich jedes objekt ein eigenes set läd ist das speicherverschwendung (allerdings auch nicht so tragisch, als das man das nicht des geringeren aufwands wegen vertreten könnte)


was versteht man unter einen walkcyxle manager?
was soll der machen

Zitat


ja, schneller gehts wahrscheinlich nicht, dann einfach 3 funktionen:
bool kollision kreis kreis
bool kollision kreis rechteck
bool kollision rechteck rechteck

jo genau so wollte ich das machen
aber mir fällt gerade auf, das es immer mehr übergabe werte gibt ^^

Konstruktur(bool EinSpieler, int EinPosX, int EinPosY, int EinBilderGroesse, AnsiString EinWelchesObjekt)
einspieler:
true = eigener spieler
false = irgendein anderer spieler, npc...
ist eigendlich nur wichtig um bei true die karte selber zu verschieben so das der spieler immer in der mitte bleibt, oder bei false den spieler über die karte zu verschieben

einposx, einposy sind die startkoordinaten

einbildergroesse gibt an wie groß ein bild aus dem walkcycle ist

einwelchesobjekt ist momentan nur der name des walkcycle


Aktion(int WelcheAnimation, int AnimationEndeBild, int Richtung, int Geschwindigkeit)

die methode aktion, beinhaltet alles was man zu animantion braucht, so braucht man immer nur die methode aufrufen.

welcheanimantion: sagt ihm in welcher zeile des walkcycle die animation ist

animationendebild: sagt ihn wieviele bilder die jewalige animation hat

richtung: in welche richtung sich das objekt bewegt

geschwindigkeit sagt ihm wie schnell sich das objekt bewegt



jetzt muss ich ja quasi noch
die gesamte umgebung übertragen, damit ich eine kolision überhaupt feststellen kann.

und im konstruktor kommt noch
radius + bool kreis
länge und breite + bool rechteck dazu

danke

meta

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

15

28.09.2007, 10:21

mit dem manager meinte ich nur eine klasse, die dir alle bilder bereit stellt, so dass auch wenn du spielerxy 10 mal in dein spiel lädst, alle die selben vorgeladenen bilder vom manager bekommen und sich nicht jedes objekt sein eigenes set läd. du könntest entweder gleich zu levelstart alle bilder die es gibt laden (wenn es nicht allzuviele sind, und du auch meistens so gut wie alle brauchst) oder du baust einen zähler für jeden walkcycle. immer wenn ein objekt dann einen bestimmten walkcycle anfragt wird der zähler um 1 erhöht, wenn er nicht mehr benötigt wird, wird der zähler entsprechend um 1 verringert.
steht nach dem erhöhen der zähler auf 1 muss der walkcycle geladen werden, steht nach dem verringern der zähler auf 0, muss freigegeben werden.

klar, du brauchst evtl mehr parameter, das sollte nur verdeutlichen, welche art von kollisionsabfrage du brauchst.

16

28.09.2007, 12:19

ich stehe grade auch vor einem Problem mit der Kollisionsabfrage, zurzeit ist die noch hartgecodet in den funktionen der Ball klasse *duck und weg*

wie ich eine Kreis Kreis und eine Rechteck Rechteck kollision überprüfe ist mir klar, aber wie überprüfe ich eine Kreis Rechteck kollision? und kann ich irgendwie herausbekommen wo die kollision stattgefunden hat, also an welcher koordinate?

Werbeanzeige