2011年07月07日投稿 / 投稿者 : 名無しさん / タグ : 投稿プログラム 初代対応
ベジェ曲線のようなものを表示します。
12行目のNの数値を変更することで、曲線のなめらかさを変更できます。
Nの数値を2の累乗の数にするときれいに表示できます(1024ぐらいまでは)
- IF VCLEAR_1==0 THEN AX=50:BX=130:CX=230:DX=210:AY=150:BY=20:CY=70:DY=150
- CLS:GCLS:KEY 5,”BEZIE”
- VCLEAR_1=1
- GPAGE 1:PNLTYPE ”OFF”
- @LOOP
- GCLS:T=0
- IF Z==1 THEN AX=TCHX:AY=TCHY
- IF Z==2 THEN BX=TCHX:BY=TCHY
- IF Z==3 THEN CX=TCHX:CY=TCHY
- IF Z==4 THEN DX=TCHX:DY=TCHY
- N=32
- FOR I=0 TO N−1
- X1=AX:Y1=AY:X2=BX:Y2=BY
- X3=CX:Y3=CY:X4=DX:Y4=DY
- X_1=(1−T)*(1−T)*(1−T)*X1+3*(1−T)*(1−T)*T*X2+3*(1−T)*T*T*X3+T*T*T*X4
- Y_1=(1−T)*(1−T)*(1−T)*Y1+3*(1−T)*(1−T)*T*Y2+3*(1−T)*T*T*Y3+T*T*T*Y4
- T=T+1/N
- X_2=(1−T)*(1−T)*(1−T)*X1+3*(1−T)*(1−T)*T*X2+3*(1−T)*T*T*X3+T*T*T*X4
- Y_2=(1−T)*(1−T)*(1−T)*Y1+3*(1−T)*(1−T)*T*Y2+3*(1−T)*T*T*Y3+T*T*T*Y4
- IF PLCL==0 THEN GLINE X1,Y1,X2,Y2,3
- IF PLCL==0 THEN GBOX X2+1,Y2−1,X2−1,Y2+1,3
- IF PLCL==0 THEN GLINE X3,Y3,X4,Y4,3
- IF PLCL==0 THEN GBOX X3+1,Y3−1,X3−1,Y3+1,3
- GLINE X_1,Y_1,X_2,Y_2,2
- GP=1
- NEXT I
- @BTN_O
- BTN=BUTTON()
- IF BTN==0 THEN GOTO @LOOP2
- GOTO @BTN_O
- @LOOP2
- BTN=BUTTON()
- IF PLCL==0 AND BTN==64 THEN PLCL=1:GOTO @LOOP
- IF PLCL==1 AND BTN==64 THEN PLCL=0:GOTO @LOOP
- IF TCHST==1 THEN GOTO @LOOP
- VSYNC 1
- IF (AX−10<TCHX AND AX+10>TCHX) AND (AY−10<TCHY AND AY+10>TCHY) THEN Z=1
- IF (BX−10<TCHX AND BX+10>TCHX) AND (BY−10<TCHY AND BY+10>TCHY) THEN Z=2
- IF (CX−10<TCHX AND CX+10>TCHX) AND (CY−10<TCHY AND CY+10>TCHY) THEN Z=3
- IF (DX−10<TCHX AND DX+10>TCHX) AND (DY−10<TCHY AND DY+10>TCHY) THEN Z=4
- IF TCHST==0 THEN TCZ=0:Z=0
- GOTO @LOOP2
表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.114 秒 | このページの最終更新 : 2022/09/20 (火) 12:44:15 (565d) | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30