; ScaleSprite 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 pulsing logo pickup logo=LoadSprite("media/b3dlogo.jpg") PositionEntity logo,0,1.5,0 base#=1 pulse#=0 While Not KeyDown(1) ; Change the base size with [ and ] If KeyDown(26) And base>0.2 Then base=base-0.01 If KeyDown(27) And base<3 Then base=base+0.01 ; ScaleSprite sets the sprite's x and y size independently - pulse the ; width and height out of phase for a wobbly pickup effect pulse=pulse+3 x_scale#=base+Sin(pulse)*0.25 y_scale#=base*0.5+Cos(pulse)*0.15 ScaleSprite logo,x_scale,y_scale ; 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 base size Arrows: camera Esc: exit" Text 0,20,"ScaleSprite logo,"+x_scale+","+y_scale Flip Wend End