Seite 1 von 2

Sprite drehen?

Verfasst: 31.05.2006 17:49
von Ghost
Hi

Gibt es in Pb (V.3.3) ein Code womit man ein einzelnes Bild im oder gegen den Uhrzeigersinn drehen kann, ohne dass jewalige bild in den entsprechenden Positionen abgespeichert zu haben ?

Verfasst: 31.05.2006 18:26
von Alves
Gleiche Frage für V 3.94.

Verfasst: 31.05.2006 18:52
von AND51
Unter 3.94 —das weiß ich— sollte man das 2D Sprite zu einem 3D Sprite machen, um es dann mit RotateSprite() zu drehen. Shcaut im Kapitel bei RotateSprite() mal nach, wie ihr das Sprite drehen könnt.

Verfasst: 31.05.2006 19:03
von Alves
DAnke.

Verfasst: 31.05.2006 19:35
von Ghost
ok danke
aber wie kann man ein 2D Sprite zu einem 3D Sprite mache?Also mit Pb oder muss man es mit einen 3D Programm neu zeichnen?

Verfasst: 31.05.2006 19:43
von MVXA
2D Sprites und 3D Sprites sind identisch. Bei den 3D Sprites ist nur der
unterschied, dass sie eine Textur auf einem Objekt mit 2 Dreiecken sind.

Verfasst: 31.05.2006 19:44
von Jilocasin
Erstmal sollte die Breite & Höhe ein Exponent von 2 sein (also: 64x64; 128x128, usw).
Dann musst du es bei LoadSprite(...) mit "FLAGS = #PB_Sprite_Texture" laden.
Dann mithilfe von "CreateSprite3D(...)" daraus ein 3D-Sprite machen.
Dann kannst du es ungefähr so verwenden:

Code: Alles auswählen

...
Start3D()
  RotateSprite3D(#Sprite3D,Grad)
  DisplaySprite3D(#Sprite3D,x,y,transparenz)
Stop3D()
...
Jedenfalls ist es so bei PB 3.3...

Verfasst: 31.05.2006 19:51
von Ghost
danke

Verfasst: 31.05.2006 20:04
von MVXA
> Erstmal sollte die Breite & Höhe ein Exponent von 2 sein (also: 64x64; 128x128, usw).
Nicht wirklich. Neuere Karten können auch mit anderen Daten umgehen.
Wenn man aber Kompatiblität zu seeeeeehr alten Karten aufrecht erhalten
möchte, nutzt man halt Größen wie 64x64, 128x128...

Verfasst: 31.05.2006 20:08
von Jilocasin
Jup, so sieht's aus!