DXライブラリ初心者です

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

DXライブラリ初心者です

#1

投稿記事 by j1☆☆☆m☆t » 11年前

画像を表示させることはできるのですが、動かすとデバックエラーになります知恵を貸してください。

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

Re: DXライブラリ初心者です

#2

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

ちょっと情報が足らないのでもう少し詳しくお願いします。
ソースコードと起きる問題の具体な説明(どのような操作した)が書かれているのが一番で、デバッグエラーならそのエラーコードを記載して下さい。

ソースコードの記載にはコードタグをご利用下さい。
http://dixq.net/board/board.html#k10
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

質問者です

Re: DXライブラリ初心者です

#3

投稿記事 by 質問者です » 11年前

コード:



#include "DxLib.h"

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

        int x = 0;
        int Handle;     // 画像格納用ハンドル
        Handle = LoadGraph( "画像/キャラクタ00.png" ); // 画像のロード

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

                DrawGraph( x,   100, Handle, TRUE ); //画像の描画
                DrawGraph( x/2, 200, Handle, TRUE ); //画像の描画
                DrawGraph( x/4, 300, Handle, TRUE ); //画像の描画
                x = x + 2; // xを2増やす

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


質問者です

Re: DXライブラリ初心者です

#4

投稿記事 by 質問者です » 11年前

出力画面?です

1>------ ビルド開始: プロジェクト: GameProg, 構成: Debug Win32 ------
1>2013/09/19 22:02:08 にビルドを開始しました。
1>InitializeBuildStatus:
1> "Debug\GameProg.unsuccessfulbuild" のタッチ タスクを実行しています。
1>ClCompile:
1> すべての出力が最新のものです。
1>ManifestResourceCompile:
1> すべての出力が最新のものです。
1>LINK : fatal error LNK1168: ファイル C:\Users\稜太郎\Desktop\GameProg\Debug\GameProg.exe を開いて書き込むことができません。
1>
1>ビルドに失敗しました。
1>
1>経過時間 00:00:00.24
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

sozai
記事: 57
登録日時: 12年前
住所: 日本-関東
連絡を取る:

Re: DXライブラリ初心者です

#5

投稿記事 by sozai » 11年前

質問者です さんが書きました:

コード:


        int x = 0;
        int Handle;     // 画像格納用ハンドル
        Handle = LoadGraph( "画像/キャラクタ00.png" ); // 画像のロード

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

                DrawGraph( x,   100, Handle, TRUE ); //画像の描画
                DrawGraph( x/2, 200, Handle, TRUE ); //画像の描画
                DrawGraph( x/4, 300, Handle, TRUE ); //画像の描画
                x = x + 2; // xを2増やす

        }
名前はユニークで今後も使うものにしてください。
それで、エラーについてですが、原因はxが0であることではないでしょうか?
C言語で0除算はエラーになりますので。
[hr]
Is it true?
Function = a==b;

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

Re: DXライブラリ初心者です

#6

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

名前は無闇に変更しないようにお願いします。覚えていられないなら覚えやすく個性的な名前をお決め下さい。

エラーを見るとリンクでエラーを起こしていますので、デバッグではなくコンパイル・リンク時のビルドエラーです。
> GameProg.exe を開いて書き込むことができません。
と有りますので、前に起動したプログラムがちゃんと終了していない状況だと思います。
タスクマネージャで GameProg.exe を終了させるとビルドエラーはなくなります。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

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

Re: DXライブラリ初心者です

#7

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

sozai さんが書きました:名前はユニークで今後も使うものにしてください。
それで、エラーについてですが、原因はxが0であることではないでしょうか?
C言語で0除算はエラーになりますので。
割る方の数が0ではないので大丈夫です。
0で割ると数学的に未定義となるので、CPU(コンピュータ)的にも答えが求められないまずい状況になるのでエラーと成るのです。
「ゼロ除算 - Wikipedia」
http://ja.wikipedia.org/wiki/%E3%82%BC% ... 4%E7%AE%97
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

sozai
記事: 57
登録日時: 12年前
住所: 日本-関東
連絡を取る:

Re: DXライブラリ初心者です

#8

投稿記事 by sozai » 11年前

> j1☆☆☆m☆t 様
>softya様
失礼しました。
[hr]
Is it true?
Function = a==b;

閉鎖

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