Handle von sprites

Anfängerfragen zum Programmieren mit PureBasic.
stef
Beiträge: 2
Registriert: 16.10.2006 19:23

Handle von sprites

Beitrag von stef »

Grüße!

Kann man in PB den Handle-point von sprites verändern?

z.B. für Rotationen ( Handle-Punkt wäre der Rotationsmittelpunkt,der auch ausserhalb des sprites liegen könnte)

Ich konnte keinen derartigen Befehl finden.

Danke im voraus

stef
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

Verstehe jetzt nicht wie du das meinst,Ich denke mal dafür musst du eine procedure schreiben. /:->
Purebasic 5.0 32bit und 64 bit

I'm back from hell
stef
Beiträge: 2
Registriert: 16.10.2006 19:23

Beitrag von stef »

Der Befehl

DisplaySprite3D(#Sprite3D, x, y, Transparenz)

platziert die linke obere Ecke des sprites an die Position x,y
(die linke obere Ecke des sprites ist der handle-point)

andererseits rotiert der Befehl

RotateSprite3D(#Sprite3D, Winkel, Modus)

das sprite um den Mittelpunkt des sprites
(hier wäre der Mittelpunkt des sprites der handle-point)

Die Frage lautet nun, ob man diese "handle-points" verändern kann?

das etwa beim platzieren nicht die linke obere Ecke des sprites die Position vorgibt, sondern ein Punkt (in Relation zu der linken oberen Ecke)
den ich angeben kann, (etwa den Mittelpunkt ,um ein sprite mittig an einem Punkt zu platzieren)

oder um ein sprite um eine Ecke des sprites rotieren zu können.


Grüße
stef
Hellhound66
Beiträge: 476
Registriert: 23.03.2005 23:19

Beitrag von Hellhound66 »

Ich glaube, du verwirrst die Leute, wenn du in dem Zusammenhang von Handle sprichst, da das was anderes ist. Rotationspunkt klingt ganz gut und das kapiert auch jeder (auch ich ^^). Kurz gesagt: Du hast zwei Möglichkeiten:

1. Du rotierst das Sprite und verschiebst es dann dementsprechend.
2. Du errechnest die Eckpunkte des Sprites von Hand und setzt diese dann über TransformSprite3D()

Einen Rotationsmittelpunkt kannst du (so einfach mal eben) nicht setzen. Sorry.
Optimismus ist ein Mangel an Information.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

es gibt noch eine dritte möglichkeit:

du nimmst ein sprite, das größer ist als dein eigentliches.
wenn du ein 32x32 sprite um eine ecke rotieren willst,
displayst du es vorher auf ein 64x64 sprite und rotierst dieses normal.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Hellhound66
Beiträge: 476
Registriert: 23.03.2005 23:19

Beitrag von Hellhound66 »

@kaeru: So kann ich den Drehpunkt vom Sprite wegbewegen aber niemals in das Sprite hinein.
Optimismus ist ein Mangel an Information.
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

Hellhound66 hat geschrieben:@kaeru: So kann ich den Drehpunkt vom Sprite wegbewegen aber niemals in das Sprite hinein.
versteh ich nicht. man kann doch so jeden erdenklichen rotationpunkt definieren.[?!]
my pb stuff..
Bild..jedenfalls war das mal so.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

Ägypten? wenn der drehpunkt eines sprites eh in der mitte ist?

wenn der an der ecke wäre, müsste man sich eh ne eigene routine schreiben.
wer bräuchte schon nen befehl, der grundsätzlich um ne ecke rotiert...

[edit]
@NULL
wenn der drehpunkt in ner ecke wäre, hätte Hell recht...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Hellhound66
Beiträge: 476
Registriert: 23.03.2005 23:19

Beitrag von Hellhound66 »

Öhm..

Ist der Drehpunkt in der Mitte?
Wusst ich gar nicht. Na dann ist meine Hilfestellung eher unpassend.
Optimismus ist ein Mangel an Information.
Antworten