アシストを動かす式

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

アシストを動かす式

#1

投稿記事 by 匿名 » 16年前

今ちょっとアシストを使った弾幕を考えているのですが
アシストをうまく移動できないんです。

ボスの座標で交わるようにアシストに8の字(∞これですね)を描かせたいんですが
アシストを動かす式が思いつかないんです。

角度で動かすのは複雑そうなので、座標を代入して動かそうと思うんですが・・
EnemyShot.x=Boss.x+...
EnemyShot.y=Boss.y+...

・・・の部分に入る式が思いつかないんです。
みなさんの知恵を貸して下さい
あと8の字は毎回、同じ所を通るようにしたいんです。

situmon

Re:アシストを動かす式

#2

投稿記事 by situmon » 16年前

sin波または円運動は考えましたか?
sin波だったら
最初は+で後は-にして・・・・
円運動だったら半円描かせてつぎは逆半円・・・ではできないのでしょうか・・・
すいません。まちがってたらすいません・・・
シューティングゲームの館にのってます。
ただ敵の移動パターンなのでそこは・・・

pooka

Re:アシストを動かす式

#3

投稿記事 by pooka » 16年前

x=A*cosθ*sinθ
y=A*sinθ
あるいは
x=A*cosθ
y=A*sinθ*cosθ
でAの値を適当にしてθの値をかえていけば8の字になると思います。
違ってたらすみません。

匿名

Re:アシストを動かす式

#4

投稿記事 by 匿名 » 16年前

sin波と円運動は使っているんですが、うまくいかないんですよ
こんな感じです
EnemyShot.x=Boss.x+cos(PI/120*(float)Boss.Count*EnemyShot.Step+EnemyShot.Angle)*fabs(sin(PI/120*(float)Boss.Count)*200);//X方向の移動
EnemyShot.y=Boss.y+sin(PI/120*(float)Boss.Count*EnemyShot.Step+EnemyShot.Angle)*fabs(sin(PI/120*(float)Boss.Count)*200);//Y方向の移動
8の字にはなるんですけど外側をなぞる軌道になるし完全な円になってしまうんですよね。
細長い楕円の8の字にしたいんです。

pookaさんの式を使ってみたら8の字にはなったんですが
砂時計のような形になってしまいました。

あと8の字は毎回、同じ所を通るようにしたいんですが
8の字の全体はボスの座標を中心に傾ける必要があるんです。

situmon

Re:アシストを動かす式

#5

投稿記事 by situmon » 16年前

楕円でしたか・・・

kazuoni

Re:アシストを動かす式

#6

投稿記事 by kazuoni » 16年前

このあたりが参考になるかもしれないです
連珠形(レムニスケート)
ttp://www004.upp.so-net.ne.jp/s_honma/curve/lemniscate.htm

匿名

Re:アシストを動かす式

#7

投稿記事 by 匿名 » 16年前

レムニスケートですか
ちょっと難解ですね・・

situmon

Re:アシストを動かす式

#8

投稿記事 by situmon » 16年前

まだわからないものばかりでレムニスケートはわかりませんが、
sin波は円運動とは違いますよ。
でも動きは方程式(!?)をつかったほうがきれいなのでしょうかね・・・

situmon

Re:アシストを動かす式

#9

投稿記事 by situmon » 16年前

さっきレムニスケートについて調べたら、
カッシーニの卵形線の一種だそうです。
それを検索したほうがたくさん出るかもしれません・・・

木霊

Re:アシストを動かす式

#10

投稿記事 by 木霊 » 16年前

 右の円部分、中央のクロス部分、左の円部分で別々の式にするのはだめですか?

(右方向を0度、時計回りです)
左の円は315度~45度まで進む(右上方向から反時計回りで右下方向まで)

左の円45度の場所を始点、右の円225度を終点として進む

右の円225度~360(0)度を回って135度まで進む

右の円135度の場所を始点に左の円315度の場所まで進む(左上方向から時計回りで左下方向まで)
~繰り返し

 試してないので意図しているものと違うかもしれませんが・・・

匿名

Re:アシストを動かす式

#11

投稿記事 by 匿名 » 16年前

多分いけると思いますけど、残念ながら式が思い浮かばないんですよね・・

Tatu

Re:アシストを動かす式

#12

投稿記事 by Tatu » 16年前

8の字に動く弾のコードを考えてみたので、参考にしてみてください。

匿名

Re:アシストを動かす式

#13

投稿記事 by 匿名 » 16年前

まさかコードまで作ってくれるとは思いませんでした。
ここまで作ってくれれば後は何とかなると思います。
どうもありがとうございました。

situmon

Re:アシストを動かす式

#14

投稿記事 by situmon » 16年前

お役に立てずすいません。
これからもがんばってください!!

匿名

Re:アシストを動かす式

#15

投稿記事 by 匿名 » 16年前

はい、がんばります。
どうもありがとうございました。

閉鎖

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