ページ 11

文字の出し方

Posted: 2013年9月12日(木) 14:48
by 波打ち
ボタンを押した時に文字が出てまた押した時に文字が消えるといった関数を作ろうとしたのですが文字も出てこなくてボタンにも反応してくれません。どうすればボタンを押した時に文字が出てくるのでしょうか?

コード:

#include"DxLib.h"

int Cr=GetColor(255,255,255);
int txt;


void test(){
	txt=1;
	
	if(CheckHitKey(KEY_INPUT_X))
	txt=2;
	else txt=1;
	

	if(txt=2)
	DrawString(100,500,"test",Cr);
	else
	DrawString(100,500," ",Cr);
	




}

Re: 文字の出し方

Posted: 2013年9月12日(木) 14:51
by みけCAT
山田 巧様のDXライブラリを使っていると仮定します。

CrにGetColorの戻り値を入れるのを、DxLib_Init()の後で行ってください。
if(txt=2)ではなくて、if(txt==2)ですね。

Re: 文字の出し方

Posted: 2013年9月13日(金) 08:44
by non
この考え方では、押している間しか、文字が出ません。トグル動作をするには、1つ前の状態を覚えておき、1つ前は押されておらず、今回は押されたとき、(パルスで言えば立ち上がり、または立ち下がり)を捉え、状態を変化させる必要があります。

Re: 文字の出し方

Posted: 2013年9月13日(金) 15:28
by 波打ち
みけCATさん nonさん
回答ありがとうございます。参考にさせていただきます。

Re: 文字の出し方

Posted: 2013年9月15日(日) 17:34
by sozai
波打ち さんが書きました:

コード:

#include"DxLib.h"

int Cr=GetColor(255,255,255);
int txt;


void test(){
	txt=1;
	
	if(CheckHitKey(KEY_INPUT_X))
	txt=2;
	else txt=1;
	

	if(txt=2)
	DrawString(100,500,"test",Cr);
	else
	DrawString(100,500," ",Cr);
	




}
背景色を教えてください。
もし白なら、

コード:

int Cr=GetColor(255,255,255);
でGetColorに渡す引数を全て255にしていることが原因かもしれません。
というのも、こちらのサイトにあるように三つの引数Red,Green,Blueには各色の輝度値を指定するので引数を255,255,255ならば白、0,0,0とすれば黒となるものと思われます(確認したわけじゃありませんが...)。
背景色について特に指定していないのであれば文字色に問題は無いと思います。