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

【SB】 Shooting Game Builder ver.8 【シューティング】

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2010/01/13(水) 03:44:32ID:877TggdV
SB ◆.if.Xu7A6c氏が作った開発ツール"Shooting Game Builder"について語るスレ

Shooting Game Builder公式サイト
http://maglog.jp/sb/
SHOOTING GAME TKOOL WIKI(大容量upロダ有り)
http://www.esc-j.net/stg/
SB@wiki
http://www41.atwiki.jp/stgbuilder/
shooting @Wiki
http://www3.atwiki.jp/shooting/
シューティングツクールxpを待ち続けるスレ wiki
http://www.wikihouse.com/stgmakerxp/index.php
SBヘルプ
http://www.geocities.jp/net05_soft/sbindex.html
ニコニコ動画チュートリアル
http://www.nicovideo.jp/watch/sm8707904
http://www.nicovideo.jp/watch/sm8711074
http://www.nicovideo.jp/watch/sm8728404

前スレ
【SB】 Shooting Game Builder ver.7 【シューティング】
http://pc11.2ch.net/test/read.cgi/gamedev/1253522970/
0780名前は開発中のものです。2010/05/16(日) 13:12:42ID:uOCEJMTd
>>778
キー入力判定しているスクリプトを、なんかのタスクにまとめて、
そのタスクの動作、停止を入れ替えることで、対処できるのでは?

スクリプト内でキー判定しているのではなく、
自機の方向キーやショットなどを消したいなら、
自機のフラグ消せば問題ないはず
0781名前は開発中のものです。2010/05/16(日) 19:13:36ID:nlv4sHKw
STGUPLのstg0672ってどうやってるんですか???
教えてください
0782名前は開発中のものです。2010/05/16(日) 20:59:53ID:cZ91vk2E
>>777
バグなのか盆ミスなのか判断つかないな…
気になるなら公開するのも一つの手だと思うよ。
一人でチェックするのって限界あるしな。
0783名前は開発中のものです。2010/05/16(日) 21:06:56ID:cZ91vk2E
っていうか。一人で作ってると決めつけてはいかんわな。
すまんこ
0784名前は開発中のものです。2010/05/16(日) 22:23:13ID:5J0YRJ9S
みんな1本製作するのに登録するキャラクターやスプリクトの通しN0.いくつまでいくんだろうか?
そろそろ4000超えそうでかなり肥大化してしまった気が・・・
0785名前は開発中のものです。2010/05/16(日) 22:59:55ID:RBcCgwab
確認したら4600ぐらい、まだ半分もできてないんだが
俺が作るの下手なのかな
0786名前は開発中のものです。2010/05/16(日) 23:22:51ID:yauzFhaJ
んなもん気にしてる暇があったら手を動かして完成させろ!

