↓のソース

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

↓のソース

#1

投稿記事 by ↓の者です » 12年前

↓のソースは、

コード:

#include "DxLib.h"

int Key[256]; // キーが押されているフレーム数を格納する

// キーの入力状態を更新する
int gpUpdateKey(){
	char tmpKey[256]; // 現在のキーの入力状態を格納する
	GetHitKeyStateAll( tmpKey ); // 全てのキーの入力状態を得る
	for( int i=0; i<256; i++ ){ 
		if( tmpKey[i] != 0 ){ // i番のキーコードに対応するキーが押されていたら
			Key[i]++;     // 加算
		} else {              // 押されていなければ
			Key[i] = 0;   // 0にする
		}
	}
	return 0;
}

int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
        ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK ); //ウィンドウモード変更と初期化と裏画面設定

        int x=320, y=240;
        int Handle = LoadGraph("主人公.png");

        // while(裏画面を表画面に反映, メッセージ処理, 画面クリア, キーの更新)
        while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 && gpUpdateKey()==0 ){

                if( Key[ KEY_INPUT_RIGHT ] >= 1 ){ // 右キーが押されていたら
			x++;                       // 右へ移動
		}
		if( Key[ KEY_INPUT_DOWN  ] >= 1 ){ // 下キーが押されていたら
			y++;                       // 下へ移動
		}
		if( Key[ KEY_INPUT_LEFT  ] >= 1 ){ // 左キーが押されていたら
			x--;                       // 左へ移動
		}
		if( Key[ KEY_INPUT_UP    ] >= 1 ){ // 上キーが押されていたら
			y--;                       // 上へ移動
		}

		DrawRotaGraph( x, y, 1.0, 0.0, Handle, TRUE ); // x,y の位置にキャラを描画

	}

	DxLib_End(); // DXライブラリ終了処理
	return 0;
}
 

これと

コード:

#include "DxLib.h"
 
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
        ChangeWindowMode( TRUE ) ; // ウインドウモードに変更
        if( DxLib_Init() == -1 ) return -1; // DXライブラリ初期化処理 エラーが起きたら終了 
 
        LoadGraphScreen( 0 , 0 , "back.bmp" , FALSE ) ;
        LoadGraphScreen( 0 , 0 , "主人公.png" , TRUE ) ;
 
        
        WaitKey() ;             // 結果を見るためにキー待ち(『WaitKey』を使用)
        DxLib_End() ;           // DXライブラリ使用の終了処理
        return 0 ;              // ソフトの終了
}
これです。
全くわかりませぬ・・・

アバター
ぱにしん
記事: 58
登録日時: 12年前
住所: 滋賀

Re: ↓のソース

#2

投稿記事 by ぱにしん » 12年前

この二つが別ファイルにそれぞれあるってことですか?

windowsプログラミングではWinMain関数から始まる、という事は理解されているでしょうか?
それ以前に同じ名前の関数は二つ以上定義できません。
(WinMain関数はプロトタイプ宣言されているのでちょっと方向性が違うかも知れませんが)

とりあえずどちらか一方の中に纏めましょう。
主人公の描画処理が二つになってしまいそうなので片方を消します。
オフトピック
詳しくは無いんですが描画のたびに画像を読み込む(?)
loadgraphscreen関数は向かないと思いますが・・・


追記
書き忘れてましたが、出来るだけ元のトピックの続きから使うようにしてくださいね。

えう

Re: ↓のソース

#3

投稿記事 by えう » 12年前

でどっちの消せばいいです?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: ↓のソース

#4

投稿記事 by softya(ソフト屋) » 12年前

元のトピックは、こちらでしょうか?
http://dixq.net/forum/viewtopic.php?f=3&t=10503
元のトピック続きということで記載願いますか? こっちは転記して閉鎖しておきます。
元のトピックに返信で続きに投稿できます。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

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