DXライブラリを使ってみる-お絵かきソフトpart2

 とりあえず線を書くプログラムを作ってみる

前回では仕様を決定しました。
今回は、その仕様の中でもマウスで線を書くという機能を実装しようと思います。

必要となる機能

DrawLine 線を引く関数
DrawCircle 円を作成する関数

まあ、他にもありますがメインなのはこれらの機能です。

ソースコード

#include "DxLib.h"



int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
int Key;

ChangeWindowMode(TRUE);
SetGraphMode(850, 600, 16);
if (DxLib_Init() == -1) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}

int mx, my;
mx = 0;
my = 0;

int i,bx, by;
bx = 0; //
by = 0;
i = 0;

unsigned int waterblue;
waterblue = GetColor(0, 255, 255);

while (ProcessMessage() == 0)
{
SetDrawScreen(DX_SCREEN_BACK);
DrawFormatString(0, 0, GetColor(255, 221, 181), "お絵かきソフト_ver1.0");
if ((GetMouseInput() & MOUSE_INPUT_LEFT) != 0) {
GetMousePoint(&mx, &my);
}
else {
bx = 0;
by = 0;
i = 1;
}

if ((GetMouseInput() & MOUSE_INPUT_RIGHT) != 0) break;
if (bx!=0){
DrawLine(bx, by, mx, my, waterblue, 8);
}
if (i != 1) {
DrawCircle(mx, my, 4, waterblue, TRUE);
bx = mx;
by = my;
}
i = 0;
ScreenFlip();
}
WaitKey();
DxLib_End();
return 0;

}

こんな感じです。
前フレームのマウス座標と現在フレームのマウス座標から線を書き、フレーム地点でのマウス座標に円を表示しています。

実は、ようつべでほぼ似たようなことをしている動画を見つけてしまいました。
途中までは、それらの動画と似たような機能を実装することになりますが、どこかでオリジナリティは出そうと思います。

最後に実行結果の画像を貼り付けておきます。

意外と使い道あるかも



0 件のコメント:

コメントを投稿