動的にモザイクをかける

DLL制作-コンパイル環境編 - Atelier de Muguet 制作記録を参考に、早速 Visual C++ 2008 Express Edition をインストールして、レイヤー型プラグインを作って遊んでみました。

サンプル画像

これは何か

画面の一部分を対象にモザイクをかけるレイヤー型プラグインです。

使い方

dll本体はhttp://www.eiji8pou.net/download/mozaic.zipです。解凍してできたdllをNScr.exeと同じ場所に置きます。

*define
deletemenu
setlayer 0,30,"mozaic.dll"
game
*start
saveoff
caption "いまなお残る山間の奇祭について、現地少女が激白!"
bg "jy1.jpg",0
lsp 250,"*0"
ld c,":a;image.bmp",0
layermessage 0,"220,100,380,150,8"
setwindow 58,374,22,4,24,22,0,6,1,1,1,#AAAAAA,40,350,600,470
print 1
現地少女が匿名を条件に、われわれ川ロピロシ探検隊の取材に応じてくれた!\
end

最低限、define節のsetlayer命令、start節のlsp "*(レイヤー番号)"、layermessageが必要です。
layermessageの引数には、五つの数字を与えてください。
モザイクをかける領域の左上のx座標y座標、右下のx座標y座標、一つのモザイクの大きさとなっています。
モザイクのスプライト番号に注意をしてください。モザイクスプライトより奥にあるものは全てモザイクの対象になり、手前にあるものは影響を受けません。番号をいじれば、テキストウィンドウにもモザイクをかけられます(が、それに意味があるかどうかはわかりません)

その他

習作として、一部分だけネガ反転したり、一部分だけ左右を入れ替えて表示したりして遊んでいましたが、これが一番実用性が高そうだったので、公開してみました。

発展

直接画面のデータをいじる方法がわかったので、だいたいの演出が可能になりますた。今度はこないだ言った画面の縮小表示に挑戦してみようかな。

追記

NSŒIにも、同じようなのあるよ! あるよ!(AA略」とつっこまれた。ぎゃふん。