…ちなみに拙者は1500でござる。
0787名前は開発中のものです。2010/05/16(日) 23:50:15ID:sZOzspSG
余裕で5桁行ってますがなにか
0788名前は開発中のものです。2010/05/16(日) 23:57:43ID:7lrFxYqb
完成してるのは9899だった
ぎりぎり4桁
0789名前は開発中のものです。2010/05/17(月) 00:52:45ID:sYjwlibk
消した番号は再利用されないんだっけ?
作って消して、って作業してたらあっという間に増えた気が
0790名前は開発中のものです。2010/05/17(月) 02:26:09ID:pGhyhuEQ
これって桁数が限界に達してデータ壊れたりしないよね?
0791名前は開発中のものです。2010/05/17(月) 04:20:09ID:oF+Vz5S5
人柱ヨロ
0792名前は開発中のものです。2010/05/17(月) 17:38:43ID:2mniB6c/
限界も知らずに限界を語るとは笑止!
0793名前は開発中のものです。2010/05/17(月) 20:41:53ID:jBUHLupF
知ったふうな口をっ!
0794名前は開発中のものです。2010/05/18(火) 12:41:33ID:Gkh2JPu+
これまでロダに上がってた作品全滅?
0795名前は開発中のものです。2010/05/18(火) 23:11:10ID:CEwaVoqM
ん〜?普通に見れるが?
たまにメンテかなにかで落ちてるときあるよね
0796名前は開発中のものです。2010/05/20(木) 10:40:53ID:0YrNA1V5
やっててある日ふと思ったんだけど
自機プレイヤー設定のオプションキャラクター登録に
パラメーター設定ができないのは何だかすごく勿体無い気がする。
0797SB ◆.if.Xu7A6c 2010/05/20(木) 18:45:27ID:eC77ZmcP
>>796
くわしく
0798名前は開発中のものです。2010/05/20(木) 19:16:36ID:0YrNA1V5
>>797
そんなに難しい話でもなく
ステージに敵を配置する時みたいに配置時のパラメータを決められれば
例えば自機に見た目・性能の違うオプションを4つ(A〜D)登録したい時に
1つのキャラクター・スクリプトで4つ分に適応させられると思ったので。
現状では違うオプションを4つ付けて見た目を変えたい場合
どうあがいても4つキャラクターを作らないとダメなのはちょっと無駄があるかなと。
0799名前は開発中のものです。2010/05/20(木) 20:33:47ID:ViWQBsE9
変数じゃダメなん?
0800SB ◆.if.Xu7A6c 2010/05/20(木) 20:59:09ID:eC77ZmcP
>>798
ああ、PARAM_ABのことね
なんで設定できないんだろうね
0801名前は開発中のものです。2010/05/20(木) 21:09:17ID:TVg2OFYc
ついでに自機の移動速度を検出できるようにしてほしい
0802名前は開発中のものです。2010/05/20(木) 21:25:06ID:ViWQBsE9
だからお前らナニをどうしたいか具体的に書けっツーの!
0803名前は開発中のものです。2010/05/20(木) 21:44:03ID:HJONWhLr
>自機の移動速度を検出
「ローカル変数の移動速度は、代入専用で、実際に移動している速度は取得できない」という永遠のテーマについて
昔、729氏という偉大なる先人がおり、
1フレーム前の座標をシステム変数に記憶しておき、現在の座標と比較する方法を考案し、
現在の移動速度を取得することができるようになりました
0804名前は開発中のものです。2010/05/20(木) 21:47:29ID:HJONWhLr
オプション数が8個まで登録できるのに、配置位置が4個なのが悔しい
配置位置を変更しまくるフォーメーション重視のオプションを作成したいので、
配置位置を4個→8個に拡張して欲しい(自機周囲8方向をカバーできるので)
0805名前は開発中のものです。2010/05/20(木) 21:54:49ID:3r9dbHQC
>>803
確かにその方法はすごいかもしれんが
移動速度を検出してなにに使うのかがまったく想像できない…
興味があるので教えてくれ
0806名前は開発中のものです。2010/05/20(木) 22:03:29ID:TVg2OFYc
>>803
その方法を試してみたことはあるけど
移動速度が100で割り切れないと正しく検出できないから断念した

>>805
疑似的に物理演算するために使う
0807名前は開発中のものです。2010/05/20(木) 22:14:21ID:3r9dbHQC
>>806
回答THX
たとえば被弾着弾時の火花の方向とか大きさとか…自由落下とか?
拘る人にはよいテクだね。
0808名前は開発中のものです。2010/05/20(木) 22:25:58ID:HJONWhLr
>>806
座標を検出する際は、計算時に誤差を切り落とされないように、
検出直後に100倍して演算して、角度や移動量を求めると良いよ
0809名前は開発中のものです。2010/05/20(木) 22:30:22ID:HJONWhLr
>>805
移動時の慣性表現(加速しながら発車や減速しながら停車)、
昔は(回転角度の導入前は)、角度の擬似検出にも使えました
全方向STG(禁句)作成時には、自機の進行方向や角度を記憶しておいて、
後で呼び出すなどの作業が必要な場面もあります
0810名前は開発中のものです。2010/05/20(木) 22:52:41ID:3r9dbHQC
>>809
うはww全方向ときましたか。乙です。
SBは縦横だけにあらず。お互いがんばりましょう。
0811名前は開発中のものです。2010/05/20(木) 23:25:44ID:HJONWhLr
実験結果:
--------
・ローカルデータ「向き」=「画像の向き」ではなく、「移動の向き」
・360度で割り切れず(182.XXX)、微妙な誤差あり
----
・プレーヤー機(コントロールON,プレーヤー設定)も、「進行方向を向く」フラグの影響を受ける
(フラグON時は、画像の底辺が進行方向を向く)
・「向き」=「移動の向き(進行方向)」はプレーヤーのキー入力移動には影響されない
(重要:「X,Y移動量」も同様)
・「向き」の初期値は0で、プレーヤーでは「画面下向き(Y軸の正方向)」を向いている
----
・「向き」は、回転パネルの「移動力を向きに合わせる」がOFFの時は、変更されない
(画像の回転だけでは、「向き」は変わらない)
・「向き」は、回転パネルの「移動力を向きに合わせる」がONの時に、変更される
(画像の回転に伴い進行方向も変わるため、「向き」も変わる)
・極座標移動パネル(相対角度0)と速度パネル(初速度0から開始)は、「向き」の方向に移動する
(画像の向きとは無関係)
・直交座標移動パネルを使用すると、「向き」は移動した方向の角度を示す
(「向き」はコントローラー入力以外の、スクリプトによる移動により更新される)
・変数「向き」に直接、数値を代入することで、進行方向を直接指定できる
(0〜65535(1周65536)が0〜359度(1周360度)であることに注意)
----
・テストプレイでは「START」「SELECT」のボタン判定が入力無効?
0812名前は開発中のものです。2010/05/21(金) 00:01:24ID:uSOuzur0
@KEYCONFIG.INIについての疑問
BUTTON 0 → A=Zキー
BUTTON 1 → B=Xキー
BUTTON 2 → X=Cキー
BUTTON 3 → Y=Vキー
BUTTON 4 → L=Aキー
BUTTON 5 → R=Sキー
BUTTON 6 → Select=Spaceキー
BUTTON 7 → Start=Enterキー:なぜかテストプレイでは反応せず
BUTTON 8 → ?=Shiftキー??
BUTTON 9 → ?=Ctrlキー??
SB 0.99.09で、「↑→↓←キー」が導入されたけど、それらのBUTTON No.はどうなってるの?(BUTTON 8.9.10.11なの?)

