ページ 1 / 1
龍神禄プログラミングの館4章において
Posted: 2014年7月19日(土) 21:14
by Yusha
#include "../include/GV.h"
extern int img_ch[2][12];
void load(){
LoadDivGraph( "../dat/img/char/0.png" , 12 , 4 , 3 , 73 , 73 , img_ch[0] ) ;
}
のimg_ch[0]が多重配列なのに[]が一つしかないのかよくわかりません。
#include "../include/GV.h"
extern ch_t ch;
extern int img_ch[2][12];
void graph_ch(){
DrawRotaGraphF(ch.x,ch.y,1.0f,0.0f,img_ch[0][ch.img],TRUE);
}
void graph_main(){
graph_ch();
}
また、の[ch.img]が何を表すのかがさっぱりわかりません。教えていただける方がいましたらよろしくお願いいたします。
Re: 龍神禄プログラミングの館4章において
Posted: 2014年7月19日(土) 21:48
by Rittai_3D
コードを記載する時はコードタグを使用し、適切なインデントをして頂けると読みやすくて助かります。フォーラムルール
http://dixq.net/board/board.htmlをお読みください。
Yusha さんが書きました:コード:
#include "../include/GV.h"
extern int img_ch[2][12];
void load(){
LoadDivGraph( "../dat/img/char/0.png" , 12 , 4 , 3 , 73 , 73 , img_ch[0] ) ;
}
のimg_ch[0]が多重配列なのに[]が一つしかないのかよくわかりません。
コード:
#include "../include/GV.h"
extern ch_t ch;
extern int img_ch[2][12];
void graph_ch(){
DrawRotaGraphF(ch.x,ch.y,1.0f,0.0f,img_ch[0][ch.img],TRUE);
}
void graph_main(){
graph_ch();
}
また、の[ch.img]が何を表すのかがさっぱりわかりません。教えていただける方がいましたらよろしくお願いいたします。
img_chは[2][12]の二重配列、つまり
コード:
img_ch[0] : [0][1][2]...[11]
img_ch[1] : [0][1][2]...[11]
となっています。(分かりづらい図になってしまいました)
コード:
LoadDivGraph( "../dat/img/char/0.png" , 12 , 4 , 3 , 73 , 73 , img_ch[0] ) ;
の部分は「img_ch[0]の0から11まで、(縦73ピクセルが4個)*(横73ピクセルが3つ)の画像ハンドルを設定している」です。(これまたわかりづらい説明でごめんなさい)
一応LoadDivGraph()のリファレンスです
http://homepage2.nifty.com/natupaji/DxL ... .html#R3N3
ここに使い方が書いてあるのでみてみると良いと思います。
ch.imgは読み込んだプレイヤのアニメーション番号(これで伝わるかな?)です。
つまり、LoadDivGraph()で読み込んだ画像をDrawRotaGraph()でimg_ch[0][ch.img]番目の画像を表示しろ、ということです。
わかりづらい説明でごめんなさい。
Re: 龍神禄プログラミングの館4章において
Posted: 2014年7月19日(土) 22:16
by みけCAT
ch.imgはch_t型(このプログラムでは構造体)の変数chの、imgメンバです。
Re: 龍神禄プログラミングの館4章において
Posted: 2014年7月19日(土) 22:22
by Yusha
3D_3Dさん返信ありがとうございますm(__)m
一つ目の質問の方は理解することができました!!
二つ目の質問についてですが、img_ch[0]の配列の中の[ch.img]番目の画像ということなのでしょうか??
また、img_ch[0][ch.img]は具体的に何番目の画像というように捉えることができるのでしょうか??
質問ばかりですいませんm(_ _)m
Re: 龍神禄プログラミングの館4章において
Posted: 2014年7月19日(土) 22:24
by Yusha
みけCATさん返信ありがとうございますm(_ _)m
ということは、img_ch[0]の配列の中の要素を状況に応じて違うものを読み込むという解釈でよろしいのでしょうか??
Re: 龍神禄プログラミングの館4章において
Posted: 2014年7月19日(土) 23:46
by Rittai_3D
二つ目の質問についてですが、img_ch[0]の配列の中の[ch.img]番目の画像ということなのでしょうか??
そういうことです。
ということは、img_ch[0]の配列の中の要素を状況に応じて違うものを読み込むという解釈でよろしいのでしょうか??
(みけCATさんへの返信ですが)
読み込むのではなく描画です。考え方はあっています。
また、img_ch[0][ch.img]は具体的に何番目の画像というように捉えることができるのでしょうか??
printfDx()やらDrawFormatString()で表示すればわかります。
コードで分からない箇所がある時は、まず他人に質問するより、自分であれこれいじって動かしてみて「なるほど、だからこういう挙動をするのか」とすることが、プログラミングの上達のコツだと思います。どうしてもわからない時は質問し、自分はこれこれこうと考えたがこうではなかった。なぜこうなる?のように自分の考えを載せた方がいいと思います。
長々と説教じみたことを書いてしまいました……。すいません。
オフトピック
また、しばらく後の講座で、
コード:
void calc_ch(){
ch.cnt++;
ch.img=(ch.cnt%24)/6;
}
のような記述があります。コードを追加する前とした後の変化を見るのも面白いと思います。
Re: 龍神禄プログラミングの館4章において
Posted: 2014年7月20日(日) 10:50
by Yusha
ありがとうございました!!
無事納得することができました!
また質問することがあるかもしれませんがその時はよろしくお願いしますm(_ _)m