Admin * New entry * Up load * All archives 

C++&DirectXでプチプチゲーム制作をしています。文章力?気合で乗り越えるさ。

 

旧 ゲーム的な何か。

09«1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.»11
このページの記事一覧

    

Posted on --:--:-- «edit»

Category:スポンサー広告

スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

tb: --     com: --

go page top

Posted on 01:04:45 «edit»

Category:異境

角度指定弾実装 

今日英検準2級の面接受けてきました。
1問盛大に間違えましたがそれ以外はOKでした。
面接直前に今日実装する関数のメモを書いていまして、準備なんかしてませんでしたからねぇ。

今日の成果はこちら。

角度指定弾

敵が5way弾を放ってきます。弾の方向は進行方向通りになっています。
で、ショットかビームが当たると赤いエフェクトが散って、爆発時は丸いエフェクトが広がります。

いやー。これで処理速度を落とさずに回転させられましたね。(ビームの表示がおかしかったので無理やり補正するなどしてますが)
後々ネックになるか心配ですが、とりあえずうまくいきました。

uv座標って、
(0.0, 0.0),(1.0, 0.0), (0.0,1.0),(1.0,1.0)
という4つの変数で指定するので、コードが非常に複雑です。

//回転の中心から各頂点への距離を求める
float
disuv = sqrt(pow(pu - u, 2) + (pow(pv - v, 2))),
disduv = sqrt(pow(pu - du, 2) + (pow(pv - v, 2))),
disudv = sqrt(pow(pu - u, 2) + (pow(pv - dv, 2))),
disdudv = sqrt(pow(pu - du, 2) + (pow(pv - dv, 2)));

//角度を求める
float rad = D3DX_PI*2*-dir;

//各uv座標を求める
float
uvx = pu + sin(-rad+atan2(u-pu, v-pv)) * disuv,
uvy = pv + cos(-rad+atan2(u-pu, v-pv)) * disuv,
duvx = pu + sin(-rad+atan2(du-pu, v-pv)) * disduv,
duvy = pv + cos(-rad+atan2(du-pu, v-pv)) * disduv,
udvx = pu + sin(-rad+atan2(u-pu, dv-pv)) * disudv,
udvy = pv + cos(-rad+atan2(u-pu, dv-pv)) * disudv,
dudvx = pu + sin(-rad+atan2(du-pu, dv-pv)) * disdudv,
dudvy = pv + cos(-rad+atan2(du-pu, dv-pv)) * disdudv;

//構造体にデータを入れる
theCUSTOMVERTEX vertex[6]={
{D3DXVECTOR3(x-dx/2.0f, y-dy/2.0f, 0.0f), 1.0f, color, uvx, uvy},
{D3DXVECTOR3(x+dx/2.0f, y-dy/2.0f, 0.0f), 1.0f, color, duvx, duvy},
{D3DXVECTOR3(x+dx/2.0f, y+dy/2.0f, 0.0f), 1.0f, color, dudvx, dudvy},

{D3DXVECTOR3(x+dx/2.0f, y+dy/2.0f, 0.0f), 1.0f, color, dudvx, dudvy},
{D3DXVECTOR3(x-dx/2.0f, y+dy/2.0f, 0.0f), 1.0f, color, udvx, udvy},
{D3DXVECTOR3(x-dx/2.0f, y-dy/2.0f, 0.0f), 1.0f, color, uvx, uvy}
};

描画処理etc...

どうでしょうか。この羅列。個人的に頭がくるいそうでした。なによりコードの書き方が下手で下手で。
uvが左上の指定、duvが右上、udvが左下、dudvが右下です。
回転させる中心であるpu,pvも加えられています。
四角形をある1点を中心にして回転させるといえばいいでしょうか。

まぁなんとか行ったのでよしとしましょう。
後ショット関係で実装すべきはショットの消滅時のエフェクトぐらいですね。
これからそれをやってきます。

ではでは。

テーマ: プログラミング

ジャンル: コンピュータ

 Re: 角度指定弾実装

MIDI打つの楽しいね!勝手に指が動いちゃうんDA☆

さて、それはさておきだな、レーザーの画像についてだ。中心を他より赤い(明るい?)細い線にすれば少しは見栄えがよくなると思うんだ。

その理由としては、お前にも分かるように説明するのなら、銃ってのは普通に考えると狙いが分かりづらいだろ?それを改善するためにレーザーポインタを付けることがあるんだな。そうしたら、少しは絵がマシになるんじゃないかと助言。

  by お箸侍

Comment-WRITES

go page top

 この記事に対するコメント 

Re: 角度指定弾実装

MIDI打つの楽しいね!勝手に指が動いちゃうんDA☆

さて、それはさておきだな、レーザーの画像についてだ。中心を他より赤い(明るい?)細い線にすれば少しは見栄えがよくなると思うんだ。

その理由としては、お前にも分かるように説明するのなら、銃ってのは普通に考えると狙いが分かりづらいだろ?それを改善するためにレーザーポインタを付けることがあるんだな。そうしたら、少しは絵がマシになるんじゃないかと助言。

2009/02/22 21:35 | URL | お箸侍 #jxXrUBXM  edit

go page top

 コメント投稿 
Secret

go page top

 トラックバック 
トラックバックURL
→http://frontiersman.blog61.fc2.com/tb.php/106-06d4fd79
この記事にトラックバックする(FC2ブログユーザー)

go page top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。