マウスを使ったショット 続き

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
でんすけ

マウスを使ったショット 続き

#1

投稿記事 by でんすけ » 16年前

以前「マウスを使ったショット」を投稿した者です。
弾の画像を回転させるにはどこをいじって、どのような計算をさせればよいのでしょうか?
あと発射される位置も回転させたいのですが、どうしたらよいでしょうか?
// cshot.cpp
// 通常ショット登録
void ch0_shot_pattern()
{
	int k;
	for( int i = 0; i < cshot0num[ch.power < 200?0 : 1]; i++ )
	{
		if( ( k = search_cshot() ) != -1 )
		{
			cshot[k].flag	= 1;
			cshot[k].cnt	= 0;
			cshot[k].angle	= atan2( MouseY - ch.y, ( MouseX - 30 ) - ch.x );
			cshot[k].spd	= 20;
			cshot[k].x	= ch.x + cshot0pos_x;
			cshot[k].y	= ch.y + cshot0pos_y;
			cshot[k].power	= 23;
			cshot[k].knd	= 0;
		}
	}
	se_flag[2]	= 1;	// 発射音オン
}

いじったのは cshot[k].angle です。
MouseX, MouseYはマウスの位置を取得して格納してます。

situmon

Re:マウスを使ったショット 続き

#2

投稿記事 by situmon » 16年前

1.弾の画像の回転。
それ自体を回転すればいいですので、
DrawRotaGraphで
PI*((double)count*(回転するスピード)をangleにいれればいいです。
詳しくは、ゲームプログラミングの館の51章をご覧ください。
2.発射される位置の回転、についてですが、言っている意味がよくわからないのですが、
円回転をすればいいと思います。

でんすけ

Re:マウスを使ったショット 続き

#3

投稿記事 by でんすけ » 16年前

質問の仕方が悪かったようです。
今、マウスの位置に向かって自機ショットが飛んでいっているのですが、
ショット画像が上を向いたままになっているんです。

飛んでいっている方向に画像を向けるにはどうしたらいいでしょうか?

situmon

Re:マウスを使ったショット 続き

#4

投稿記事 by situmon » 16年前

自機ショットの角度+PI/2です。
DrawRotaGraph( ショットの中心座標のx座標 , ショットの中心座標のy座標 , 大きさ , 自機ショットの進んでいる角度+PI/2 ,画像ハンドル , 透過するかどうか ) ;
です。
画像が上を向いているのはその方向に飛ばすプログラムではなく、
その画像を描くプログラムを変えれば直るはずです。
もしわからなければ、どのようにしてショットを描いているのかのコードを見せていただければわかるかもしれません。

でんすけ

Re:マウスを使ったショット 続き

#5

投稿記事 by でんすけ » 16年前

解決しました!
どうもありがとうございます!

閉鎖

“C言語何でも質問掲示板” へ戻る