ASB.INIのパラメーターについて
[PROJECT]
RESUME=(ドライブレター):\(フォルダ名)\(プロジェクト名).sbd
WINDOWX=92
WINDOWY=96
WINDOWW=716
WINDOWH=658
WINDOWSTATE=0
ICONSIZE=0
AUTOSAVE=1
SCRIPTMEMO=0
ウインドウのX/Y座標と幅/高さ、ウインドウの状態?、
アイコンサイズ(プロジェクトマネージャーの右クリックメニュー)の大小、
自動保存の有無、スクリプトメモの個数?
0813名前は開発中のものです。2010/05/21(金) 14:26:40ID:F9odgmvm
向きが導入されて全方位スクロールも夢ではなくなった
そうだろ?
729氏の変態的仕様に期待している
0814名前は開発中のものです。2010/05/21(金) 22:40:36ID:uSOuzur0
>>729
変態とは何と失礼な!!
強いて言うならば、変態という名の紳士だよ!
0815名前は開発中のものです。2010/05/21(金) 23:50:01ID:EDIKVIkF
変態紳士殿の完成品はまだですの?
下っ腹が疼いて仕方がありませんわ!
0816名前は開発中のものです。2010/05/21(金) 23:58:17ID:WMiO2NTE
すなおにち○こま○こと言うがよい
0817名前は開発中のものです。2010/05/22(土) 00:20:56ID:SY3JIpca
んま!でも伏字なのね?
>>816ボーイは今日どんなSB作業をしたの?
わたしはいつボーイの完成品を遊べるのかしら?
0818名前は開発中のものです。2010/05/22(土) 16:24:36ID:NASoEe34
>>812
解説希望!
0819名前は開発中のものです。2010/05/22(土) 21:43:58ID:QYexFrHB
向きって、画像の角度の方を取得したかった・・・
0820名前は開発中のものです。2010/05/23(日) 09:39:24ID:ZSScRTXe
「向き」は語弊がある(勘違いしやすい)から、
「移動の向き」(今回実装の「向き」=進行方向)に改名して、
「画像の向き」(未導入の回転角度)も追加して両方実装して欲しい。
0821名前は開発中のものです。2010/05/23(日) 12:37:06ID:nMzdlyjh
Delphiってこんな立派なインターフェース作れちゃうのか
0822名前は開発中のものです。2010/05/23(日) 13:19:22ID:uRWIFESC
Delphiって、オブジェクト指向にしたPascalなんでしょ?
0823名前は開発中のものです。2010/05/23(日) 13:35:35ID:uRWIFESC
>>820
同意

>>812
研究を求む

変数の向きは65536=360度だけど、誘導の角速度は100=1度/フレーム(36000=360度/フレーム)なんだね〜
0824SB ◆.if.Xu7A6c 2010/05/23(日) 14:05:03ID:/+cSsbzr
ver 0.99.28

ゲーム設定にゲームオーバーBGMの設定を追加
プレイヤー設定のオプションにPARAMA,Bを追加
スクリプトのローカル変数「向き」を「移動方向」へ名称変更
スクリプトのローカル変数「画像方向」を追加

