1人でゲームが作れるように修行します。2 (487レス)
1人でゲームが作れるように修行します。2 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
87: SGGK ◆6pZCoAtaxk [sage] 2010/09/17(金) 00:11:53 ID:iwt7bbkw ベクトルの構造体を宣言・定義したから、ボールや選手などのオブジェクトの 座標その他のメンバ変数を初期化するときには、例えば初期化関数の内部で オブジェクト.x=848; オブジェクト.y=544; オブジェクト.z=0; としていたのを オブジェクト.構造体変数名 = {848、544、0}; にできるのではと期待して書いてみるとエラーになる。 略)\source\ballcontrol.cpp(45) : error C2059: 構文エラー : '{' 略)\source\ballcontrol.cpp(45) : error C2143: 構文エラー : ';' が '{' の前にありません。 略)\source\ballcontrol.cpp(45) : error C2143: 構文エラー : ';' が '}' の前にありません。 これと同じようなエラーをクラスのオブジェクトでやった経験を思い出し、 オブジェクト.構造体変数名.x=848; オブジェクト.構造体変数名.y=544; オブジェクト.構造体変数名.z=0; と書いたらエラーは出なくなった。 これだけならまだしも関数の引数にも構造体を使おうとしているので、 これもエラーになったらどうしようかと思いつつ、動作している事を優先して作業を進め、 現在のバグは274個。 ネットで調べると自分では構造体を書いたつもりでいても、Cの構造体とC++の構造体には違いがあるらしくて、 自分が見たサイトの説明によれば、 実は、構造体はメンバがデフォルトで公開されているクラスである。 つまり、 "stuct X{" = "class X{ public :" となる。クラスと構造体の差異はそれだけである。 との事。 Cで書いたベクトルの記事を本で見て、それを今まで書いてたC++のソースに 使おうとしたから、自分の気付かない理由で上手くいってない感じ。 まずは今のままで進めてみて関数にベクトル構造体を引数にしたところでも 問題が出るようなら、また考え直すつもり。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/87
88: 名前は開発中のものです。 [sage] 2010/09/17(金) 02:15:46 ID:zNJRouQ+ >>87 見方を変えると「Cの構造体に関数も書けるようにしたものがC++の構造体」とも言えると思う Cの構造体で出来ることはC++でもそっくりそのまま書けると思うんだけどね >自分の気付かない理由で上手くいってない感じ。 バグに関して絶対こうだとは言えないが、CとC++の違いが原因ではないような気がするなー http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/88
89: 名前は開発中のものです。 [sage] 2010/09/17(金) 22:28:19 ID:pd/LBTti >>87 x、y、zを初期化するコンストラクタを定義されていれば オブジェクト.構造体変数名 = クラス名(848,544,0); のような代入ができる。 もしくは、構造体変数をセットするメンバ関数を定義してもいいかも。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/89
93: 名前は開発中のものです。 [sage] 2010/09/18(土) 01:45:54 ID:ZJvrb5gA >>92 >ベクトル関係もクラス化する最終手段に挑戦してみようと思います。 >>87は自分で書いててよく分かってないみたいだけど、classとstructは根本的には同じもの struct Vector3{ Vector3(float x_, float y_, float z_): x(x_), y(y_), z(z_){} float x,y,z; }; void main(){ Vector3 a(1,2,3); cout << a.x << " : " << a.y << " : " << a.z << endl; a = Vector3(4,5,6); cout << a.x << " : " << a.y << " : " << a.z << endl; } http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/93
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.030s