2014年12月19日投稿 / 投稿者 : J2 / タグ : 投稿プログラム 一発ネタ 鑑賞プログラム アニメーション QRコード mkII専用
線分に色情報を持たせることにより、下画面の画像を歪ませてアニメーションさせるためのプログラムです。 動作中に何かボタンを押すと終了します。
プチコン3号に移植されることを想定して作成しました。プチコン3号であれば、フルスキャン描画で60fps表示が可能な計算です。 若干の修正で初代にも移植可能と思われますが、速度の関係上、メリットはあまり無いでしょう。
発展させれば、炎や水面の表現、擬似ラスタースクロール効果、スキャニメイトシミュレータ などへの応用が可能でしょう。
インターレース効果を駆使してアニメーションとして表示させるため、 単一の画像を用意できませんでした。申し訳ありません。
代わりに、「類希なる幸運よってドラえもんが下画面に表示された」場合を想定した、 それっぽいアスキーアートがありましたので、こちらをご覧下さい。
. / / /
/ / _.. ~'::""::''ヽ、 / /
// /:;r‐、:::::::__:::::::::::\ / /
// /:::ノ ・ _)( ・_`つ、::::::ヽ、 l l
/ /::r(__ ノ´(:;;:)´__ノ〃ヽ:::::::} | |
/:::::ノ二ニ彡 ノ 三彡-、 )::ノ | |
{::::( -_二 -‐'' ̄ )(::/ ノ ノ
ヽ:::ヽ( ,r " ‐-‐′ノl//
ヽ )`― ''′_ .... __ノ//
ゞニニ二 -(/∂-‐//
描画速度が追いつかないため、ちらつきが発生しています。描画密度が高まるほど、または、図形が複雑になるほど、速度が落ちます。 色変化が無いため、ポケモンフラッシュ効果はありませんが、映像効果によって酔う可能性は否定できません。 (LLではない)DSiでは、液晶の反応速度の関係上、色再現性が悪いようです。
下画面描画後、画像走査のために、動作し始めるまでに5秒程度の時間が掛かります。
連絡不要。ご自由にどうぞ。
Mk2では、GLINE を GFILL に変更したほうが、描画面積が稼げると思います。
使用しているサブルーチンの解説です。
使用している変数の解説です。
改造の足掛かりにどうぞ。
プチコンmkII 向けの QR コードです。
- CLEAR:ACLS:PNLTYPE ”OFF”
- GOSUB @GWRITE
- DIM SP(64,192),SC(64,192)
- GOSUB @GSCAN
- GPAGE 0,0,0:GCLS:Z=24:P=0
- B=.0122:C=13:W=B*3
- FOR I=0 TO 1
- CT=(CT+5)%C:S=R+W*CT/C
- GOSUB @LNSET
- GPAGE 0,1−P,P:P=1−P:GCLS
- CF=CF+1:IF T<=MAINCNTL THEN LOCATE 0,0:?CF;” ”:CF=0:T=MAINCNTL+60
- LOCATE 8,0:?DC;” ”:DC=0
- R=R+B:VSYNC 2:I=BUTTON()
- NEXT
- END
- @LNSET
- FOR Y=CT TO 191 STEP C
- TS=SIN(S*C)*Z:TC=COS(S*C*.7)*Z
- WX=TS:WY=Y+TC/2
- WV=255−TC:WW=Y+TS/2
- GOSUB @LNWRITE
- S=S+W
- NEXT
- RETURN
- @LNWRITE
- SX=WX:SY=WY
- MX=(WV−WX)/256:MY=(WW−WY)/256
- M=SP(0,Y):WC=SC(0,Y)
- FOR X=1 TO 63
- M=SP(X,Y):SV=SX:SW=SY
- SX=WX+MX*M:SY=WY+MY*M
- IF WC THEN GLINE SV,SW,SX,SY,WC:DC=DC+1
- IF M>254 THEN X=63
- WC=SC(X,Y)
- NEXT
- RETURN
- @GWRITE
- GPAGE 1,3,3:GCLS
- FOR I=0 TO 7
- X=RND(256):Y=RND(192)
- Z=RND(50)+10:C=RND(254)
- GCIRCLE X,Y,Z,255
- GPAINT X,Y,255,255
- GCIRCLE X,Y,Z,C
- GPAINT X,Y,C,C
- NEXT
- RETURN
- @GSCAN
- FOR Y=0 TO 191
- B=GSPOIT(0,Y)
- SP(0,Y)=0:SC(0,Y)=B:P=1
- FOR X=1 TO 255
- C=GSPOIT(X,Y)
- IF B==C OR P>30 THEN @EI_GSCAN
- SP(P,Y)=X:SC(P,Y)=C
- P=P+1:B=C
- @EI_GSCAN
- NEXT
- SP(P,Y)=255:SC(P,Y)=C
- NEXT
- RETURN
描画速度が追いつかないため、ちらつきが発生しています。 色変化は無いため、ポケモンフラッシュ効果はありませんが、 (LLではない)DSiでは、液晶の反応速度の関係上、色再現性が悪いようです。
下画面描画後、動作し始めるまでに5秒程度、時間がかかります。
この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は掲示板へ)
表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.113 秒 | このページの最終更新 : 2022/09/20 (火) 12:43:55 (565d) | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30