http://maglog.jp/sb/
0825820です2010/05/23(日) 14:45:56ID:tPpIKEhA
>>824
要望を受けれていただき、ありがとうございました。
あまりにすばやい対応で驚きました。
今回も神更新ですね!!
0826名前は開発中のものです。2010/05/23(日) 17:07:48ID:uRWIFESC
>>824
毎度ながら乙です
0827名前は開発中のものです。2010/05/23(日) 17:13:38ID:uRWIFESC
全く関係ないが、エディタ設定で関連付けのボタンを押した際に、
「関連付けを設定しました」的なメッセージボックスのポップアップがあってもいいかなと思った
0828名前は開発中のものです。2010/05/23(日) 18:35:54ID:W6KGrn4s
早い、早すぎる!
乙です。
0829名前は開発中のものです。2010/05/23(日) 20:47:50ID:20HaOBLO
親の持ってる変数を子が参照することってできますか?
システム変数を使い方法以外でお願いします
上の方にやり方?があったんですけどよく分かりませんでした
0830名前は開発中のものです。2010/05/23(日) 21:56:12ID:+BKk0xy8
>>924
うおー乙!
0831名前は開発中のものです。2010/05/23(日) 21:57:07ID:LU8OiD8E
>>829
信号送れ
0832名前は開発中のものです。2010/05/23(日) 22:09:22ID:20HaOBLO
>>812
1に関する疑問だけど、
ENTERキーは特殊キーで、ウインドウモードとフルスクリーンモードの変更に使うキーだから、
keyconfig.ini内でenterキーを指定すると、まともに動作しなかったような思い出がある
テストプレイ時では、ウインドウモード固定だということもあって、
反応しないように見えたのでは?
見当違いなこと言ってたら、申し訳ない。

>>824
乙です!
この早さならSB氏に要望を。
要望としては、特殊キーであるENTERキーなどもkeyconfig.iniから設定できるようにしてほしいです。
また、ランキング画面に関して、
タイトルでボタン2を入力する以外の方法で、ランキングステージに移動しようとすると、
なんか動作がおかしい感じになります。(自機が出現したり、キャンセルボタンが効かなくなったり)
他のステージからでも、ランキング画面に飛ばせるようにしてほしいです。
0833名前は開発中のものです。2010/05/23(日) 22:44:29ID:z+vrBKBu
復活じゃ!
SB様がSBを復活させるぞ!
0834名前は開発中のものです。2010/05/24(月) 02:09:39ID:9lAx1FYI
EscとEnterは特殊キー・・・というのは納得。
でも、SBに付属のCONFIG.iniのデフォルト設定でEnterが指定されているのが元凶だと思う。

デフォルト設定の「BUTTON 8 → Shiftキー」「BUTTON 9 → Ctrlキー」は未だに謎。
現在はカーソルキーに割り当たっているのでは??

もし簡易KeyConfigツールの作者さんがこのスレを見ているようでしたら、教えて下さい!!
0835名前は開発中のものです。2010/05/24(月) 17:58:20ID:CnZuvxHM
次は是非これを実装して欲しい→スクリプト「移動:拡大・縮小(XとYで別倍率)」
ダライアス外伝2面や銀銃背景とかが再現できるんだー
0836名前は開発中のものです。2010/05/24(月) 18:32:45ID:XCH+CrAl
特定状況で意図的に処理落ちをかける、みたいな機能もほしいな…
0837名前は開発中のものです。2010/05/24(月) 18:45:17ID:CnZuvxHM
>836
個々のPCでマシンスペックが違うから
オブジェクト増やして意図的に処理オチとかを共通でできないからな
0838名前は開発中のものです。2010/05/24(月) 19:32:01ID:9lAx1FYI
処理落ちは、本来は単一ハードでなせる業だと思う・・・

「移動:拡大・縮小(XとYで別倍率)」は確かに欲しい機能ではあるが、
プログラム的に実装が可能ではないのかもしれない・・・
0839名前は開発中のものです。2010/05/24(月) 19:45:37ID:/dmlT11R
ようはpauseの状態を高速で入り切りできりゃいいんだよね
あ。。。あれってBGMも止まったっけ
0840名前は開発中のものです。2010/05/24(月) 20:10:51ID:WOi4tdM7
>>831
信号じゃ無理です
親の「変数」をシステム変数を使わずに子に渡すんです

