龍神録の館8章キャラの移動について

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

龍神録の館8章キャラの移動について

#1

投稿記事 by 小腸 » 13年前

一昨日、触り始めたばかりのド初心者です
かなり初歩的な問題なのか自分の疑問に該当するトピックが見つからなかった為、
恐縮ながら質問させていただきます

龍神録の館ではキャラ描画関数とキー入力関数を分けています
館ではこの際にグローバル変数を扱っていたので理解できたのですが
グローバル変数は使わない方がいいと聞きました

グローバル変数を使わない場合、どうしたら良いのか分かりません
描画関数からキー操作関数にキャラ座標を渡してキー操作処理を終えた後、
新しい座標を描画関数に返すというやり方が思いつきました
でも、実際ゲームをつくるとなると当たり判定関数にも座標がいるし、その他もろもろ関数にも
座標がいるので一々、値を受け渡ししているのは難しいことに思えます
よって、この考え方に自身がありません

色々、抜けている質問なのかもしれませんができれば専門用語抜きで正解を教えてください
よろしくお願いします

nil
記事: 428
登録日時: 13年前

Re: 龍神録の館8章キャラの移動について

#2

投稿記事 by nil » 13年前

完全に専門用語を取り払った状態で説明するのは無理なので、小腸さんの理解度に応じて
適宜調べながら読んでください。場合によっては質問をして下さい。

まずはじめに描画関数からキー操作関数は呼び出さず、メイン関数から呼び出すべきです。
何故ならば、キー操作は描画という関数の目的から離れたものだからです。

そしてメイン関数からキー操作関数を呼び出すときなのですが、ポインタを使うとよいでしょう。

全体的な流れとしては

コード:

int メイン関数(){
    変数定義
	while( 1 ){
		キー操作関数( 変数のポインタ );
		描画関数( 変数 );
	}
}
となります。
ここを見ればいいかもしれません

tutu
記事: 9
登録日時: 13年前

Re: 龍神録の館8章キャラの移動について

#3

投稿記事 by tutu » 13年前

グローバル変数は、いずれ必要になると思いますよ(僕の経験は浅いのですが)。
グローバル変数はあとで別のものに利用できると思うのでぜひ一度使ってみてください(僕は分かりやすいので使っています)。

アバター
Dixq (管理人)
管理人
記事: 1662
登録日時: 14年前
住所: 北海道札幌市
連絡を取る:

Re: 龍神録の館8章キャラの移動について

#4

投稿記事 by Dixq (管理人) » 13年前

仰るようにグローバル変数はC言語の設計を熟知した上で・・という以外使うべきではありません。

外から変更できる危険性があるだけでなく、
モジュールの多重化、汎用性・・様々な要素に悪影響を与えます。
こちらの「ゲームプログラミング設計」にグローバル変数を使わなくてもできるゲームの設計について紹介しています。
http://dixq.net/g/
よければご覧ください。

閉鎖

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