Sunday, March 13, 2011

プチコンのスプライト回転

プチコンでスプライトの回転は左上が回転の中心になるので、スプライトの(8,8)を中心に回転するように見えるプログラムを書いてみました。
回るつぼ
プログラムでは配列を使っていますが、リアルタイムで計算してもそんなに遅くないと思います。VSYNC 1をコメントアウトするとすごい速さで回転します。
---
CLEAR:CLS
VISIBLE 1,1,1,1,1,1
’SETUP
DIM DX(361),DY(361)
SS=0:SX=32:SY=32:SZ=200
W=FLOOR(8*SZ/100+0.5)
R=W*SQR(2)
PX=SX+W:PY=SY+W

FOR I=0 TO 360
 DG=I+45
 IF DG>=360 THEN DG=DG-360
 DX=FLOOR(COS(RAD(DG))*R+0.5)
 DY=FLOOR(SIN(RAD(DG))*R+0.5)
 DX(I)=DX:DY(I)=DY
NEXT

’DISP
SPCLR
SPSET SS,60,0,0,0,2
SPSCALE SS,SZ
SPOFS SS,SX,SY

ST=5
FOR I=0 TO 360 STEP ST
 A=I:S=SS:X=100:Y=100
 GOSUB @PUTSP
 VSYNC 1
NEXT

END

@PUTSP
SPOFS S,X+W-DX(A),Y+W-DY(A)
SPANGLE S,A,1
RETURN 
 

No comments:

Post a Comment