HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
1029
Kaoruスプライトを曲線移動させたい!【HSPDXFIX】8解決


Kaoru

リンク

2010/10/29(Fri) 00:35:18|NO.35520

こんにちは。
HSPDXFIXを使ってシューティングゲームを作ろうと考えています。

そこで質問なのですが、スプライト機能で生成したキャラクターを曲線を描いて移動させることは可能でしょうか?
例えば、東方や怒首領蜂などのシューティングゲームでよく使われるカーブ弾などを作ってみたいです。



この記事に返信する


ORZ

リンク

2010/10/29(Fri) 01:50:57|NO.35521

できます。



kaoru

リンク

2010/10/29(Fri) 10:44:10|NO.35524

できればやり方を教えていただけるとありがたいです。



ORZ

リンク

2010/10/29(Fri) 11:10:01|NO.35525

曲線移動でググりなさい。算数の時間です。



SYAM

リンク

2010/10/29(Fri) 11:22:51|NO.35527

たとえば弾の移動を座標と速度と加速度で表すようにして、自機のいる方向に加速度をつけると、自機に向かってくる弾、になります。
それだと、弾が自機に向かってくるというより、自機に地球のような引力があって自機にむかって弾が「落ちてくる」ような感じになります。

他には 弾の移動パターン(言い換えると、速度の変化する様子)を配列で保持しておいて、配列を次々に参照して次の移動量にする、なんて方法もあります。
これだとどんな動きでもできます。データを作るのがたいへんでしょうが、データを作るためのスクリプトなんか用意しちゃったりすると好き放題に動かせるかも。



方法はいくらでもあります。きまったやり方ってものはありません。



kaoru

リンク

2010/10/29(Fri) 11:47:35|NO.35528

SYAMさん、回答ありがとうございます!

>>弾の移動パターン(言い換えると、速度の変化する様子)を配列で保持しておいて、配列を次々に参照して次の移動量にする

はい、この方法はスプライトを用いない方法(HSPDXによるHSP標準命令の拡張)では成功しています。
確かにこの方法ならばカーブ弾、加速弾、ホーミング弾などなど、どんな動きでも表現できました。多少面倒でしたが^^;;

HSPDXによるスプライト機能を用いると、スクリプトの短縮、簡略化ができるので、ぜひスプライトによる方法でもこのような弾を作ってみたいと考えています。
スプライトを用いた曲線移動に関して簡単なサンプルなどはないでしょうか?






ORZさん、私は弾の移動の数学的な制御に関しては理解しているつもりです。
それに検索すればいいというのは回答としてどうかと。



SYAM

リンク

2010/10/29(Fri) 12:13:23|NO.35529

>弾の移動の数学的な制御に関しては理解しているつもりです
…の部分が、最初の質問文からだとコッチは判らないわけですから、ORZさんの回答も仕方ないんじゃないかなー。
計算は自分で勉強しないと、いくらスクリプト出しても(どうせ扱えなくて)無駄なわけですし。

それはさておき
スプライトも速度設定(es_apos命令)することで同じようにできるのではないでしょか?



ORZ

リンク

2010/10/29(Fri) 13:08:56|NO.35530

>はい、この方法はスプライトを用いない方法(HSPDXによるHSP標準命令の拡張)では成功しています。
>ORZさん、私は弾の移動の数学的な制御に関しては理解しているつもりです。
これがわかっていてなぜes_aposやes_adirにたどり着かない。調べてないだろ。
付属サンプルをきちんと探せば、sampleフォルダにtest1が入ってて、その中には少なくとも
es_setとes_adirが出てくる。
つーかヘルプブラウザでサンプル押せば出てくるであろうし、HSPDXのリファレンスを読んでも
test1にたどりつくであろう。つまりes_adirやes_aposに辿り着かないのは検索不足。
数学の知識がないなら勉強不足だから調べて勉強しろ。
きちんとつかえているライブラリの命令を知らないというのは勉強不足だから調べろ。
まず調べてから尋ねるのが礼儀だ。あと質問者の情報は惜しげもなくさらせ。

数学の知識あります。es_aposやes_adirについて十分理解しているつもりです。曲線移動のサンプルください^^
というなら俺はもう知らん。



kaoru

リンク

2010/10/29(Fri) 18:45:42|NO.35532

SYAMさん、本当にありがとうございます。

無事にカーブ弾や加速弾を作ることができました。
es_adir命令やes_apos命令はスプライト生成時にしかできないと思い込んでいました;;

おかげでHSP+Directxでも多彩な弾幕が表現できそうです。




>>これがわかっていてなぜes_aposやes_adirにたどり着かない

es_aposやes_adirはスプライト生成時にしかできないと思い込んでいたのが原因のようです。
ご回答ありがとうございました。

「調べてないだろ」など、決めつけたような発言をすることで不快な思いをするユーザーもいると思います。
こちらの質問の仕方に問題があったことは認めます。私も今後気をつけますので、ORZさんも次回からお気を付けください。



ONION software Copyright 1997-2023(c) All rights reserved.