トピック

弾幕とかでよくあるやつのプログラムについて

弾幕ゲーム等でビームが画面の端に来たときに反射するやつってどうやるねん?バカ初心者なので訳ワカメ状態です。(°Д°;)
5そうだね
プレイ済み
返信[1]
親投稿
otta777 otta777a
横方向の画面の端に来た場合→横方向の移動量の符号を反転 縦方向の画面の端に来た場合→縦方向の移動量の符号を反転 とすれば良いかと思います。
3そうだね
プレイ済み
返信[2]
親投稿
otta777さん、問題はそのプログラムである(´;ω;`)発想はいいんだけど、バカ初心者である私にはそのプログラムをどうやって制作するかコンガラがって、どうしようもないです(´;ω;`)
0そうだね
プレイ済み
返信[3]
親投稿
********** itd12d
符号を取得してx[-か+](2x)でいいんじゃないですか?
0そうだね
プレイ済み
返信[4]
親投稿
otta777 otta777a
符号をひっくり返すのでしたら VX=-VX でいいですよ。
3そうだね
プレイ済み
返信[5]
親投稿
TERA(LL) tera0413
試しに作って見たら、意外と面白かったので、せっかくなので、投稿。
1そうだね
プレイ済み
返信[6]
親投稿
ありがとうございます。が、何故か命令どうりにならない。なんかルールみたいな命令をつけたからかな?後、TERAさん、その命令はどうなるんすかね。
0そうだね
プレイ済み
返信[7]
親投稿
TERA(LL) tera0413
少し入力すれば、分かることだと思いますが・・・ 起動する度に、ランダムな角度でSP0(デフォルトでイチゴ)が動き始め、軌跡が残ります。 画面の端に当たるとはねかえります。 (なんか、幾何学的な模様が、書き上げられてく様子がいかにも一昔前のパソコンの画面みたいで、なんとなく懐かしい感じがしました。)
1そうだね
プレイ済み
返信[8]
親投稿
TERAさんのを参考に、一度そのキャラをぶちかましてみました。一部を抜いたりしましたが、やはりダメです…
0そうだね
プレイ済み
返信[9]
親投稿
ツララ LongIceSword
原理的には移動要素のX軸成分とY軸成分を別々に範囲計算して、跳ね返り地点に来たら該当する軸に毎回足してる移動成分の符合を反転してやってるんですね。 もしかしてベクトルで移動方向を保持して三角関数でX軸とY軸方向の移動量を計算して弾幕を動かしているなら、反転した後の移動成分から角度をATAN()で計算して、方向を保持してる変数に代入してやればいいんじゃないです?
0そうだね
プレイ済み
返信[10]
親投稿
自分中学生なんでよくわからんが、ATANとかでそれを保てばいいのね。(´ーωー)
0そうだね
プレイ済み
返信[11]
親投稿
ツララ LongIceSword
三角関数を使う方法だと角度の単位が度とラジアンの2種類混在したりして大変なので、TERA(LL)さんのサンプルを基に全部自分で作ってみた方が実は手っ取り早いかも。 というか、アイアン・ノカーナさんが作ってるプログラム中にSIN()やCOS()関数があるならベクトル使ってるのはまず違いないと思いますけど、弾の飛ぶ方向が8方向や16方向だったり、切りのいい角度にしか飛ばない仕様だったら別に三角関数使わなくても大丈夫だと思いますよ。 斜め45度の方向に飛んでる弾ならX軸とY軸の移動成分の比が1:1みたいな感じの固定の比率で設定可能なので。
0そうだね
プレイ済み
返信[12]
親投稿
成る程だいたいは分かったぞ 一応自分斜め45度のやつを作るときに困っていたので、ほんと有難いです。
1そうだね
プレイ済み
返信[13]
親投稿
いろんな意見、ありがとうございました。ですが結局、できませんでした。次は皆さんの意見を生かして、出直して来ます。そして、今度こそプログラムを完成させたいと思います。本当にありがとうございました。
0そうだね
プレイ済み