Sprite3d mit nichtquadratischen Sprites

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
benpicco
Beiträge: 391
Registriert: 01.10.2004 15:32
Wohnort: im Code
Kontaktdaten:

Sprite3d mit nichtquadratischen Sprites

Beitrag von benpicco »

Ich hab ein kleines Problem: Ich hab einige Grafiken erstellt, naja, diese sind aber eher recheckig, nicht quadratisch -> Normales Spriteanzeigen geht, sprite3d ist verzerrt (es wird quadratisch gemacht)....
Ich hab mir schon überlegt das Sprite mit Schwarz auszufüllen, aber dann geht SpriteCollision nichtmehr richtig (und pixelcollision ist zu langsam),
auch hab ich schon zommsprite3d probiert, nichts ist passiert.
Gibt es eine Möglichkeit, das zu lösen, ohne ein neues Sprite zu erstellen?
Johann Wolfgang von Geothe hat geschrieben:Wie dieses oder jenes Wort geschrieben wird, darauf kommt es doch eigentlich nicht an, sondern darauf, daß die Leser verstehen, was man damit sagen wollte.
Benutzeravatar
Ynnus
Beiträge: 855
Registriert: 29.08.2004 01:37
Kontaktdaten:

Beitrag von Ynnus »

Vielleicht kommt deine Grafikkarte einfach nicht so gut mit den Sprites klar. Denn neuere (oder sagen wir, nicht veraltete Karten) können Texturen auch in nicht quadratischen Dimensionen problemlos erstellen und darstellen. ZoomSprite hat auch bei mir bisher nie den Dienst versagt. Ich würde das also auf deine Grafikkarte zurückführen, denn immerhin wird DirectX angesprochen und dann per Hardware umgesetzt.
EDIT: Allerdings, wenn ich mir dein Profil so ansehe, sollte eine Geforce 6200 eigentlich locker mit nicht-zweierpotenzierten Größen klarkommen. :?
Benutzeravatar
dige
Beiträge: 1236
Registriert: 08.09.2004 08:53

Beitrag von dige »

Wenn Dein Progi auch auf anderen Rechnern problemlos laufen soll musst
Du unbedingt bei dem Standard-Spriteformat bleiben.

Selbst wenn ZoomSprite funktioniert, kann es trotzdem zu unschönen Grafik-
fehlern kommen.
"Papa, ich laufe schneller - dann ist es nicht so weit."
Benutzeravatar
SDX
Beiträge: 95
Registriert: 14.01.2005 18:37
Wohnort: Bremen
Kontaktdaten:

Beitrag von SDX »

@benpicco: Setz die Sprites doch einfach aus mehreren kleinen Quadraten zusammen. Du kannst dann nur nicht mehr die Sprites einfach per RotateSprite3D() drehen.

Bild

So in etwa.
.oO SDX Oo.
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

jop, so würde ichs auch machen.
nur das berrechnen der xy koordinaten der sprites wird ein BISSCHEN schwieriger.

und wie gesagt, rotate funzt nich mehr so einfach :cry:
-.-"
Benutzeravatar
benpicco
Beiträge: 391
Registriert: 01.10.2004 15:32
Wohnort: im Code
Kontaktdaten:

Beitrag von benpicco »

Naja, ich weiß nicht ob es da nicht enfacher wäre für Sprite3d einen schwarzen rand vom Programm zeichnen zu lassen (Zoomsprite3d() wäre mit zerstückelten sprites auch schwieriger zu berechnen...) und somitt ein extra Sprite zu erstellen...
Johann Wolfgang von Geothe hat geschrieben:Wie dieses oder jenes Wort geschrieben wird, darauf kommt es doch eigentlich nicht an, sondern darauf, daß die Leser verstehen, was man damit sagen wollte.
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

Um die Rotate- und Zoom-Funktionen weiter benutzten zu können, wäre es da nicht eine möglichkeit, die Grafiken auf das nächst größere Quadrat zu bringen.

Z.B. ein kleines 50X40 Sprite auf 64X64 auf zu füllen mit der als transparent definierten Farbe, oder würde das am ende zu viel Rechenleistung fordern? Zudem wäre das handlen der Sprites dann nicht mehr so umständlich, da es anstelle von vielen kleinen wieder ein normales gäbe.

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Antworten