ザ・シグラル


文字列ピクチャを分割表示する方法


今回解説するのは「文字列ピクチャを分割する方法」です。 といってもわかりづらいと思うので、下記の動画を御覧ください。
動画では上下分割しか行っていませんが、実際には斜めに分割したり、分割中心を任意に変えたりということも可能です。
役に立たないと思われるかもしれませんが、例えば私の過去作品『技術将棋:デルタ』ではOPに生かされています。


さて、肝心の実装方法ですが、5枚のピクチャを利用して以下のような処理をしています。
レイヤー1:文字を中心に表示
レイヤー2:文字の下側半分を真っ黒にする
レイヤー3:文字をRGBすべて50で加算表示
レイヤー4:文字の下半分を囲うRGB50の四角形を加算表示
レイヤー5:全ての位置からRGB50の四角形を減算

pic
サンプルコードを以下に示します。
また、コモンのDLはコチラから
■変数操作: CSelf12[分割位置y] = 120 + 0 
■変数操作: CSelf10[左文字x] = 160 + 0 
■変数操作: CSelf11[右文字x] = 160 + 0 
■ループ開始
 |■ピクチャ表示:1 [中心]文字列[\f[40]ウディタ] X:CSelf10[左文字x] Y:120 / 0(0)フレーム  / パターン 1 / 透 255 / 加算  / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
 |■ピクチャ表示:2 [左上]ウィンドウ「<SQUARE>」サイズ[320,40] X:0 Y:CSelf12[分割位置y] / 0(0)フレーム  / パターン 1 / 透 255 / 減算  / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
 |■ピクチャ表示:3 [中心]文字列[\f[40]ウディタ] X:CSelf11[右文字x] Y:120 / 0(0)フレーム  / パターン 1 / 透 255 / 加算  / 角 0 / 拡 100% / カラー R[50] G[50] B[50]
 |■ピクチャ表示:4 [左上]ウィンドウ「<SQUARE>」サイズ[320,40] X:0 Y:CSelf12[分割位置y] / 0(0)フレーム  / パターン 1 / 透 255 / 加算  / 角 0 / 拡 100% / カラー R[50] G[50] B[50]
 |■ピクチャ表示:5 [中心]ウィンドウ「<SQUARE>」サイズ[320,240] X:160 Y:120 / 0(0)フレーム  / パターン 1 / 透 255 / 減算  / 角 0 / 拡 100% / カラー R[50] G[50] B[50]
 |■キー入力:CSelf13[キー入力] 4方向
 |■条件分岐(変数):  【1】 CSelf13[キー入力]  が   2 と同じ  【2】 CSelf13[キー入力]  が   4 と同じ  【3】 CSelf13[キー入力]  が   6 と同じ 
 |-◇分岐: 【1】  [ CSelf13[キー入力]  が  2 と同じ  ]の場合↓
 | |■変数操作: CSelf12[分割位置y] += 1 + 0 
 | |■
 |-◇分岐: 【2】  [ CSelf13[キー入力]  が  4 と同じ  ]の場合↓
 | |■変数操作: CSelf10[左文字x] -= 1 + 0 
 | |■変数操作: CSelf11[右文字x] += 1 + 0 
 | |■
 |-◇分岐: 【3】  [ CSelf13[キー入力]  が  6 と同じ  ]の場合↓
 | |■変数操作: CSelf10[左文字x] += 1 + 0 
 | |■変数操作: CSelf11[右文字x] -= 1 + 0 
 | |■
 |◇分岐終了◇
 |■条件分岐(変数):  【1】 CSelf13[キー入力]  が   8 と同じ 
 |-◇分岐: 【1】  [ CSelf13[キー入力]  が  8 と同じ  ]の場合↓
 | |■変数操作: CSelf12[分割位置y] -= 1 + 0 
 | |■
 |◇分岐終了◇
 |■ウェイト:1 フレーム
 |■
◇ループここまで◇◇

inserted by FC2 system