#12
by あたっしゅ » 3年前
東上☆海美☆「
眠れなかったので、作ってみたみみ
」
コード:
//
//
//
#include "DxLib.h"
//#include "c_select.h"
//#include "key_input.h"
//#include "pad_input.h"
//#include "effect.h"
static unsigned int sgc;//スポイト用
static int gcr = 0;//色成分
static int gcg = 0;//色成分
static int gcb = 0;//色成分
// プログラムは WinMain から始まります
int
WINAPI
WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
SetGraphMode(960, 772, 16);
ChangeWindowMode(TRUE);
SetWindowSizeExtendRate(1);
SetWindowSizeChangeEnableFlag(TRUE);
int scene = 1;//シーン
if (DxLib_Init() == -1) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
#if 0
// 透明かどうかわかるように画面を緑で塗りつぶす
DrawBox(0, 0, 255, 255, GetColor(0, 255, 0), TRUE);
{
// 空のフルカラー画像を作成する
int handle = MakeARGB8ColorSoftImage(256, 256);
GetDrawScreenSoftImage( 0, 0, 255, 255, handle );
// 描画対象の画面から指定領域をソフトウエアイメージハンドルに転送する
// 縦方向に透明グラデーションした真っ赤な画像を作成する
for (int i = 0; i < 256; i++)
{
for (int j = 0; j < 128; j++)
{
// 色をセット
DrawPixelSoftImage(handle, j, i, 255, 0, 0, i);
}
}
// グラフィックハンドルを作成
int grhandle = CreateGraphFromSoftImage(handle);
// グラフィックハンドルを描画
DrawGraph(0, 0, grhandle, TRUE);
// グラフィックハンドルの削除
DeleteGraph(grhandle);
// 使い終わったら解放
DeleteSoftImage(handle);
}
// キー入力待ち
WaitKey();
#endif
//C_S_Set();
//effect_set();
int t = 0;
while (ProcessMessage() == 0) {
SetDrawScreen(DX_SCREEN_BACK);
ClearDrawScreen();
//key_update();
//pad_update();
//fade_update();
#if 0
int handle;
handle = MakeScreen(320, 224, TRUE);
int handle2;
handle2 = MakeScreen(960, 772, TRUE);
SetDrawScreen(handle);
switch (scene) {
case 1:
//C_S__Update();
//C_S__Draw();
break;
}
//エフェクト
//fade_update();
//fade_draw();
#endif
{
int Cr = GetColor(64, 255, 128);
// 円を描画
DrawCircle(32+t, 32, 32, Cr, FALSE);
t++;
if (t > 64) {
t = 0;
}
}
#if 0
//変換
{
//int i = 0;
//if (i == 0) {
for (int x = 0; x < 64; x++) {
for (int y = 0; y < 64; y++) {
//SetDrawScreen(handle);
sgc = GetPixel(x, y);
GetColor2(sgc, &gcr, &gcg, &gcb);
//SetDrawScreen(handle2);
DrawLine(x * 3, y * 3, x * 3, y * 3 + 2, GetColor(gcr, 0, 0));
DrawLine(x * 3 + 1, y * 3, x * 3, y * 3 + 2, GetColor(0, gcg, 0));
DrawLine(x * 3 + 2, y * 3, x * 3, y * 3 + 2, GetColor(0, 0, gcb));
}
}
//}
}
#else
{
// 空のフルカラー画像を作成する
int hSrc = MakeARGB8ColorSoftImage(256, 256);
int hDst = MakeARGB8ColorSoftImage(256, 256);
GetDrawScreenSoftImage(0, 0, 255, 255, hSrc);
// 描画対象の画面から指定領域をソフトウエアイメージハンドルに転送する
for (int i = 0; i < 64; i++)
{
for (int j = 0; j < 64; j++)
{
int r, g, b, a;
GetPixelSoftImage_Unsafe_ARGB8( hSrc, j, i, &r, &g, &b, &a );
// 色をセット
for (int k = 0; k < 3; k++) {
DrawPixelSoftImage_Unsafe_ARGB8(hDst, j * 3, i * 3+k, r, 0, 0, a);
}
for (int k = 0; k < 3; k++) {
DrawPixelSoftImage_Unsafe_ARGB8(hDst, j * 3 + 1, i * 3 + k, 0, g, 0, a);
}
for (int k = 0; k < 3; k++) {
DrawPixelSoftImage_Unsafe_ARGB8(hDst, j * 3 + 2, i * 3 + k, 0, 0, b, a);
}
}
}
// グラフィックハンドルを作成
int grhandle = CreateGraphFromSoftImage(hDst);
// グラフィックハンドルを描画
DrawGraph(0, 0, grhandle, TRUE);
// グラフィックハンドルの削除
DeleteGraph(grhandle);
// 使い終わったら解放
DeleteSoftImage(hDst);
DeleteSoftImage(hSrc);
}
#endif
// 描画対象を裏画面にする
SetDrawScreen(DX_SCREEN_BACK);
//DrawGraph(0, 0, handle2, TRUE);
#if 0
DeleteGraph(handle);
DeleteGraph(handle2);
#endif
ScreenFlip();
}
DxLib_End(); // DXライブラリ使用の終了処理
return 0; // ソフトの終了
}
// end.
手提鞄あたっしゅ、「
かなり荒っぽいが、どうでしょうか ?
」
東上☆海美☆「
眠れなかったので、作ってみたみみ
」
[code]
//
//
//
#include "DxLib.h"
//#include "c_select.h"
//#include "key_input.h"
//#include "pad_input.h"
//#include "effect.h"
static unsigned int sgc;//スポイト用
static int gcr = 0;//色成分
static int gcg = 0;//色成分
static int gcb = 0;//色成分
// プログラムは WinMain から始まります
int
WINAPI
WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
SetGraphMode(960, 772, 16);
ChangeWindowMode(TRUE);
SetWindowSizeExtendRate(1);
SetWindowSizeChangeEnableFlag(TRUE);
int scene = 1;//シーン
if (DxLib_Init() == -1) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
#if 0
// 透明かどうかわかるように画面を緑で塗りつぶす
DrawBox(0, 0, 255, 255, GetColor(0, 255, 0), TRUE);
{
// 空のフルカラー画像を作成する
int handle = MakeARGB8ColorSoftImage(256, 256);
GetDrawScreenSoftImage( 0, 0, 255, 255, handle );
// 描画対象の画面から指定領域をソフトウエアイメージハンドルに転送する
// 縦方向に透明グラデーションした真っ赤な画像を作成する
for (int i = 0; i < 256; i++)
{
for (int j = 0; j < 128; j++)
{
// 色をセット
DrawPixelSoftImage(handle, j, i, 255, 0, 0, i);
}
}
// グラフィックハンドルを作成
int grhandle = CreateGraphFromSoftImage(handle);
// グラフィックハンドルを描画
DrawGraph(0, 0, grhandle, TRUE);
// グラフィックハンドルの削除
DeleteGraph(grhandle);
// 使い終わったら解放
DeleteSoftImage(handle);
}
// キー入力待ち
WaitKey();
#endif
//C_S_Set();
//effect_set();
int t = 0;
while (ProcessMessage() == 0) {
SetDrawScreen(DX_SCREEN_BACK);
ClearDrawScreen();
//key_update();
//pad_update();
//fade_update();
#if 0
int handle;
handle = MakeScreen(320, 224, TRUE);
int handle2;
handle2 = MakeScreen(960, 772, TRUE);
SetDrawScreen(handle);
switch (scene) {
case 1:
//C_S__Update();
//C_S__Draw();
break;
}
//エフェクト
//fade_update();
//fade_draw();
#endif
{
int Cr = GetColor(64, 255, 128);
// 円を描画
DrawCircle(32+t, 32, 32, Cr, FALSE);
t++;
if (t > 64) {
t = 0;
}
}
#if 0
//変換
{
//int i = 0;
//if (i == 0) {
for (int x = 0; x < 64; x++) {
for (int y = 0; y < 64; y++) {
//SetDrawScreen(handle);
sgc = GetPixel(x, y);
GetColor2(sgc, &gcr, &gcg, &gcb);
//SetDrawScreen(handle2);
DrawLine(x * 3, y * 3, x * 3, y * 3 + 2, GetColor(gcr, 0, 0));
DrawLine(x * 3 + 1, y * 3, x * 3, y * 3 + 2, GetColor(0, gcg, 0));
DrawLine(x * 3 + 2, y * 3, x * 3, y * 3 + 2, GetColor(0, 0, gcb));
}
}
//}
}
#else
{
// 空のフルカラー画像を作成する
int hSrc = MakeARGB8ColorSoftImage(256, 256);
int hDst = MakeARGB8ColorSoftImage(256, 256);
GetDrawScreenSoftImage(0, 0, 255, 255, hSrc);
// 描画対象の画面から指定領域をソフトウエアイメージハンドルに転送する
for (int i = 0; i < 64; i++)
{
for (int j = 0; j < 64; j++)
{
int r, g, b, a;
GetPixelSoftImage_Unsafe_ARGB8( hSrc, j, i, &r, &g, &b, &a );
// 色をセット
for (int k = 0; k < 3; k++) {
DrawPixelSoftImage_Unsafe_ARGB8(hDst, j * 3, i * 3+k, r, 0, 0, a);
}
for (int k = 0; k < 3; k++) {
DrawPixelSoftImage_Unsafe_ARGB8(hDst, j * 3 + 1, i * 3 + k, 0, g, 0, a);
}
for (int k = 0; k < 3; k++) {
DrawPixelSoftImage_Unsafe_ARGB8(hDst, j * 3 + 2, i * 3 + k, 0, 0, b, a);
}
}
}
// グラフィックハンドルを作成
int grhandle = CreateGraphFromSoftImage(hDst);
// グラフィックハンドルを描画
DrawGraph(0, 0, grhandle, TRUE);
// グラフィックハンドルの削除
DeleteGraph(grhandle);
// 使い終わったら解放
DeleteSoftImage(hDst);
DeleteSoftImage(hSrc);
}
#endif
// 描画対象を裏画面にする
SetDrawScreen(DX_SCREEN_BACK);
//DrawGraph(0, 0, handle2, TRUE);
#if 0
DeleteGraph(handle);
DeleteGraph(handle2);
#endif
ScreenFlip();
}
DxLib_End(); // DXライブラリ使用の終了処理
return 0; // ソフトの終了
}
// end.
[/code]
手提鞄あたっしゅ、「
かなり荒っぽいが、どうでしょうか ?
」