1人でゲームが作れるように修行します。2 (487レス)
1人でゲームが作れるように修行します。2 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
73: SGGK ◆6pZCoAtaxk [sage] 2010/09/05(日) 23:38:53 ID:glSoiJ6G >>70の下から4行に書いたやり方は諦める事にした。 vector3.hにfloat frametime=0;と書いてコンパイルすると frametimeは既に定義されてると言う内容のエラーが続々発生。 これは、vector3.hがいろんなcppファイルのヘッダーファイルにインクルードされてるからだろうと予想。 float frametime;と書き直しても同じ結果。初期化の有無は関係なかった様子。 vector3.hの中でfloat frametime;と書いておき、他のcppファイルでframetimeを使いたい場合には、 そのcppファイルのヘッダーファイルでなく、cppファイルの上の方の行でextern float frametime;と書いたら直った。 たぶんこれでframetimeは外部変数扱いになってどこからでも使える変数になったかなと思うけど、 ベクトル計算の関数定義の中で使おうと考えているframetimeの値が外部変数として渡すやり方だと なんとなく後々の問題になりそうなので、ベクトル計算用関数の引数を増やして、その引数に値経由でframetimeを渡せないかと考えて終了。 そして、frametimeの外部変数化も中止。(あまり進まず。) http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/73
79: SGGK ◆6pZCoAtaxk [sage] 2010/09/12(日) 23:34:04 ID:zuikLtmE ヘッダファイルあと残り1つ。 これは選手の移動関数を定義してるファイルだけど、気になる箇所があった。 今のプログラムは、どのような速度のパソコンでも60Hzで1フレーム時間あたりの移動量を1〜20ドットにしたい場合の移動量を 20個の配列を用意して入れてるんだけど、これが外部の移動関数から読めてる。 …というのは知ってたけどそういえばextern使ってないのに何故だろうと思い、14歳わくわくC++を調べてみると、 メンバ関数やメンバ変数にstaticを付けるとグローバルな関数、変数扱いに出来るとのこと。 そして呼び出すときには、クラス名::変数または関数とすればよいらしい。 さらに変数の場合は、外部に実体の定義が必要。 忘れてた…。 これは>>74氏のそのままでOKではないか〜!ということでextern無しで書くことにした。 よって>>73で言ってた >ベクトル計算用関数の引数を増やして、その引数に値経由でframetimeを渡せないかと も中止。 とりあえず、最後に残ったヘッダファイルにある移動関数の一つを書き直してコンパイルしてみたら通った。 移動関数はあと3つ残ってる。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/79
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.746s*