- 1 名前:1 [02/05/28 20:36 ID:pts0IQX6.net]
- ゲームの改造、製作等のプログラムに興味をもっています。
厨房に分かる程度優しく教えてくれた方にはお礼をイイマス
- 249 名前:社内ニート ◆OpY5DDvqSw [2011/02/19(土) 15:14:22 ID:XjdQQ+3S.net]
- 次は当たったところを変形させるほうほうだな〜。
>>201でうpされたようなやり方に変えてみたほうがいいかな。
- 250 名前:社内ニート ◆OpY5DDvqSw [2011/02/19(土) 15:20:39 ID:XjdQQ+3S.net]
- でも今日はやらねーけどな!
- 251 名前:名前は開発中のものです。 mailto:sage [2011/02/19(土) 23:41:27.07 ID:UpL2Vi1Q.net]
- アク禁がやっと解除されたようなので今更ですが、参考までに、>>212では、
@弾の位置を(x,y)、弾の発射速度を(vx,vy)とする。 ※(x,y)は砲台の位置から、(vx,vy)は砲台の角度から計算する。 考え方は>>242のa,bの計算方法と一緒ですが、pは1フレーム期間を基準にしています A1回の計算ごとに、 - vyに重力加速度gyを足す(gも1フレーム期間あたりの加速度です) -足し終えた(vx,vy)を(x,y)に加算する -(x,y)の地面を判定する/および描画更新 を繰り返しています。 風は考慮してませんでしたが、 いくら追い風でも風速より弾丸が早くなるのは不自然かと思うので、 水平方向に加速するのではなく相対速度が一致させるように漸近させる方法にします。 つまり、毎ループごとに vx= (1-k)*vx + k*windx (kは漸近化係数)で更新します。
- 252 名前:社内ニート ◆OpY5DDvqSw [2011/02/21(月) 21:43:01.40 ID:3YAa7u9w.net]
- おお、あんたもアク禁くらってたんですか。
何ででしょうね。 例の、通り魔予告兄弟の関係で広範囲にアク禁かかってたんでしょうか。 まあ、なんにしろ、ほんの1週間程度で解除されてよかったです。 それで、次にやってみようと思うのは、 弾の当たった地形が円形にえぐれるってことです。
- 253 名前:社内ニート ◆OpY5DDvqSw [2011/02/21(月) 21:44:08.08 ID:3YAa7u9w.net]
- 今、当たり判定は二次元配列に0か1の数字を入れたものでやっています。
まず、地形画像(地形.bmp)と、それと同じ形の白黒画像(地形_a.bmp)を用意します。 白黒画像をアルファチャンネルとして、地形画像の何も無いところを透明にします。 さらに、白黒画像と同じ形の二次元配列を別に用意して、それで当たり判定を行います。 この配列内に直接円形の変化をつけたいんです。 [0000000111110000000] [0000011111111100000] [0000111111111110000] [0000111111111110000] [0000011111111100000] [0000000111110000000] [0000000000000000000] こんな感じ。
- 254 名前:社内ニート ◆OpY5DDvqSw [2011/02/21(月) 21:57:39.46 ID:3YAa7u9w.net]
- すいません、話をうまくまとめられないので
結論だけいいます。 白黒BMPファイルを当たり判定に利用したいので BMPファイルなどについて質問させてください。 当たり判定用に、画像と別に2次元配列を用意するのは中止します。
- 255 名前:社内ニート ◆OpY5DDvqSw [2011/02/21(月) 22:13:55.56 ID:3YAa7u9w.net]
- まず、BMPファイルっていうのは
1.ファイルヘッダ 2.情報ヘッダ 3.ビットフィールド 4.カラーパレット 5.イメージデータ というものの集まりだということはわかりました。 そして、5.イメージデータっていうのが2次元配列になってるんだろうってこともわかりました。 ここまで合ってますか? そして、イメージデータに、 『map[640][2400]』 みたいなハンドルをつけてしまえば、 BMPファイル内のイメージデータを当たり判定用の配列としてそのまま利用できるんじゃないかと。 >>201のやってることってそういうことですか?DXライブラリじゃない書き方なんでいまいちわかりませんでした。
- 256 名前:社内ニート ◆OpY5DDvqSw [2011/02/21(月) 22:28:33.49 ID:3YAa7u9w.net]
- >>249-259は無視してください。
- 257 名前:社内ニート ◆OpY5DDvqSw [2011/02/21(月) 22:29:14.08 ID:3YAa7u9w.net]
- >>249-250です。すみません。
- 258 名前:名前は開発中のものです。 mailto:sage [2011/02/21(月) 22:57:16.81 ID:N0QjpwZi.net]
- BMPファイルには、白黒(2値)、16色、256色、フルカラーなどの種類があります。
それによってカラーパレットがあったり、なかったりします。 本題のイメージデータですが、やはり種類ごとに格納形式が違います。 この部分を2次元配列に直接読み込んで使おうとするなら、 256色無圧縮のファイルであることを前提に、配列はchar型で確保しておくことになります。 メモリの使用量を考えると非効率的なので、あれこれ検討していくと、 >>201の方式を含めて、なんらかの方法で2次元配列を用意することになるんじゃないかと思います。 ちなみに現時点で戦車の傾きを求めるとき、ピクセルの有無の参照には何を使っていますか?
- 259 名前:社内ニート ◆OpY5DDvqSw [2011/02/21(月) 23:44:32.25 ID:3YAa7u9w.net]
- >>254
ピクセル有無の判定のために、 白黒画像とは別に用意した、2次元配列を使っています。 この配列は、 GetPixelSoftImage で、白黒画像のピクセルを一つずつ調べて、 黒なら 0、白なら 1、といった風に、fprintf でファイルに書き出していきます。 そうやって作っておいた0と1のテキストファイルを ゲーム開始時にマップデータとして読み込んでいます。 ファイルに書き出したりしないで、 GetPixelSoftImage で、ピクセルが白か黒か調べて、いきなり配列 『map[640][2400]』 に、0と1を入れていってもよかったんですけど。
|

|