PointEntity + Sprites

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Tankbuster

Betreff: PointEntity + Sprites

BeitragSa, Nov 03, 2007 16:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Sry, wenn die Frage etwas peinlich ist, aber ich schaffe es einfach nicht, ein Sprite per "Pointentity" auf ein anderes, welches sich bewegt auszurichten!
Hier ist mal ein Bild:
user posted image
das kleine Sprite sollte sich immer auf das große ausrichten.

Jetzt haltet ihr mich sicherlich für total be....., aber ich kriegs mit Pointentity nicht hin! Mit Würfeln und Cylindern gehts, aber mit diesen Sprites will das einfach nicht klappen -.-

SpriteViewMode ist auf 2, das bedeutet das Sprite wird wie ein ganz normales Mesh bewegt. Naja... irgendwie nicht <.<
Twitter
Download Jewel Snake!
Windows|Android

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, Nov 03, 2007 16:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Probiers mal mit ql:RotateSprite

edit1: Sorry, PointEntity geht nicht, weil die Spriteausrichtung nicht nach oben (Y-Achse) eines Sprites, sondern in der Tiefenachse (Z-Achse) liegt.

edit2: Mit ql:AlignToVector gehts aber. Hier ein Beispiel:

Code: [AUSKLAPPEN]
Graphics3D 400,300,0,2
SetBuffer BackBuffer()


camera=CreateCamera()
PositionEntity camera,0,0,-200

c1=CreateSprite()
c2=CreateSprite()

SpriteViewMode c1,2
SpriteViewMode c2,2

ScaleSprite c1,10,10
ScaleSprite c2,10,10




While Not KeyHit(1)
   If MouseDown(1) Then
      PositionEntity c1,MouseX()-200,150-MouseY(),0
   End If
   
   PositionEntity c2,MouseX()-200,150-MouseY(),0
   
   AlignToVector c1,EntityX(c2),EntityY(c2),0,2
   
   UpdateWorld
   RenderWorld
   Flip
Wend
End

Tankbuster

BeitragSo, Nov 04, 2007 15:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Zuerst dachte ich, das funktioniert!
Tuts auch gut, danke!

Aber schau dir mal das an: (habe nur MoveEntity eingefügt)
Code: [AUSKLAPPEN]
Graphics3D 400,300,0,2
SetBuffer BackBuffer()


camera=CreateCamera()
PositionEntity camera,0,0,-200

c1=CreateSprite()
c2=CreateSprite()

SpriteViewMode c1,2
SpriteViewMode c2,2

ScaleSprite c1,10,10
ScaleSprite c2,10,10




While Not KeyHit(1)
   If MouseDown(1) Then
      PositionEntity c1,MouseX()-200,150-MouseY(),0
   End If
   
   PositionEntity c2,MouseX()-200,150-MouseY(),0

   AlignToVector c1,EntityX(c2),EntityY(c2),0,2,1
   
   MoveEntity c1,0,1,0

   UpdateWorld
   RenderWorld
   Flip
Wend
End

Irgendwann dreht sich das Sprite nicht mehr so, dass es auf die Maus zeigt. Ich habe keinen Plan, warum.
Ich denke, es liegt daran, dass AlignToVector die Objektachse neu ausrichtet. Aber wie kann ich das umgehen? Laughing
Twitter
Download Jewel Snake!
Windows|Android

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group