龍神禄プログラミングの館4章において

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

龍神禄プログラミングの館4章において

#1

投稿記事 by Yusha » 11年前

#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]が何を表すのかがさっぱりわかりません。教えていただける方がいましたらよろしくお願いいたします。

Rittai_3D
記事: 525
登録日時: 12年前

Re: 龍神禄プログラミングの館4章において

#2

投稿記事 by Rittai_3D » 11年前

コードを記載する時はコードタグを使用し、適切なインデントをして頂けると読みやすくて助かります。フォーラムルール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]番目の画像を表示しろ、ということです。

わかりづらい説明でごめんなさい。
初心者です

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: 龍神禄プログラミングの館4章において

#3

投稿記事 by みけCAT » 11年前

ch.imgはch_t型(このプログラムでは構造体)の変数chの、imgメンバです。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

Yusha

Re: 龍神禄プログラミングの館4章において

#4

投稿記事 by Yusha » 11年前

3D_3Dさん返信ありがとうございますm(__)m

一つ目の質問の方は理解することができました!!

二つ目の質問についてですが、img_ch[0]の配列の中の[ch.img]番目の画像ということなのでしょうか??

また、img_ch[0][ch.img]は具体的に何番目の画像というように捉えることができるのでしょうか??

質問ばかりですいませんm(_ _)m

Yusha

Re: 龍神禄プログラミングの館4章において

#5

投稿記事 by Yusha » 11年前

みけCATさん返信ありがとうございますm(_ _)m

ということは、img_ch[0]の配列の中の要素を状況に応じて違うものを読み込むという解釈でよろしいのでしょうか??

Rittai_3D
記事: 525
登録日時: 12年前

Re: 龍神禄プログラミングの館4章において

#6

投稿記事 by Rittai_3D » 11年前

二つ目の質問についてですが、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;
}
のような記述があります。コードを追加する前とした後の変化を見るのも面白いと思います。
初心者です

Yusha

Re: 龍神禄プログラミングの館4章において

#7

投稿記事 by Yusha » 11年前

ありがとうございました!!
無事納得することができました!
また質問することがあるかもしれませんがその時はよろしくお願いしますm(_ _)m

閉鎖

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