トップページgamedev
1001コメント373KB

【SB】Shooting Game Builder ver9【シューティング】

レス数が1000を超えています。これ以上書き込みはできません。
0001名前は開発中のものです。2010/05/31(月) 08:27:19ID:nT/cPNi/
SB ◆.if.Xu7A6c氏が作った開発ツール"Shooting Game Builder"について語るスレ

Shooting Game Builder公式サイト
http://maglog.jp/sb/

SHOOTING GAME DEVELOPER UPLOADER
http://www.esc-j.net/stg/

SB@wiki
http://www41.atwiki.jp/stgbuilder/
ニコニコ動画チュートリアル
http://www.nicovideo.jp/watch/sm8707904
http://www.nicovideo.jp/watch/sm8711074
http://www.nicovideo.jp/watch/sm8728404

前スレ
【SB】 Shooting Game Builder ver.8 【シューティング】
http://pc11.2ch.net/test/read.cgi/gamedev/1263321872/
0984名前は開発中のものです。2010/09/26(日) 01:45:55ID:DV7entj1
信号の便利な点:
・信号送信では加算代入ができるので、カウンタ変数で変数計算のパネルを節約できる
・システム変数を介さずに、変数の保持や受け渡しができるので、親子間やセルフでのフラグ管理がしやすい
・信号受信では受信と同時に分岐できるので、変数の条件分岐のパネルを節約できる

とにかく、フラグ管理やボタン判定の条件分岐などで、省スペースで展開できるのがシグナルの強み
変数を取り込めるようになったので、例えば武器インデックスの参照→条件分岐を親子で共有したり、
やり取りしてるシグナルの中身を変数を介して外へ出力したりできて、便利になったよ
0985名前は開発中のものです。2010/09/26(日) 02:16:37ID:NwaV+B94
勉強になります
0986名前は開発中のものです。2010/09/26(日) 04:24:21ID:3RSSmTF7
送れるのが即値だけなら、条件分岐してオンオフ的なシグナルを送るのがメインになるんだろうけど、
変数を送れる様になったので、より柔軟な数字の送受信が可能になったということだろうね。

欲を言うならば、シグナルが今受信している値を取り出して送信することが変数を介さないと出来ない
ので、「即値」、「変数」に加え、「受信値」なんかも送れる様になれば、さらに万能って感じはするけど、
まあ、そこまでなくても困らないかも?というのはあるな。
0987名前は開発中のものです。2010/09/26(日) 07:48:41ID:q+GcixcR
つまり

親:変数が○○だったら信号0-1を送る
子:信号0-1を受信したら分岐

これが

親:変数○○を信号で送る
子:信号が○○だったら分岐

になってパネルが1枚だけ節約できるってことなんだな
たった1枚節約のためにわざわざ変数送信を導入する意味はあったのだろうか
親側で変数が○○かどうかをループで監視してる場合、子にループで信号を送り続けることにならないか?
その間は他の信号送れなくなるよね
それと、子側で変数で受け取って分岐するのと信号の値が○○だったら分岐するのに違いってあるの?

>>983
もちろん使ったうえで言ってるよ
親と子の向き同期は別に信号送信しなくても始めから設定出来るよね
0988名前は開発中のものです。2010/09/26(日) 08:19:39ID:coiRfK8L
>>987
パネル節約の効果は、分岐が多くなればなるほど、じわじわ効いてくるよ

他の信号は独立してるから送信できるよ
むしろシステム変数はゲーム内共有だから、複数のキャラクタで共有されてしまって、変な挙動して困っていた
信号は親子間では共有だけど、別の親子間には影響しないから、とても使い勝手が良い

逆説的だけど、親子間の向き同期フラグをあえてオフにした上で、あるタイミングになった時だけ、
親子の向きをいずれかの向き(親→子,子→親)に揃えたい時がある
0989名前は開発中のものです。2010/09/26(日) 08:23:26ID:coiRfK8L
>>986
加算値0で送信すると、受信値がそのままの値で送信されたような?

そうじゃなくて、受信値をシグナルへ代入ってこと?
だったら、ローカル変数パネルで、シグナル→変数で良いかも
0990名前は開発中のものです。2010/09/26(日) 10:27:01ID:xMHN+Ii4
かなり初歩的な質問で悪いんだけど、
弾が壁に当たって跳ね返るってどうすればいいの?
09919862010/09/26(日) 10:37:05ID:3RSSmTF7
>>987
>親:変数が○○だったら信号0-1を送る
>子:信号0-1を受信したら分岐

変数の値が1〜100の範囲だったとして、変数が1ならシグナル1を送る
変数が2ならシグナルで2を送る、変数が3ならシグナル3を送る〜〜100なら100

シグナルで送りたい値が0か1かみたいな場合だったらそれでもいいんだろうけど、
親の持ってる変数情報を直接送れた方が、より応用性に富むよね?って話。
分岐でオンオフ的使い方ではなく、変数情報を共有する的使い方。

「システム変数は、キャラクタすべてで同じ数字を共有できる」だけど、
「シグナルは、各親子間毎で同じ数字を共有できる」←この部分がやりやすくなった
といえる。
パネルが1枚節約できるというのは、やりやすくなった部分の一つにすぎないと思う。

