Enjoy programming more!
Kidspod is a post site which supports young programmers.
First step to join us.
Register as a member
For members

2017/10/14 17:08:59

MixJuice GET URL : kidspod.club/mj/382

アニメーション高速表示 実験版

アニメーションをスムーズに高速表示させるための、実験プログラムです。
あらかじめ、キャラクタコード#E0から#FFまでの範囲で、4バイト毎にアニメーメーションデータを作成しておきます。
それをデイスプレイに16✖16のサイズに拡大したあと、高速でちらつきのない表示をします。
110行目から130行目が拡大ルーチンです。

下記のサンプルのアニメーションデータを実行して作成をしておいてください。
POKE#E0*8,5,3,5,9,16,20,32,17,64,128,64,32,16,80,8,16,40,146,225,104,19,8,4,30,40,146,78,124,48,48,240,0
POKE#E4*8,5,3,5,9,16,20,32,17,64,128,64,32,16,80,8,16,40,18,97,232,147,8,30,0,40,144,76,126,50,48,64,240

  • 1
  • 1

SOURCE CODE

1 ' Anime MyPee Ver3.5(Endless)

' キャラクタヒョウジセッテイ
' W:Wait Time(1/60Sec) 
' X,Y:Position-X & -Y
' F:Fram Count(2,3,4 *3,4:Option)
10 CLV:CLS:I=#E0:X=0:Y=8:W=1:F=2
20 LET[0],"00000000","11111111","22222222","33333333","44444444","55555555","66666666","77777777"
30 LET[8],"00000000","11111111","22222222","33333333","44444444","55555555","66666666","77777777"

' キャラクタコードヘンカン サブルーチン
110 FORT=1TOF:FORO=0TO3:Z=(T-1)*8+(O/2)*4:FORV=0TO6STEP2:A=V/2:E=I*8+V:P=PEEK(E):Q=PEEK(E+1)
120 FORM=0TO3:S=6-M*2:J=((P>>S)&3)*4+(Q>>S)&3:D=#80+(J&8)/8+(J&4)/2+(J&2)*2+(J&1)*8
130 POKE[Z]+M+(O%2)*4,D:NEXT:Z=Z+1:NEXT:I=I+1:NEXT:NEXT

' 円の軌跡
300 U=30:LET[30],8,8,8,9,8,9,9,9,6,6,6,6,3,3,3,2,3,2,2,2,2,3,2,3,3,3,6,6,6,6,9,9,9,8,9,8,8,8,8,7,8,7,7,7,4,4,4,4,1,1,1,2,1,2,2, 2,2,1,2,1,1,1,4,4,4,4,7,7,7,8,7,8
310 @DSP:K=[U]:U=U+1:IFU>101U=30

'表示位置の設定
' SCROLL RIGHT(1)/DOWN(2)/LEFT(3)/UP(0)
320 X=X-(K%3=1)+(K%3=0):Y=Y-(6<K)+(K<4):IF!(K%2)SCROLL(K=4)*3+(K=2)*2+(K=6):GOTO@N

' 斜めに対してSCROLL
330 IFK<4SCROLL2
340 SCROLL(K%3=1)*3+(K%3=0):IFK>6SCROLL0

' キャラクタの高速表示
400 @N:FORT=0TOF*8-1:IF!(T%8)R=Y
410 LCX,R:R=R+1:?STR$([T]);:NEXT:WAITW:GOTO@DSP

COMMENT

Kidspod運営チーム
Kidspod運営チーム2017/10/19 10:54:23

これはすごい! チラつきもなく、見事なアニメーション! このプログラムを駆使すれば、ゲームにアニメーションの演出を入れることもできますね。