>>836
ウェイトをかけるこのサイトに方法が載ってるみたいです
http://www.geocities.co.jp/MotorCity/1329/vctips.htm
>ウエイトを入れる時はクロックを利用する、しかし精度はあまり良くない
>(SleepはCPUが止まってしまうのでよろしくない)
> clock_t sclock;
> sclock = clock();
> while(clock()-sclock<200); // 200ms Wait
0841名前は開発中のものです。2010/05/24(月) 20:31:21ID:CIa/lMJm
なんでウェイト・・・
0842名前は開発中のものです。2010/05/24(月) 20:43:04ID:in/G/ZP1
>>840
親の変数に入る数値の範囲って、どれくらいなの?
0843名前は開発中のものです。2010/05/24(月) 20:59:54ID:wEezdE4B
>>842
-32768〜32767の範囲です
0844名前は開発中のものです。2010/05/24(月) 21:12:06ID:+VctIG+5
>>834
BUTTON8はL stick
BUTTON9はR stick
のことを表していたはず
箱は持ってないから、実際のパッドのどのボタンと対応しているかまでは不明
スクリプト上、もしくはプレイヤー設定上で指定したい場合は
上記のL stickだかR stickを指定してあげれば良い

あと、簡易keyconfigツールは、押されたボタンをiniファイルに書き込むように指定しているだけだから、
ゲーム本体の対応関係については、いっさい知らないですよ!
0845名前は開発中のものです。2010/05/24(月) 21:30:16ID:in/G/ZP1
>>843
結構範囲広いんだな。
範囲がせまかったら、システム変数の代わりにゲージ使えば行けるかとも思ったが、
まあそれもムリヤリすぎてスマートじゃあないな。

スマン、おれではムリだった。
0846名前は開発中のものです。2010/05/24(月) 23:35:53ID:hLq20/mK
>>843
スコアを使え

送るときに○○倍してスコアに加算
受けるときに○○で割ってスコアを読む

○○以下の桁数はスコア表示しないようにすれば普通に点数システムも使えるし
変数のやりとりもできる。
0847名前は開発中のものです。2010/05/25(火) 09:16:56ID:MNMP+ABG
オプションレベルを取得したら初期化されてない数字が入る
オプションを追加しても内容に変化なし
0848名前は開発中のものです。2010/05/25(火) 11:53:47ID:vs5HhaAY
>>840
シグナルは無理じゃないよ!
親)ローカル変数→シグナル送信(子へ)→ 子)シグナル受信→ローカル変数
・・・でいいんじゃない??

ローカル変数パネルで、変数をシグナルに代入したり、シグナルから変数を取得したりできますよ
親子間だけでのやり取りに限定するなら、システム変数よりもシグナルの方が便利!!
0849名前は開発中のものです。2010/05/25(火) 11:56:13ID:vs5HhaAY
>>847
もっとkwsk

ちなみに、ローカル変数のオプションレベルは、オプションの個数ではなくて、
オプション用ウエポンのレベルでいいんだよね?!
0850名前は開発中のものです。2010/05/25(火) 12:13:47ID:vs5HhaAY
>>843
16進数 FFFF(16bit)で、10進法 65535まで表現できるから、
0〜FFFFだと、0〜65535までの65536通り

負数を表現しようとすると、正負で半分ずつしか表現できなくなるから、
結果-32768〜0〜32767になると

負数は-32768〜-1までの32768通り、正数は1〜32767まで32767通り、
さらに0(1通り)を加えて、32768+1+32767=65536通り

変数の格納値は16bitで表現できる数(2バイト符号付整数:shortとかint16とか)なのかな
0851名前は開発中のものです。2010/05/25(火) 12:25:55ID:wnMlhgLr
に、日本語でおk・・・・
0852名前は開発中のものです。2010/05/25(火) 13:22:14ID:MNMP+ABG
>>849
なるほど・・・
オプションインデックスとレベルはオプション武器のか
個数取得はシステム変数で頑張ってみる
0853名前は開発中のものです。2010/05/25(火) 15:15:05ID:2hJ9jGLa
元変数0を送信計算用の変数1へ代入、変数1が正か負か0かを確認してから。
下は、送信する変数の値が正だった場合。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜
A
@ABa
CDEa
  :
  :
FGHa
I
J
〜〜〜〜〜〜〜〜〜〜〜
A「アウト」
@「条件分岐」:9999<変数1のとき分岐
A「変数計算」:変数1-10000→変数1、時間待ちしない、進行方向右
B「信号送信」:シグナル0、10000を加算で送信、時間待ち指定フレーム1、進行方向右
a「イン」:Aへ飛ぶ