>その間は他の信号送れなくなるよね
なんで?
シグナルナンバーはいくつもあるのだから、他のシグナルを使って送信すればいいんじゃないの?
09929862010/09/26(日) 11:15:16ID:3RSSmTF7
>>989
>ローカル変数パネルで、シグナル→変数で良いかも

もちろん、今は変数が送信できるので、それで事足りる。
だけど、それをするために、変数1個を使うってどうなのよ?って意味で。

シグナルってさ、変数を使わなくても計算できるじゃない?でもその計算結果を取り出して
送信するのに変数を使うって、じゃあ初めから変数使って計算すればいいじゃんってことに
なるんだよね。

シグナルって、現在の受信値がなんであれ、送信する毎にその場で指定した「即値」だけしか
送れなかったところが、短所でもあり長所でもあったんだよね。

「変数」を送信できるようになってより柔軟性を増したと思うんだけど、「受信値」を送れるように
なれば、よりシグナルの短所を補える形になると思ったので、「受信値送信」の案を書いた。

>加算値0で送信すると、受信値がそのままの値で送信されたような?

Ω Ω<な、なんだって〜!?

もしそうなら、「受信値送信」はなくてもいいな。
ちょっと試してみるか。
0993名前は開発中のものです。2010/09/26(日) 11:31:55ID:kNTr01TQ
>>990
ろだにサンプルがあった気がする
09949862010/09/26(日) 12:09:21ID:3RSSmTF7
>加算値0で送信すると、受信値がそのままの値で送信されたような?

試してみた。

シグナル0に100を受信している子が、親に対してシグナル0を加算0で送信

結果:子のシグナル0受信値「100」は、親に送信されなかった。
    ただ単に、「加算」での「即値0」、いわゆる「+0」が送信された。
0995名前は開発中のものです。2010/09/26(日) 14:03:40ID:wlIgVuPc
自機で試してみたら、自機内のスクリプトでは、加算0で受信値がそのまま送信されていることを確認
Aボタン:送信)代入 0 →受信値に関係なく、常に0が代入される
Bボタン:送信)加算 1 →受信値に、1が加算されて代入される
Xボタン:送信)減算1 →受信値に、1が減算されて代入される
Yボタン:送信)加算 0 →受信値に、0が加算されて代入される(受信値がそのまま代入される)

親子で受け渡しすると変わるのかな?
試してみよう・・・
09969862010/09/26(日) 14:38:07ID:3RSSmTF7
>加算0で受信値がそのまま送信されていることを確認

それは、解釈を少し取り違えてないかな?
受信値はそのままで、加算0のみが送信されているってことだと思うんだけど。

すでに受信値が入っている自スクリプト内で、加算が0されても受信値のままってのは、
ある意味当たり前。

その受信値を、他の親や子に受け渡そうと思ったら、なにかの形でその受信値を送信
してやらないといかんでしょ?

現在の受信値に何かの数値が入っているとして、親や子にその受信値そのものを
送信値として送信することは、変数を介さないとできませんよ、って話なんだけども。
0997名前は開発中のものです。2010/09/26(日) 14:49:33ID:wlIgVuPc
親(自機)と子の間でやってみた
シグナル→ローカル変数→システム変数にして、デバッグウインドウで確認

親(自機)
 信号送信:子へシグナルに加算1
 →@親のシグナルを確認すると0のまま


 →A子のシグナルを確認すると1,2,3,4・・・と増えていく
 信号送信:子へシグナルに加算1
 →B子のシグナルを確認するとAの時のままで変わりなし

親(自機)
 →C親のシグナルを確認すると、子とは独立して1,2,3,4・・・と増えていく
0998名前は開発中のものです。2010/09/26(日) 14:55:22ID:wlIgVuPc
>>986>>996
確かに、解釈が間違っていたよう・・・

確実に言える事実:
・親と子では同じシグナルでも独立している
 「親→子」で受け取った「子のシグナル」,「子→親」で受け取った「親のシグナル」は共有されていない
・信号送信の加算は、現在のシグナルの値とは無関係
 前回送信したシグナルの値に加算される

確かに、受信値を送信することは、通常(信号パネル送受信のみでは)できない
セルフで信号を受信している場合は、受信値ではなく、前回の送信値に加算が行われているだけ
親と子では同じシグナルでも独立している(お互いにすれ違いで送りっぱなしの状態)
0999名前は開発中のものです。2010/09/26(日) 14:57:14ID:wlIgVuPc
>>997で間違いあり訂正
(誤)
>子
> →A子のシグナルを確認すると1,2,3,4・・・と増えていく
> 信号送信:子へシグナルに加算1
> →B子のシグナルを確認するとAの時のままで変わりなし
(正)

 →A子のシグナルを確認すると1,2,3,4・・・と増えていく
 信号送信:親へシグナルに加算1
 →B子のシグナルを確認するとAの時のままで変わりなし
1000Sぷ ◆n3VrL7XRbc 2010/09/26(日) 15:11:23ID:ehP6e886
1000get
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。