; RotateSprite Example ; -------------------- Graphics3D 640,480,0,2 SetBuffer BackBuffer() camera=CreateCamera() PositionEntity camera,0,1,-5 light=CreateLight() RotateEntity light,45,45,0 ground=CreatePlane() EntityTexture ground,LoadTexture("media/MossyGround.BMP") ; A spinning logo pickup logo=LoadSprite("media/b3dlogo.jpg") ScaleSprite logo,1,0.5 PositionEntity logo,0,1.5,0 angle#=0 spin#=2 While Not KeyDown(1) ; Change the spin rate with [ and ] If KeyDown(26) Then spin=spin-0.05 If KeyDown(27) Then spin=spin+0.05 ; RotateSprite sets the sprite's absolute roll angle, so we keep our ; own accumulating angle and apply it every frame angle=angle+spin RotateSprite logo,angle ; Arrow keys move the camera If KeyDown(200) Then MoveEntity camera,0,0,0.1 If KeyDown(208) Then MoveEntity camera,0,0,-0.1 If KeyDown(203) Then TurnEntity camera,0,1,0 If KeyDown(205) Then TurnEntity camera,0,-1,0 RenderWorld Text 0,0,"[ / ]: change spin rate Arrows: camera Esc: exit" Text 0,20,"RotateSprite logo,"+angle Flip Wend End