「ラブライブ!」TVアニメ2期 アニメーションPV集 前編【スクスタリリース記念!】
アニメ『ラブライブ!2期』
1期面白かったです。何かを目標にするのって大事ですね。
「ペンタブ初心者用のまる練習用ツールを作る(その4)」の続きです。
「ペンタブ初心者用のまる練習用ツールを作る(その4)」までは、Windows.Formsを使ってましたが、せっかくDXライブラリを使い始めたので、DXライブラリを使用するプログラムに変えてみます。
ペンが離されたときに、画像を切り替える処理は、DX.GetMouseInputLog2というAPIを使って実現します。
int Button;
int UpDown;
int X;
int Y;
DX.GetMouseInputLog2( out Button, out X, out Y, out UpDown, DX.TRUE);
if( ( Button & DX.MOUSE_INPUT_LEFT ) != 0 ){
if(UpDown == DX.MOUSE_INPUT_LOG_UP){
// ペンががタブレットから離された時に処理される
}
}
これを組み込んだ全ソースです。
maru.cs
using System;
using DxLibDLL;
class Test{
static string[] files;
static int file_no=0;
static void UpdatePicture(){
DX.DrawBox(0,0,200,200,DX.GetColor(255,255,255),DX.TRUE);
DX.LoadGraphScreen(0,0,files[file_no++],DX.TRUE);
if(file_no>=files.Length)
file_no=0;
}
[STAThread] static void Main(){
int Button, UpDown;
int X, Y;
uint Color;
Random r=new Random();
DX.ChangeWindowMode(DX.TRUE);
DX.SetGraphMode(200,200,32);
files = System.IO.Directory.GetFiles(
@"img", "*.png", System.IO.SearchOption.AllDirectories);
if(DX.DxLib_Init() == -1) return;
UpdatePicture();
while(DX.ProcessMessage() == 0
&& DX.CheckHitKey(DX.KEY_INPUT_ESCAPE) == 0){
if( ( DX.GetMouseInput() & DX.MOUSE_INPUT_LEFT ) != 0 ){
DX.GetMousePoint(out X, out Y);
Color = DX.GetColor(0,0,0);
DX.DrawCircle(X, Y, 2, Color,DX.TRUE);
}
DX.GetMouseInputLog2( out Button, out X, out Y, out UpDown, DX.TRUE);
if( ( Button & DX.MOUSE_INPUT_LEFT ) != 0 ){
if(UpDown == DX.MOUSE_INPUT_LOG_UP){
UpdatePicture();
UpDown = 0;
}
}
}
DX.DxLib_End();
}
}
コマンドプロンプトで、ビルドして実行
C:\>csc maru.cs DxDll.cs C:\>maru
実行動画です。
dx 5



コメント