C「条件分岐」:999<変数1のとき分岐
D「変数計算」:変数1-1000→変数1、時間待ちしない、進行方向右
E「信号送信」:シグナル0、1000を加算で送信、時間待ち指定フレーム1、進行方向右
a「イン」:Aへ飛ぶ

F「条件分岐」:0<変数1のとき分岐
G「変数計算」:変数1-1→変数1、時間待ちしない、進行方向右
H「信号送信」:シグナル0、1を加算で送信、時間待ち指定フレーム1、進行方向右
a「イン」:Aへ飛ぶ

I「信号送信」:シグナル1、変数1を送信し終わった合図で子へ1を送信、時間待ち指定フレーム1
J「タスク停止」:このタスク(変数を子へ送信するタスク)を停止する、時間待ち指定フレーム1
〜〜〜〜〜〜〜〜〜〜〜
0854名前は開発中のものです。2010/05/25(火) 15:16:38ID:2hJ9jGLa
とりあえずこんな感じはどうだろうか?
親から子へ変数渡すのにシステム変数使いたくないってのは、画面上にそういう処理が複数
発生する可能性があるのでうまくないってことなのかな?
とりあえずシグナルで組んでは見たが、実際動くか試してない。
だから、どこかミスがあるかもしれないな。
それと、送信し終わるのに1秒未満くらい時間がかかってしまってイマイチかもしれん。
信号送信で送れるのが、数字の他に「変数」ってのがあればよさそうかなとちょっと思った。
0855SB ◆.if.Xu7A6c 2010/05/25(火) 15:39:03ID:hCP3oZ6A
送信シグナル値として即値だけでなく変数も
指定できればいいのか

シグナルは変数がなかった時代の遺物と
考えてたからわりと放置だったw
0856名前は開発中のものです。2010/05/25(火) 15:45:20ID:2hJ9jGLa
SB氏、乙です。
変数の遺物と入っても、すごく面白い機能だとおもいますよ。

ついでにいうならば、今受信している値も送信シグナル値として指定できれば尚よいかと。
0857名前は開発中のものです。2010/05/25(火) 17:22:32ID:MNMP+ABG
パワーアップでABCの武器があったとして
現在Aの場合にAを取るとパワーアップ、BCを取ると武器チェンジのみ
ってのをやろうと思ったけど、全部パワーアップしてしまった・・・

武器経験値加算はメインウエポンインデックスが同じ場合って出来ないかな
0858名前は開発中のものです。2010/05/25(火) 19:25:28ID:Urr5LJGP
信号は変数取得→計算→変数代入の過程をチップたった1個でできるのは便利すぎる
0859名前は開発中のものです。2010/05/25(火) 21:54:33ID:l9pYKubt
stg0674.zip
に今回のバージョンで角度を利用したサンプルを作りました
スクリプトをいじれば角度を32方位、64方位で扱うこともできます

例:16方位
回転:自機 1:通過1
ローカル変数画像角度→変数0
変数0+=2048        //角度補正(↓の値の半分)
変数0/=4096        //4096(16),2048(32),1024(64),182(360)
ローカル変数画像角度←変数0
通過1

このやり方で角度に対応した画像パターンを表示させるには少しだけ工夫が必要です
「画像を自動で回転しない」フラグがあればある程度楽にできます
0860名前は開発中のものです。2010/05/25(火) 22:57:26ID:snWmWLa7
この砲台はッ!
0861名前は開発中のものです。2010/05/25(火) 23:05:46ID:vs5HhaAY
SB氏 毎度 乙です!!

シグナルが変数よりも優越している点
@システム変数を介さなくても親→子,子→親,関節(親)→関節(子)へ数値を送れること
 *関節(子)→関節(親)がないのはなぜ??
  もしあれば、コアの節(子)が破壊されたら関節(親)ごと消滅とかできるのに・・・
A信号送信では、代入、計算、送信を1パネルでできること
B信号受信では、受信、比較・分岐を1パネルでできること
C信号クリアでは、一括して全てのシグナルを初期化できる
 *受信データを0クリアしない・・・の意味は未だにわからないが
Dローカル変数と相互に入替えが可能なこと
0862名前は開発中のものです。2010/05/25(火) 23:21:06ID:vs5HhaAY
自機を向く砲台(角度変更による回転ではなく、画像変更による回転)

