自機のオプションについて

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

自機のオプションについて

#1

投稿記事 by 氷水華 » 16年前

東方永夜抄での藍の敵にホーミング?して敵が死ぬ(画面から消える)まで攻撃し続けるようにするにはどうすればよろしいでしょうか???
あと、作品を忘れましたが、オプションが後をついてきて、低速でオプション間隔を固定して移動できるみたいなのはどうすればよろしいでしょうか?

質問ばかりすいません

ねこ

Re:自機のオプションについて

#2

投稿記事 by ねこ » 16年前

<藍
1.敵の存在の有無を確認する。
2.存在する敵(1番目か最近敵)に対して接近処理を実行する。存在しない場合はプレイヤー側へ徐々に戻る。

<レミリア系
1.オプションが自機を追従するような動作を作成する。
2.低速(SHIFT?)ボタンを押した時は移動処理を行わない。


詳細に関しては氷水華さんがどのように作っているのかが分からないため答えられません。

pooka

Re:自機のオプションについて

#3

投稿記事 by pooka » 16年前

>オプションが後をついてきて
こちらが参考になるかもしれません。
ttp://www.play21.jp/board/formz.cgi?action=res&resno=32533&page=&lognum=100&id=dixq&rln=32537

氷水華

Re:自機のオプションについて

#4

投稿記事 by 氷水華 » 16年前

>ねこさん
なるほど、そういう風にすれば出来るのですね。ありがとうございます。
出来れば藍の方のプログラムだけ教えていただきたいです。



>pookaさん
ありがとうございます。これでついて来るのが実装出来ます。




自分はC++で縦スクロールを作ってます

ねこ

Re:自機のオプションについて

#5

投稿記事 by ねこ » 16年前

<自分はC++で縦スクロールを作ってます
いえそういうことではなく、龍神録50章をベースにとかこんなシステムで~とかそういう意味です。

とりあえず龍神録をベースに作ってると仮定して以下のソースを参考にして下さい。
変数名はうろ覚えなので、適切に置き換えてください。
負荷考慮していないので、常に敵を検索する処理になってます。
軽減するためには策敵インデックスを付けるとかありますが、ひとまず今回は動きの実装部分だけ。
bool bFind = false;
double spd = 20;	// スピード、この値が小さいほど接近スピードが速い。0はだめ。
for( int i = 0; i < ENEMY_MAX; i++ )
{
	// 存在フラグが無ければコンテニュー
	if( enemy[ i ].flag == 0 )
		continue;
	// 敵へ接近する
	opion_bb[ 0 ].x += ( enemy[ i ].x - opion_bb[ 0 ].x ) / spd;
	opion_bb[ 0 ].y += ( enemy[ i ].y - opion_bb[ 0 ].y ) / spd;
	// 最初に見つかった敵のみ
	bFind = true;
	break;
}
// 敵が見つからなかった時
if( bFind == false )
{
	// プレイヤーへ接近する
	opion_bb[ 0 ].x += ( ch.x - opion_bb[ 0 ].x ) / spd;
	opion_bb[ 0 ].y += ( ch.y - opion_bb[ 0 ].y ) / spd;
}

氷水華

Re:自機のオプションについて

#6

投稿記事 by 氷水華 » 16年前

なんか勘違いしてました。
コードありがとうございます。

閉鎖

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