Seite 1 von 1

Sprite3d mit nichtquadratischen Sprites

Verfasst: 06.07.2005 18:41
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?

Verfasst: 06.07.2005 19:26
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. :?

Verfasst: 07.07.2005 11:25
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.

Verfasst: 09.07.2005 16:38
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.

Verfasst: 09.07.2005 16:41
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:

Verfasst: 11.07.2005 20:20
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...

Verfasst: 11.07.2005 21:31
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