SUPPORT
h_top333.jpg

表示にアクションをつけてみよう - その3 -

表示にアクションをつけてみよう - その3 -

 とうとうアクションシリーズは最後です。 「湧き出し」、「ランダム」について書いていきます。 これらも非表示エリアが絡んできますので難しいですが、がんばりましょう。 256X64dotの表示モジュールを使用した場合について例にあげます。

湧き出し表示をさせてみよう

 まずは、湧き出しです。「macro操師」"ヘルプ"のSpringを見てください。

 

プログラム11


Sub Start()
          Cursor 0 , 0
          Cls
          SetFont 16x32
          KanjiOn
          Cursor 0 , 2               '・・・①
          Print "今から湧き出すよ"
          Sleep 3000 / 14
          Cursor 256 , 0             '・・・②
          Print "湧き出し"
          Cursor 350 , 4             '・・・③
          Print "アクション"
          Spring 0 , 5 , 256 * 8       '・・・④
End Sub

 湧き出しとは、表示エリアに書いておいた表示の上から、別の表示を徐々に上書きしていくことです。 プログラム11なら、"今から湧き出すよ"という表示の上から、"湧き出しアクション"という表示が湧き出してきます。

プログラムの仕組み

 11-①でカーソルを一番左の上から17dot目(3行目)にあわせて"今から湧き出すよ"と表示させます。

 11-②、11-③ではカーソルが非表示エリアにありますね。

 

 

 上図のように"湧き出し"と"アクション"という文字が、それぞれ非表示エリアの左上と、左から94dot、上から32dotに隠れています。 そして、11-④の命令によって、湧き出すように非表示エリアのメッセージが現れてくるのです。


Spring direction , speed , address

 directionで湧き出す方向を定義します。 0なら左→右、1なら右→左、2なら中央→左右、3なら左右→中央、です。 speedで湧き出してくるスピードを定義します。 およそspeed x 14 x 256 / 16msecとなります。 directionとspeedの定義方法は、カーテンとまったく同じですよね。 addressで湧き出させたい表示がある場所を指定します。 湧き出しさせる表示は、元の表示と同じdot数であると決まっています。 従って、湧き出させる表示の一番初めの場所を指定すればよいのです。 表示メモリのアドレスは、上から下、左から右の順で増えていきます。

 例えば、256X64dotの表示モジュールの表示メモリアドレスは

 

 のようになります。 そうすると、非表示エリアに書き込んだ"湧き出しアクション"という文字を湧き出したい場合、addressを

  256 x 8 = 2048 (あるいは、&h800)

と定義すればよいということになります。

 また、Springではdirectionとspeedを省略できます。 省略すると、directionは2、speedは1となります。addressは省略できません。

※Springでスピードを定義する場合、256X16dot、256X64dot、512X32dotの表示モジュールで14となっている数値は、384X32dotの場合は約13、256X128dotの場合は約16になります。)

 

ランダム表示をさせてみよう

 さて、やっとラストのランダムです。「macro操師」"ヘルプ"のRandomを見てください。

 

プログラム12


Sub Start()
          Cursor 0 , 0             '・・・①
          Cls                     '・・・②
          SetFont 16x32
          KanjiOn
          Cursor 32 , 2             '・・・③
          Print "ランダム表示"
          Sleep 3000 / 14
Cursor 256 , 0                     '・・・④
          Print "おつかれさまです"
          Cursor 288 , 4           '・・・⑤
          Print "アクション終了"
          Random 2 , &h800         '・・・⑥
End Sub

 

 湧き出しが理解できたら、ランダムは簡単です。 表示エリアに書き込んだ表示に、別の表示をランダムに上書きします。

プログラムの仕組み

 12-③は表示エリア、12-④、12-⑤は非表示エリアにカーソルがあります。 そして、表示エリアには"ランダム表示"、非表示エリアには"おつかれさまです アクション終了"と書き込みました。

 12-⑥が、ランダム表示させる命令です。


Random speed , address

 speedではランダム表示させるスピードを設定します。 ランダム表示は8段階で完全に表示されるのですが、その1段階のスピードはおよそspeed x 56msecです。 addressの設定方法は湧き出しと同じで、ランダム表示させたい画面が始まる場所を指定します。 &h800(または2048)とすることで、左上から(2048 / 8 =) 256dotずれた位置、つまり非表示エリアの始まりの位置を定義することができます。

 Randomで省略できる設定は、speedです。 省略すると、1と設定した場合と同じになります。

 ところで、12-①でカーソルを左上にもってくるのには理由があります。 12-④、12-⑤で非表示エリアにカーソルを移動しましたね。 そのため、12-①を書いておかないと、12-②で画面をクリアしても非表示エリアしかクリアされないのです。 12-①でカーソルを表示エリアに戻すことによって、表示エリアをクリアすることができます。 (このとき、カーソルは左上にないといけない、ということはありません。表示エリア内ならばどこでもよいです。)

※Randomでスピードを定義する場合、256X16dot、256X64dot、512X32dotの表示モジュールで56となっている数値は、384X32dotの場合は約52、256X128dotの場合は約64になります。)


当ウェブサイトでは、お客さまによりよいサービスをご提供するため、Cookieを使用しています。
Cookieを無効にする方法を含め、当社のCookieの使用については「個人情報保護方針」をお読みください。

OK