1人でゲームが作れるように修行します。2 (487レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
241
(1): SGGK ◆6pZCoAtaxk [sage] 2011/05/11(水) 23:28:32.89 ID:dXE++lT+(1) AAS
すぐには進まないけど、当たり判定用関数の実装終了。
宣言と定義しただけで、まだ実際には使っていないので、バグが出るかもしれない。
選手がボールを蹴れるようにする実装を検討中。
>>233
233(3): SGGK ◆6pZCoAtaxk [sage] 2011/05/08(日) 22:55:14.85 ID:MKRAe4w3(1) AAS
今日もあまり進まず。
当たり判定クラスの中に作った矩形当たり判定用メンバ関数は最初は、
bool CollisionCheck::isHit(FieldPlayer *, BallData *);//選手とボールの当たり判定
のようなものを考えていたけど、
bool CollisionCheck::isHit(VECTOR,int,int,VECTOR,int,int);//引数:オブジェクト座標、当たり矩形縦、横、オブジェクト座標、当たり矩形縦、横
に変更してみた。1番目の方は選手とボールにしか使えないけど、2番目のようにすれば汎用性が高いのではと考えたのが理由。

ボールをけるボタンを押したときに選手とボールのあたりが真なら、ボールが一定の速度で移動するようにするつもり。
そのときに何回ループしたらボール停止というのではなく、ボールの速度が少しずつ0に近づき、0になったら停止するようにしたいけど、
物理を忘れてしまってるし、当時の記憶がよみがえったとしても問題は解けなかったと思うので、
紙に点と矢印を書いて、どうするか考えてるところ。
で言ってた
>ボールをけるボタンを押したときに選手とボールのあたりが真なら、ボールが一定の速度で移動するようにするつもり。
を実装するにはキック用キーを押した時に選手とボールの座標を取得して当たり判定をして、
当たりなら、例えばボールの状態の変数をセットしてそれに応じてボールの挙動が変化するみたいにすればよさそうだけど、
それをどこに書くかが悩むところで、選手のクラス内にも書けるし、ボールのクラス内でも書けそうな気がする。
でも、今回は選手やボールに関係するオブジェクト、その他のオブジェクトをメンバ変数に持っているSoccerGameクラスの中に
メンバ関数calVariousState()を定義して、その中でやってみるつもり。
SoccerGameクラス内のメンバ関数からなら他のメンバになってる選手やボールのオブジェクトとも情報のやりとりが
しやすそうだし、既に書いてあるcalMatchState()や calTimeResetState()と似た役割の関数になると思うので書きやすいかもしれない。
calVariousState()の中でいろいろなオブジェクトの状態を表す変数を更新して、その結果が他のオブジェクトに反映されるイメージ。
できるかどうか自信無し…。
247: SGGK ◆6pZCoAtaxk [sage] 2011/05/25(水) 23:02:14.26 ID:WTP3xbuq(1/2) AAS
>>246
246(1): 179 ◆SLG//siTD6 [sage] 2011/05/25(水) 02:34:04.49 ID:XYH4jaxx(1) AAS
チョイ調べたらイテレータからポインターにぶち込めるみたいだったけど
p = &*it みたいな感じで。

>>244 のは、選手数えて保持すればいいんじゃって事・・・w
やってる事は選択ソートとあまり変わらないし、保持したところでアクセスにもループいるから微妙っちゃ微妙。
ポインタ配列ソートならp[7] で7番目にアクセスできるから便利だね

チラ裏:
何をやろうとしてたか忘れたので
とりあえず資源関係を追加してみた。
TOPバーに数個のボタンと資源の残量表示するようにした。

次は資源基地の占領とか作ってみるかなぁ
あーでもユニットクラスの再設計もいるような・・・アニメーションクラスも作ってないし・・・orz
ありがとうございます。今思うと自分のソースでも (*it).メンバ関数 のように書いてるところもあり、
*it がオブジェクトのような感じなので、それを考えれば p = &*it でやれそうなのにこれは全然思いつかなかった。
ノートに書いて忘れないようにしておきます。
ソートが今丁度出来たところなので、イテレータへのポインタ方式のソースへの適用は次回かそれ以降のソース改良のときに挑戦してみたいと思います。

ソート書くのに時間が掛かってしまい、途中で作業ペースも落ち気味になる。
ゲームスタート直後は選手とボールの距離が同じデータが複数あるので、
例えば1,1,1,1,5,6,7…になるはずのが、4,4,4,4,5,6,7…になってしまい悩んだけど、
番号付けるループ内にbreak文を入れたら直った。
これだけだと説明不足だけど、今回のはものすごく長いので、ソースの次回UPで見てもらえると助かります。

これで>>241まで戻ってボールを蹴る処理の実装に取り組めそうな予感。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.027s