@初期画像を透明にする(親)
A「親と同じ方向を向く」フラグを切った透明画像の子を生成しておく
B親の回転パネルで、プレイヤーを向くように設定する
C親の変数パネルで、常に画像方向を取得する
D取得した画像方向の角度に応じて、16方向なり、32方向なり条件分岐する
E角度に応じて、子にシグナルを送信する
Fシグナルを受信した子は角度に応じた画像を表示する
・・・どや?!
0863名前は開発中のものです。2010/05/25(火) 23:55:00ID:MUVU2TUf
>>859の言う
「画像を自動で回転しない」フラグがあれば、親だけで画像の処理とかをできる分
@、A、E、Fの工程を減らせる上にキャラ数も(子の分)減らせるんじゃね?
たぶんだけど
0864名前は開発中のものです。2010/05/26(水) 00:02:26ID:MGZeFe+b
>>863
もちつけ・・・
>「画像を自動で回転しない」フラグがあれば
→回転しないと画像の向きを取得できないから、CDの行程ができなくなるよ・・・
0865名前は開発中のものです。2010/05/26(水) 00:19:19ID:MGZeFe+b
画像の向きを取得しようと思うから、画像の回転が必要になってしまう矛盾・・・

逆に、移動の向きを利用する方法もあるかも
例えば、誘導パネルでプレイヤーを対象にして、移動速度1で追尾して、
次のフレームで、移動の向きを取得して、その角度に応じて画像のパターン番号を変更
さらに次のフレームで、移動前の位置に戻る
(元の位置に戻るには、誘導の前にX,Y座標を記憶しておく必要あるかも)

誘導パネルも極座標移動パネルみたいに、移動速度0でも進行方向だけ変更できたら楽なのだけど・・・
0866名前は開発中のものです。2010/05/26(水) 00:28:55ID:MGZeFe+b
>>857
ローカル変数の武器インデックスやレベルが、
参照だけでなく代入も可能だったら、すごく簡単なんだけどね・・・

もし、これらの代入も可能になったら、下のスクリプトで可能なはず・・・
アイテム取得時に、武器イデックスを参照して条件分岐して、
アイテムの武器と現在の武器インデックスが一致したら、武器レベルを+1
アイテムの武器と現在の武器インデックスが一致しなかったら、武器インデックスをアイテムの武器と同じインデックスへ変更
0867名前は開発中のものです。2010/05/26(水) 00:33:57ID:nDZCG/Fy
test
0868名前は開発中のものです。2010/05/26(水) 00:35:55ID:nDZCG/Fy
やっと規制取れた

>>864
>>865
詳しく言うと
「キャラ」の角度の情報はそのままに(回転などは有効)、
表示している画像(回転などで変化している)の傾きの処理だけをしないってこと
0869名前は開発中のものです。2010/05/26(水) 01:37:17ID:fEyN5q+b
>>855
乙であります!

要望させてください。
ローカル変数を16個以上に増やせませんでしょうか。
管理しやすくするために16個に制限されいると思うのですが

足りないことが結構多くて
親が計算しきれない分は子に計算させて信号で即値をやりとりしてたら
流れが複雑でわけがわからなくなってきてしまいまして…
0870名前は開発中のものです。2010/05/26(水) 05:10:30ID:ursW9n5B
>>869
変数の格納値は、16進法の1桁分(0-Fまでの16通り)なんだろうね。
もう1桁だけ増やすとすると00-FFまでの256通り(システム変数が相当)になるけど、
こうなると現在のダウンドロップ・リスト方式での選択は厳しくなるね。

ただ確かに、自機に関しては変数16個だとすぐに使い切ってしまうというのは共感するので、
せめて自機に関してだけでも変数の使用数の上限を32個くらいに引き上げてもらいたいね。

現時点では、シグナル8個やゲージ3個を併用したり、システム変数への一時格納を上手く利用するのがベターかな。
0871名前は開発中のものです。2010/05/26(水) 06:33:49ID:hrF7BAg6
>>870
変数を安易に増やすことよりも、なぜ変数をたくさん必要とするかを考えるべきかも

例えば、システム変数を直接、条件分岐や計算、ローカルデータへの代入などに使用できないので、その度にローカル変数を消費しなければならない

システム変数を直接操作できれば、ただそれだけでキャラクタをまたいだタスクで使用するローカル変数を節約できる

また、数値代入に(変数:計算→変数:ローカル)と2ステップかかるのもやや面倒で、シグナルみたいに数値は直接代入できるとパネルの使用を節約できる
0872名前は開発中のものです。2010/05/26(水) 06:42:01ID:hrF7BAg6
>>866
なんで武器のインデックスとレベルはリードオンリーなんだろうね

