ページ 11

ロード無しで描画できるのは何故か [DXライブラリ]

Posted: 2012年5月18日(金) 22:50
by Quick
まだc言語初めて一時間もたってません;
1.4章 画像をロードして表示する↓URL
http://dixq.net/g/01_04.html
で、 int LoadGraph( char *FileName ) ; という宣言によって画像ファイルをモリへの読みこまなければいけないと書いているのですが、
それをやらずに、 int DrawGraph( int x, int y, int GrHandle, int TransFlag ) ; やってみましたら画像が表示されてしまいました。これは何故なのですか?

ちなみにint LoadGraph( char *FileName ) ; をデバックなしで開始してみましたらエラーが起きてしまいました

後、宣言について説明をしていただければ幸いです。


※ タイトル「すみません」を質問内容が分かるものに修正しました。(管理人)

Re: すみません;

Posted: 2012年5月18日(金) 22:56
by Suikaba
できれば、Quickさんが書いたコードも載せていただけると説明しやすいです。
大体は想像がつきますが、どうしても推測での回答になってしまって良くないかなぁと。
宣言については、DxLib側で行なっているので、#include "DxLib.h"としておけばいいです。
QuickさんがLoadGraph等の宣言を行う必要はありませんよ。

個人的には、C言語の勉強とこのサイトでの勉強を並行してやったほうがいいかなと思います。
前提知識なしでも出来るとは書かれていますが、やっているのとやっていないのでは大きく変わってくるかなと思います。
個人的な意見ですが参考程度に・・・

Re: すみません;

Posted: 2012年5月18日(金) 22:59
by softya(ソフト屋)
Quick さんが書きました:まだc言語初めて一時間もたってません;
1.4章 画像をロードして表示する↓URL
http://dixq.net/g/01_04.html
で、 int LoadGraph( char *FileName ) ; という宣言によって画像ファイルをモリへの読みこまなければいけないと書いているのですが、
それをやらずに、 int DrawGraph( int x, int y, int GrHandle, int TransFlag ) ; やってみましたら画像が表示されてしまいました。これは何故なのですか?
その表示されたソースコードをcodeタグを使い添付してみてください。
そうすればお答えできると思います。こちらではコードがないと予想も出来ません。
Quick さんが書きました:ちなみにint LoadGraph( char *FileName ) ; をデバックなしで開始してみましたらエラーが起きてしまいました
そのエラーとエラーを起こしたソースコードを添付してみてください。
初心者の書くコードは予想を超えますので勘でお答えできない可能性が高いです。
Quick さんが書きました:後、宣言について説明をしていただければ幸いです。
あとC言語の説明は掲示板では困難ですので、C言語の入門サイトなどで勉強されることをおすすめします。
質問の意図次第では答えられるかも知れませんが、何も知らない人に答えるのは非常に困難です。

Re: すみません;

Posted: 2012年5月18日(金) 23:05
by softya(ソフト屋)
Suikaba さんが書きました: 前提知識なしでも出来るとは書かれていますが、やっているのとやっていないのでは大きく変わってくるかなと思います。
個人的な意見ですが参考程度に・・・
一応、ゲームプログラミングの館はC言語の初歩的な知識が必要とは書かれています。
引用「C言語の初歩的な知識しか無くても簡単に、本格的なゲームが作れてしまう」
http://dixq.net/g/

Re: すみません;

Posted: 2012年5月19日(土) 10:03
by Suikaba
>> softyaさん
あら、本当ですね。訂正ありがとうございます。
失礼しました。

Re: すみません;

Posted: 2012年5月19日(土) 11:58
by Dixq (管理人)
ゲームプログラミングの館の前書き「C言語って何?」から読んで頂けると幸いです。
softyaさんが仰る通り、C言語の知識がない方をターゲットとしているサイトではないので、
いきなりゲームを作ろうとすると無理が来ると思います。

また、ロードせずに表示できることはありません。
もし出来たならコンパイルに失敗しており、前の実行ファイルが実行された、といった感じではないでしょうか。
実行ファイルを消し、リビルドしてみると分かりますが、動作しないと思います。

DXライブラリはLoadGraphをするとライブラリの中で画像がロードされ、その画像を識別する識別子が返ってきます。
以降はその識別子を利用して描画することになり、DrawGraphの第3引数がそれです。