【SB】Shooting Game Builder ver18【STG】 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
アス比でゲージ伸び縮みさせる場合ってゲージの横ピクセル分分岐用意すればいいのかな
数値%で動かすことってできないですよね? 移動する地上の敵キャラ同士が接触したら重なり合わない様にする方法ってないかな
できれば、範囲内に入ったら動きを止めるとか方向転換するとか・・・・
スクリプトでできそうなんだけど、全然上手くいかない 物理演算使おうぜ
パチ○コみたいに玉がぶつかり合うサンプルがあったはず 物理演算か。難しい。
一応、それっぽい感じにはできたんだが、全部の敵が右下に向かって移動する様になった 止まってるときは毎フレーム止まってるようにしないと
物理演算の移動力で滑っていっちゃうよ 背景って速度でスクロールさせることはできるけど
絶対座標で位置変えることってできないのかな >>654
背景に同期したキャラも一緒に動いてほしいんでスプライトじゃだめなんですよ… こういうものはあらかじめ具体的に言って貰わないと
後だしはダメよ 物理演算を用いた場合、キャラ移動をさせる為にはスクリプトも物理演算限定になるのかな
・すり抜け防止
・角度固定
・完全物理モード
を全部チェック
※反発とか基本的な重力はゲーム設定で決定済み
移動位置分岐(ターゲット右にいる時分岐)→物理演算フォース X1900
↓ ↓
物理演算フォース → 制御通過
X-1900
こうすると、一応それっぽくなった。
でも、適当にやって、たまたま上手く行ったって感じで何が正しいのか分からないよ。 SBは感覚的にやるとそれなりにできてしまうのが良い点だが
何やってるか自分でも把握できないってデメリットがあるなw SBって、書いてある通りの事ができなくてもどかしい。
面スタート時の自機の出現位置を調整したいんだが、キャラクタの出現位置修正で簡単にできると思ったのに、値を入れても全く反応なし。
どうしたら良いんだよ >>661
それ、デフォルトスクリプトをそっくりそのまま作り変えて上書きの必要あるよ
スタート処理時のとか、復活時の処理とかは、システム根本の書き換え必要 言葉足らずだったかも・・・
要は、一部だけの変更はできず、
スクリプトまるごと、全て入れ替えして、
変更箇所のパネルだけ、設定を変えておく
ヒット時の点滅処理を変更とか、
やられた後の登場の仕方変更とか、
ろだにサンプルあったような気がする >>664
ありがとう。でも、もうちょっと教えてくれ。
つまりは、デフォルトスクリプトのそれっぽい奴をコピーしてプレイヤースクリプトに移植するってこと?
それとも、デフォルトの方を弄らないと駄目ってことなのかな。 自己解決した
デフォの方を変更したら、自機のスタート位置を変えられたよ
警告メッセージぇ と思ったら、閉じて開いたら元に戻ってるな
普通に保存して閉じるでは変更を維持できないのか・・・
すんません、>>663-664の方、もう少し詳しく教えてもらえないでしょうか。 自機のスクリプトで絶対座標に1フレームで移動して即止まれば好きなところに出るよ
止まるパネル入れないとかっ飛んでいっちゃうから注意ね >>668 こんな形で手詰まってる
その1------------------------------------------------------------------------
サウンド効果音
↓
移動直交座標-時間待ち(指定フレーム=1)
↓
移動停止・直交座標-時間待ち(指定フレーム=2)
↓
制御タスク開始・タスク番号13(最初から開始のチェックは無し)-時間待ち(しない)
↓
制御通過-時間待ち(しない)
※ これだと、スタート位置を希望通りにできるのだが、サウンドが変なループに入る上に操作を受け付けない
その2-----------------------------------------------------------------
サウンド効果音
↓
移動直交座標・移動に要するフレーム数(150)-時間待ち(動作完了まで)
↓
移動停止・直交座標-時間待ち(しない)
↓
制御タスク開始・タスク番号13(最初から開始のチェックは無し)-時間待ち(しない)
↓
制御通過-時間待ち(動作完了まで)
※ こっちはサウンドは正常だが、移動停止が実行されずに画面上に消える。そして操作を受け付けない。ちなみに、制御タスク開始で最初から開始にチェックを入れると、目標位置に到達したら消えてしまいデフォの位置から再度現れて操作は可能 いやちょっとまて>>667
話と関係ないが
>普通に保存して閉じるでは変更を維持できないのか・・・
これはないだろ
あるなら深刻なバグだぞ
確かめてみてくれ あと横からだが>>669のチェック
その1
無限ループしてないか?
そのせいでタスク13が正しく機能せず、一行目のサウンドがループしてると思われる
その2
二行目、移動停止の項目全部チェックを入れてみよう
たぶん止まる
デフォルトのタスク13は動作が決まってる
タスク0で色々やっても同じ動作になるのはそれ
出現位置をいじりたいならタスク13に手を入れなきゃダメなはず >>670-671 どうも。
バグか・・・だとしたら再インストールとかしかないかな
その1の無限ループはしてますね。その2もですが、タスク13でループのエラーメッセージが出てました
その2の停止チェックなのですが、それもやってみたけどその後が解決できなくて・・・
移動力を0にするにチェックすると止まる(それ以外のチェックは無反応)のですが、今度は操作を受け付けない
やはり問題はタスク13の様ですね。どうしたものか・・・ 上からの書き込みを読んでてちょっと気になった点が一つ。
>>664
要は、一部だけの変更はできず、
スクリプトまるごと、全て入れ替えして、
変更箇所のパネルだけ、設定を変えておく
とあるのですが、もしかしてデフォスクリプトのタスク13を全部削除して、自分で再構築しないと意味ないってことなのでしょうか
実は言うと、デフォスクリプトのタスク13の関係ありそうな移動直交座標だけを弄って保存しているんですけど、これでは駄目ってことなのかな やっと、解決したよほおおおおおおおおお。ゲートが鍵だった。
メインタスクのスクリプト、サウンド→タスク開始→制御通過の列上にゲート0を設定
プレイヤーのスクリプトにデフォからコピーして改変した所にゲート13を設定
で、できた。これも適当と言うか、ゲートの使い方がよく分からなくて弄ってたら偶々できた。
信じられなくてスクリプトが無効になってないかって、何度か閉じては開いてを繰り返したけど、無効になるなんてことはない <デフォルトスクリプトの解析>
・デフォルトスクリプトを開くと、「これはシステムデータです。編集しないで下さい。」のメッセージが出ますが、閲覧は可能です。
・編集も可能ですが、デフォルトスクリプトは、ゲームシステムに直接関連しており、編集によってゲームが正常に起動しなくなる恐れがあります。
・デフォルトスクリプトは、ゲーム内の全キャラクタに有効で、キャラクタに登録されたスクリプト内のゲートが作成されていない空きタスクに継承されます。
・デフォルトスクリプトの編集結果は、「保存して終了」することにより、テストプレイに反映できますが、次回SB起動時には編集結果がリセットされています。
・デフォルトスクリプトを変更したい場合は、該当タスクをキャラクタ用のスクリプトにコピーして変更して下さい。
・メインタスクおよびユーザータスクのみが、デフォルトスクリプトのない空きタスクになります。
https://www41.atwiki.jp/stgbuilder/pages/294.html <デフォルトスクリプト>
スクリプトの空タスク(ゲートを設定していないタスク)には、デフォルトスクリプトが使用される。
継承スクリプトを登録している場合、スクリプトの空タスク(ゲートを設定していないタスク)には、継承スクリプトが優先して使用される。
もとのスクリプトも継承スクリプトも空タスク(ゲートを設定していないタスク)の場合には、デフォルトスクリプトが使用される。
https://www41.atwiki.jp/stgbuilder/pages/482.html
<継承スクリプトの活用法>
デフォルトスクリプトは編集保存ができないが、継承スクリプトを用いることで代用が可能。
(継承スクリプトは、デフォルトスクリプトよりも優先して実行されるため)
@全てのキャラクタまたは特定のキャラクタ間で共通して行いたいスクリプトを作成
A継承スクリプトを使用したいキャラクタのスクリプトには、継承したいタスクにはゲートを作成せず、継承スクリプトに継承したいスクリプトを登録
https://www41.atwiki.jp/stgbuilder/pages/312.html だいたいうまくいかないときってループ設定がうまく行ってなかったり
別のタスクが邪魔してんだよね… >>664
>>647-650 >>658 >>661-675の事かな?
これ全部自分なんだが、今読んだらバラバラに質問してるっぽいね。すいません。
地上の敵キャラ同士が重ならない様にってのは、>>658の方法で一応解決ってことにした。
それ以外は具体的なやり方が分からないのと、ステージに合わせて設置すると実はそんなに使う必要もなく、むしろ移動力の遅い地上キャラはぶつからない様に移動手段を設定する方が実は確実で使いやすい感じがする。
>>676-677
これ、今読むと凄い理解できる。最初に目を通した時には「うー・・・・ん?」って感じでよく分からなかったな。
wikiの方、できれば具体的な使い方とかがあったら良いのかもしれない。 <シューティングゲームビルダー ver 0.99.90.2>
シューティングゲームビルダー ver 0.99.90.2
?ゲーム起動直後の0フレーム目に意図しない入力が起きるのを修正
?パターン数が多いスプライトを最適化 機能のリクエスト届くならスプライト回転のスクリプトに角度制限の設定を設けてほしいです
ヌルヌル回転するとどうも紙人形劇っぽくなるから…程よくカクカクするだけでも大分安っぽさが改善されそう 勿論、他作者様のビルダー作品を貶す意図はありません
ただ、この機能があればもうちょっと昔のアケ作品に作風が近づくのではと思った限りです 回転時にステップ角というか、刻み角度を設定したいってこと? 専門用語分かんないけどそういうことかもです
要は360度ヌメヌメ回るんじゃなくて16回転に限定したりとかです 360/16=22.5度だから、回転角を22.5度で入力して、相対チェックをオンにするという手があるけど
・・・おっと、小数点以下は入力できなかったか
45度の半分を入力できないのは痛いね 変数は整数型を使っているから、小数格納が無理なのはわかるけど、
入力された数を10倍にして変数に格納して計算時に1/10してくれるパネルあれば、
小数点以下1/10の位まで入力できるんだけど・・・作る方は面倒だよね 自転で22.5度ずつ回転だったら、16パターンのグラを作った方が早そうかも >>687
それって元から10倍の数値使っとけば良いだけじゃね?
角度限定の話? 3600方向は浪漫だけど実際使うかってのと設定が難しくなるんじゃないかの懸念はあるぬえ 昔の240*360の解像度だと意味ないかもだが
せっかくの高解像度PC環境なら選択肢としてあり キャラAとBの距離図ろうと思ったが平方根ってどうやって計算させればいいんだ… 一番近い敵みたいな処理なら自機とのXY座標の差の合計見るだけでもそれっぽくなるよ 確かに具体的なピクセル数を求める必要はないですね…そうしましょう 平方根は単純増加だから単なる大きさの比較なら平方和の部分だけで比較するのがセオリーやで
ルートを取るのは処理がメッサ重い 距離測るだけなら座標拾って誘導で飛ばして到達時間を参照すればなんとか 習得したXY座標まで数フレームかけて移動
という処理が地味に大変だよねSB 移動には変数使えないからね
ローカル変数に直接入力だとワープになるし >>697
距離を測るだけならABを親子にして位置分岐の距離を0から広げて接触したフレーム数で拾えんじゃない?
蒼穹愚連隊のウェブ感覚だな 怒首領蜂や雷電でよくある「一定距離下がったら一旦止まって自機を向いてホバリング、また上に向かって帰還」ってやつはどう再現すればいいでしょうか?
日本語にすると難しいけどアレですよアレ StgBuilder ver 0.99.92 人柱版
移動(直交座標)に変数入力が解禁! StgBuilder ver 0.99.92.1 人柱版(バグ修正+)
変数(ローカル)に絶対座標の取得(リードオンリー)解禁! >>697
変数(距離)パネルを使う ←v0.99.62で導入,v0.99.63で修正
変数Aと変数Bの平方和(または、平方和の平方根)を計算して、変数Cに代入できる
距離(整数)=√{(差分X)^2+(差分Y)^2}で演算される!
※さらに平方根を求める
チェックoffでは、平方和を計算
チェックonでは、平方和の平方根を計算 >>706
そこまで分析できるなら行けんじゃん
例)
移動パネル:直交座標;+Y
移動パネル:停止
移動パネル:回転;自機方向
移動パネル:直交座標;-Y
ざっくりだけどそのままパネル並べればいい >>711
問題が原作だと最初の直行移動の時から自機を向いてるんことなんよね
そこをどうさいげんするか難しい >移動(直交座標)に変数入力ができる
ちょっと使い道が分からないんですが、どういう事ができるのですか 変数(計算)パネルでは、計算ができます。
移動(直交座標)パネルでは、その変数を直接代入できるようになりました。
つまり、移動目標のX座標とY座標に、直接変数を設定できます。
目標座標の絶対指定 → 変数(ローカル)でX座標とY座標を設定するには、パネル2枚必要でした。
移動力の絶対指定 → 変数(ローカル)でX移動量とY移動量を設定するには、パネル2枚必要でした。
移動パネルでは、瞬時に代入される変数パネルと異なり、
指定したフレーム数かけて目標座標へ移動したり、指定したフレーム数かけて移動力を変更することも可能です。
移動パネルでは、絶対指定だけでなく、相対指定(現在の座標や現在の速度に対する加算)も可能です。
変数パネルでは、現在の速度を取得して、計算パネルで加算して、また変数パネルで戻す必要がありました。 目標座標が固定されていれば、これまでの移動パネルでも良かったのですが、
今回の機能追加(移動パネルへの変数設定追加)により、
目標座標が変動する場合も、変数に格納しておいた数値を随時参照できるわけです。
変数パネルは、XとYでそれぞれの変更に2パネル必要でしたが、
移動パネルでは、XとYに個別の変数を同時に設定できます。
変数パネルで相対指定するためには、現在値を取得→現在地に加算→加算した値を戻す
・・・と、これまで最低3パネルを要し、XとYで合計6パネル消費していましたが、
移動パネルの相対指定において変数を2個設定することで、1パネルで設定できるようになりました。 なお、変数(ローカル)の絶対座標の取得とは、親子関係の子キャラクタにおいて意味を持ちます。
SBでは、子キャラクタの座標は、親キャラクタからの相対座標でした。
そのため、子の現在位置(絶対位置)を割り出すためには、
@親の現在地(絶対位置=相対位置)を取得して、変数1に格納
A子の位置(相対位置)を取得し、変数2に格納
B両者を加算して、変数3に格納
・・・という3手間が、XとYそれぞれについて必要で、計6パネル使用していました。 詳しい説明サンクス
実はよく分かってないけど非固定キャラに対応して動かす場合に使うんだね
演出とかに使えそう >>718-720
あ〜なるほどそういうことね
完全に理解した(してない) これってひょっとして…
三点ロックしてグネグネするプラズマレーザーへの道が開けたのでは… 究極タイガーとか首領蜂シリーズみたいな所謂戦車ゲーってどうやって色んな戦車の挙動アルゴリズム組んでるんだろう…
もしかして全部一つ一つ組んでるとか? 縦シューの地上の戦車って地形にあった移動ルートを各自設定してる感じじゃないの 地上物も空中物もアルゴリズムは同じだろ?
なんで戦車モノと分けたのかが謎だ 「どうやって陸路に沿わせてるんですか」が質問の肝なのだろう
作者じゃなきゃ分からんところだが常識的に考えれば
「機体の位置毎に陸路に沿わせた動きをさせている」んじゃなかろうか
ところで横スクロール地形ありの場合、地上物の動きはどんな挙動アルゴリズムを組んでるんだろうか
地形に合わせた動きなら上に書いた通り、分からんのは自機位置で挙動が変わるタイプ
具体的に言えばグラディウスのダッカーであり、ダライアスのノウコ
接地判定と重力計算できなきゃ無理かな >>729
パスで複数ルート設定をしておいて、自機との位置条件で両方向のパスへそれぞれ分岐させているのでは? >>729
質問者だけど、ビルダーの場合、動きに合わせてキャラを別々に登録しなきゃいけないのかな? SB初期のメタリオンの逆読みタイトルが割とダッカーしてて驚いた記憶が >>729-730
昔、自機の「地形当たり判定」についての話題で、おおまかに
1 物理演算を使う(1フレーム内で判定越えると突き抜けたりして完全ではない)
2 上下左右に接触センサーになる透明な子キャラを配置して移動制限
という解決策が紹介されてたことがあるんだけど、応用して
前方に配置した子キャラが反応したら登るとかジャンプ、みたいな疑似的な仕組みを
作るといけるかも。
理想的には昔から要望されているキャラ対キャラの接触が導入されることになるかもだけど。
>自機位置で挙動が変わる
要望になっちゃうけど移動パネルの条件分岐の条件に
「“距離以上”の時に分岐」「“距離以下”の時に分岐」の両方があればなぁ・・・
ところで、SBをアップデートしたらスクリプトの「ゲートがないタスク」のページが
一部黒くつぶれて表示されるようになったんだけど、ウチだけ?
(仕様なら見た目に不安になるので「ゲートがないタスク」のページのときは
青バックが灰色バックで表示とかに変更してほしい・・・) 距離以上の分岐は、距離以下の分岐で、右に行くか下に行くかが逆になるだけでは・・・
(境界値は除く) 地形当たり判定は物理演算使うといい感じに押し付けれる挙動になるよ 734は1か2の“どちらかを使う”ということね。2の方が確実性が高い的な。
ていうか、物理演算ありにすると途中でなしにすることできないよね・・・?
タスク中でON-OFF切り替えしたいんだけど、現行版では無理なのかな。 物理演算にしてキャラの方で固有の物理ON/OFFできなかったっけ? いまさらなんですが回転するキャラの当たり判定って8*8サイズ以下で分割されて各個は回らないんですね…
細長い判定持った敵弾斜めに飛ばすと妙な位置に判定伸びたりして困っちゃうわ… >>738
グループ番号切り替えて当たらないようにする感じですね 見た目より判定小さく取ればええねん
見た目通りにやるとグラVになんねん 安定するには回るキャラは8以下か8の倍数きっかりで判定作るほうがいいですね
防御判定なんかは小さくしすぎるわけにいかないしね ■ このスレッドは過去ログ倉庫に格納されています