直接代入できたら、透明アイテムを食わせたりとかしなくて済むのだけど
0873名前は開発中のものです。2010/05/26(水) 06:45:49ID:14q5zEZh
格納値って・・・1ニブルに制限する意味がわからん
ワークの都合じゃないの
0874名前は開発中のものです。2010/05/26(水) 12:34:34ID:zF8tJeL+
システム変数パネルで、転送方向が「←」で転送できるのは今のところローカル変数だけなんだけど、
これのほかに、即値や他のシステム変数なんかを「代入」や「演算」で指定出来ればよさそうなんだけどな。

逆に転送方向が「→」のときは、ローカル変数か他のシステム変数への代入だけになるのかな?(よくわからん)

ただこれをやると、システム変数パネル内がかなり変わってしまって、今動いているSB製ゲームが動かなく
なるかもしれないよね。
それと現状システム変数の中身を確認するのにもローカル変数へ読み込まないといけないから、システム変数
の条件分岐とか直接出来ればいいんだけど、やっぱむりなのかなあ・・・
0875名前は開発中のものです。2010/05/26(水) 14:54:02ID:hrF7BAg6
確かに、変数システムを大きく変えることは、既存の何とか動かしているゲームが動かなくなる可能性がある罠

「←」:システム変数 ← ローカル変数を代入
「→」:システム変数 → ローカル変数へ代入
0876名前は開発中のものです。2010/05/26(水) 18:29:50ID:uDh4TJDg
変数足りないとか言ってるやつはまさか一つの変数を
たった一つの事のためにしか使ってないとかじゃないだろうな?
分岐・計算の度にマメに代入しろよ何のための変数だ。
言ってる事が以前出てた「サウンドのループ回数を指定させろ」と同じレベルだぞ。
0877名前は開発中のものです。2010/05/26(水) 19:13:22ID:QsC9A2j0
一つ事だけどさ〜
たとえば距離算出のために自機その他のXY座標を常に取得する必要があって
変数をあるタイミングとかではなくて常に占有しなきゃいけない状況ってあるわけじゃん?

でもあんまり要望でないってことはみんな足りてるんだろうな〜
>>871の直接編集とかができればしのげそうなんだが…
0878名前は開発中のものです。2010/05/26(水) 19:16:51ID:UOZNDYvF
システム変数が絡まなかったり、1か0かのフラグ的な使い方だったら、ローカル変数じゃなくて
シグナル使うとかしていった方が、ローカル変数の節約にはなるかな。

ただ、システム変数の扱いに関しては、必ずローカル変数に読み込まなくちゃいけないわけで、
だからシステム変数を直接いじれれば〜みたいな話も出るわけでしょ。

>>869
まあ今のところは、ローカルが増えないことを前提に、現状でうまくやりくりするしかないよ。

>>876
>たった一つの事のためにしか使ってないとかじゃないだろうな?
スクリプトがマルチタスクで動いているので、同一タスク内で一つの変数を複数の用途別に使い分ける
(タスクの序盤で残機系の処理をして、そのあとの永久ループで座標系の取得をするとか?)みたいな事は
出来るかもしれないが、自分はやってないな。
0879名前は開発中のものです。2010/05/26(水) 19:33:10ID:hrF7BAg6
マルチタスクだから、同じキャラクタ内では同じローカル変数は共有される

しかし、独立して実行されるタスク同士(同時には起き得ないタスク)であれば、同じ変数を別の用途でも再利用可能

例えば、タスク内の連続したスクリプトで、システム変数をロ−カルデータに受け渡しするだけとか
(ローカル変数0でX座標を取得して、システム変数1に代入、その後に引き続いて、同じローカル変数0でY座標を取得して、システム変数2に代入など)

クローズドループ内だけでの処理であれば、他のクローズドループ内の変数を別の用途に使用可能

フラグやカウンタ、親子間での受け渡しには変数を使わずに、シグナルを使うのが一番
0880名前は開発中のものです。2010/05/26(水) 19:48:44ID:QsC9A2j0
>>878
1か0のフラグを使いまわしって変数節約できて便利だよね。
これまでローカル変数の条件分岐でそれやってたんだけど

自分にシグナル0〜1送信して条件分岐できるのは今気付いたわ…
ほかにも何か便利な使い方ってあったりする?
■ このスレッドは過去ログ倉庫に格納されています