クリックされたら数値を加算する

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
45nm

クリックされたら数値を加算する

#1

投稿記事 by 45nm » 15年前

はじめまして。
クリックされたら数値を+100するプログラムを作りたいのですが、
クリックされた瞬間だけ+100されてしまいます。

クリックが終わったあともその数値を維持し続けるにはどうすればいいのでしょうか?
#include "DxLib.h"
 
int Key[256];
 
int GetHitKeyStateAll_2(int GetHitKeyStateAll_InputKey[/url]){
    char GetHitKeyStateAll_Key[256];
    GetHitKeyStateAll( GetHitKeyStateAll_Key );
    for(int i=0;i<256;i++){
        if(GetHitKeyStateAll_Key==1) GetHitKeyStateAll_InputKey++;
        else                            GetHitKeyStateAll_InputKey=0;
    }
    return 0;
}
 
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
    ChangeWindowMode(TRUE);//ウィンドウモード
    if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化
 
    while(ProcessMessage()==0 && ClearDrawScreen()==0 && GetHitKeyStateAll_2(Key)==0 && Key[KEY_INPUT_ESCAPE]==0){
          //↑メッセージ処理          ↑画面をクリア           ↑入力状態を保存       ↑ESCが押されていない
 
        int point = 0;//ポイント=初期値0
        int White = GetColor(255,255,255);//白
        int Nanoha = LoadGraph("date/img/na/na.png");//画像

        DrawGraph(0,0,Nanoha,TRUE);
        if((GetMouseInput() & MOUSE_INPUT_LEFT)!=0)//マウス左チェック
        {
            DrawString(0,0,"ok",White);//真
            point+=100;
        }
        else
        {
            DrawString(0,25,"no",White);//偽
        }

        if(point>99)
            DrawString(100,100,"POK",White);

 
 
        ScreenFlip();
    }
 
    DxLib_End();
    return 0;
}


どうかよろしくお願いします

y

Re:クリックされたら数値を加算する

#2

投稿記事 by y » 15年前

point変数を宣言した位置を確認しましょう。
自動変数の寿命がブロック内まで、ということを考えるとわかる思います。

45nm

Re:クリックされたら数値を加算する

#3

投稿記事 by 45nm » 15年前

解決しました!

どうもありがとうございます 画像

閉鎖

“C言語何でも質問掲示板” へ戻る