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

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

■ このスレッドは過去ログ倉庫に格納されています
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/
0328名前は開発中のものです。2010/07/18(日) 13:53:55ID:UHaEJt2A
OSは?

IEでzipファイルをクリックすると勝手に解凍してしまうのを直す方法
(本来はIEでzipファイルをクリックすると、「保存・開く・キャンセル」のメッセージが表示される)

Xp:フォルダオプションに「ファイルの種類」タブがあり、拡張子のZIPを選択
  詳細設定で「ダウンロード後に開くか確認する」にチェックを入れる

注意)Vistaはそのタブがない
0329名前は開発中のものです。2010/07/18(日) 15:46:21ID:iatEPuqe
>>326
更に言っちゃうと、やっぱり会話シーンは敵出さないのが一番簡単だと思う
世に出てるゲームでだってほとんどはそういう構造になってるし
0330名前は開発中のものです。2010/07/18(日) 16:16:58ID:S749ksKW
そうよな〜

演出より根本的なゲーム性に力を入れたほうがいいのはわかってるんだが・・・

スト魔女STGとかいい感じにカットイン?してるので真似てみたくなるんだよな
0331名前は開発中のものです。2010/07/18(日) 16:58:02ID:Qp4gGq3K
>>327
調べてみたらコンテンツアドバイザをONにしていたせいだったようでした
0332名前は開発中のものです。2010/07/18(日) 17:34:34ID:Qp4gGq3K
でも
右クリック→対象をファイルに保存

クリック→保存

ってどう違うんだ?
0333名前は開発中のものです。2010/07/18(日) 17:45:26ID:22L/k770
>>328
>>314へだろ
0334名前は開発中のものです。2010/07/18(日) 20:01:30ID:S749ksKW
効果音て同じものを重ねて鳴らすことはできないんだろうか。
連続で鳴らすと


 ド
  ドカーン ってなってしまう。

ドカーン
 ドカーン
  ドカーン って鳴らしたいんだけど

複数登録してランダム指定すれば重ねて鳴らせるんだけどね
0335名前は開発中のものです。2010/07/18(日) 20:19:50ID:UHaEJt2A
多分経験的にですが、再生中のファイルを再生すると、リスタート再生になってしまうので、同じファイルの多重再生はできないようです。

同じファイルを連続で再生したい時は、ファイルの再生が終わるまでの待機時間を設定する必要があるようです。

同じファイルを重ねて再生したい時は、同じファイルを@、A、Bと複製して、別々に再生すると再生が重なっても大丈夫なようです。
0336名前は開発中のものです。2010/07/18(日) 20:30:39ID:S749ksKW
そうでしたか。

爆発音とかどうしても重なるから複数用意するのが一般的なんですかね。
雑魚一匹一匹に違うのを登録するのは非効率だからランダムで選ばせる
しかないのかなー
0337名前は開発中のものです。2010/07/18(日) 20:37:21ID:UHaEJt2A
なるほど、確かに雑魚が多いと、どうしても爆発音が重なりますね。

複数登録してランダムで再生させるのは賢い方法ですね。

あるいは、爆発音を管理する変数を用意して、使用してない爆発音を条件分岐で選択させるようにするか・・・
0338名前は開発中のものです。2010/07/18(日) 20:48:09ID:S749ksKW
>あるいは、爆発音を管理する変数を用意して、使用してない爆発音を条件分岐で選択させるようにするか・・・

なるほど!これが正解でしょうね。

ランダム再生だとお手軽だけど重なる可能性あるしね
0339名前は開発中のものです。2010/07/18(日) 21:03:58ID:k3sr93dS
>330
BOSSの警告とか、場面が変わるときにワンメッセージだけのカットインなー
警告音と同時だからテンポ悪くならない
ぶっちゃけ俺はあのカットイン参考にして作ってる
0340名前は開発中のものです。2010/07/18(日) 21:07:03ID:UHaEJt2A
確認してみたけど、やはり同じファイルでは、別のキャラクタのスクリプトで再生しても、リスタートされます。

逆に、この現象を利用すると、ループありで止まらなくなったファイルを停止させれます。
任意に止めたいの時に、同じファイルをループなしで再生させるのです。

ループがループ回数でなく、フレーム数でしか停止させれないのはキツイですね。
ループ回数指定の要望が出るのはわかる気がします。

ループなしの効果音を、制御パネルのループで指定回数だけ再生させればいいという話もわかりますが、
そうするとループありの存在意義があまりなくなってしまいます。
(ループ時間不定の無限ループでしか利用価値がなくなってしまう・・・)
0341名前は開発中のものです。2010/07/18(日) 21:15:53ID:S749ksKW
>339

そうそう「くるぞ!上!」みたいなワンメッセージ燃えるよな
操作とかテンポを悪くしない最低限の演出で緊張感増し増しなので見習いたいわ
0342名前は開発中のものです。2010/07/18(日) 21:48:26ID:S749ksKW
>340
検証乙です。
そういえばループ回数指定の要望ありましたね。
スクリプト組まなくてもループできるのがループありの存在意義という気がしますね。
車輪の再発明とかよくやっちゃうんでデフォ機能をもっと覚えなければなと思ってます。
0343名前は開発中のものです。2010/07/18(日) 22:28:59ID:UHaEJt2A
きちんとデフォルト機能を理解した上で要望することは、車輪の再発明ではなく、
車輪の改良によるスタッドレスタイヤの開発くらいの意義がありますね。
0344名前は開発中のものです。2010/07/18(日) 22:44:30ID:UHaEJt2A
ちなみに、BGMでも確認してみたけど、やはり同じファイルでは、たとえ別のキャラクタのスクリプトで再生しても、リスタートされます。

同じファイルをループなしで再生させて停止させると、BGMの場合はループを前提にしているためか、最後の音がガ・ガ・ガ・・・と続いてしまって停止しませんね。
BGMでは必ず停止スクリプトを使用しないといけないようです。

でも、これではBGMはループなしでの使用ができない(ループなしなのに、最後に停止スクリプトが必要)ため、
ループ回数指定で連続で再生させるのは厳しいですね。
0345名前は開発中のものです。2010/07/18(日) 22:51:06ID:U3hUlxn8
検証乙であります
0346名前は開発中のものです。2010/07/18(日) 23:00:00ID:UHaEJt2A
もう1つ気付いたこととしては、効果音はファイルが別であれば同時再生が可能ですが、
BGMではたとえ別のファイルであっても同時に複数のBGMを再生することはできないようです。

BGMでは常に最後に再生したファイルのみが再生されるため、1度に再生できるBGMは1ファイルのみです。
0347名前は開発中のものです。2010/07/18(日) 23:19:23ID:1AZq5ttS
サウンド関連はあまり触れてなかったから、解説すごく助かるわ
0348名前は開発中のものです。2010/07/18(日) 23:22:36ID:1AZq5ttS
BGMのループなしができないとなると、1曲終えて、次の曲へ・・・みたいのは無理ということか??
そこは解消して欲しいな〜

効果音もいちいち条件分岐はキツイな
BGMは1曲ずつしか再生できないのは仕方ないとして、効果音は同じファイルでも重ねて再生できた方がいいけどな〜
0349名前は開発中のものです。2010/07/18(日) 23:25:17ID:S749ksKW
サウンドってどうしても後回しになっちゃうから
実際適用して見て思ったとおりにいかずアチャーってこと多いよなー

重大な要素の一つなんだから少しづつ適用すればいいんだが
なかなかねー
0350名前は開発中のものです。2010/07/18(日) 23:44:37ID:48tGz7sc
うーん、同じ効果音を重ねて再生するのはちょっと危険な気がする
何か手違いで効果音が超連続再生されちゃった時とか全部重なってるとたぶんメモリがぶっ壊れるんじゃないか
0351名前は開発中のものです。2010/07/19(月) 00:25:08ID:2EMEL1lM
おいおいまじかよ
それでこういう仕様ってことか

他の同人はどう処理してんだろうなと思って東方やってみたら
パスパスした音でわかりにくかったが重なっているように聞こえた

少なくとも俺の耳では3つ以上重なってるかは厳密に判別できないので
3つくらい別ファイル用意すれば十分じゃね?
0352名前は開発中のものです。2010/07/19(月) 00:45:52ID:cSTUt2D3
最初は変数3個使って効果音3個を制御しようと思ったが、結構無駄に変数を消費してしまう。

変数1=0なら効果音1を再生して、再生中は変数1=1、再生が終了したら変数1=0に戻す。
変数1=1なら、変数2をチェックして、変数=0ならば効果音2を再生して・・・の繰り返しで、変数3まで作成する。

しかも、システム変数も3個消費してしまうから、変数の出し入れや管理、変数の分岐だけで結構面倒。
0353名前は開発中のものです。2010/07/19(月) 00:48:09ID:QVIMWH1o
>>348
一曲目BGMの長さと同じだけの長さの通過パネル置いてその後二曲目に変えればいいんじゃなイカ
0354名前は開発中のものです。2010/07/19(月) 01:01:03ID:cSTUt2D3
変数1個でもフラグ判定できる方法を発見!!

変数1を2進数(000)と考えて、1桁目を効果音1のフラグ(0or1)、2桁目を効果音2のフラグ(0or1)、3桁目を効果音3のフラグ(0or1)とする。
判定時には、1桁目なら2進数(001)と論理積(AND)をとると、1桁目が0なのか1なのかが返ってくる。
同様に、2桁目なら2進数(010)と論理積(AND)をとり、3桁目なら2進数(100)と論理積(AND)をとる。
この方法なら、たとえ変数が1個でも桁さえ増やせば、ON/OFFの2択のフラグであれば何個でも判定可能。

ただし、難点としては2進数での表示ができないので、フラグの入力時や論理積の計算時、判定結果なんかは10進数で数値入力が必要。
計算パネルに10進数用(10進数で数値を入力、10進数で結果表示)と2進数用(2進数で数値を入力、2進数で結果表示)があるとわかりやすいのだが・・・。
(表示だけなら、キャラクタの文字列で、2進数表示にすればいいかも)

もし、今後グラフィック関係のパネルへも、変数代入が可能になるようであれば、16進数表示(FFFFFFFF,桁は4ビット×8桁で32ビット)も必要かな。
(カラーコードがαRGB 32ビット=8ビット×4種類のため)
0355名前は開発中のものです。2010/07/19(月) 01:03:33ID:2EMEL1lM
>352
やっぱランダム再生がベストなんかなー
用意する別ファイルは3つで登録を分散して8つくらいにしてるけど
聞いてる分には違和感ない

若干音量を上げ下げすれば同じ音に聞こえないから自然だし
なにより変数消費が0だからな
0356名前は開発中のものです。2010/07/19(月) 01:28:54ID:2EMEL1lM
>354
ANDでもいけるのか
「余り」使って必要桁数抜き出してた・・・
まじで最近数学勉強し直そうかと思ってる
0357名前は開発中のものです。2010/07/19(月) 01:36:38ID:bE99nfoQ
効果音1→1
効果音2→2
効果音3→4

にすれば10進数でも出来るように見えるが
0358名前は開発中のものです。2010/07/19(月) 03:13:57ID:M5+1/XNT
>>357
>>354の8行目
0359名前は開発中のものです。2010/07/19(月) 03:38:47ID:aQowsmxh
>>356
あんまし数学関係ないような・・・
オレ数学で赤点連射してたけど論理演算は普通に使える
0360名前は開発中のものです。2010/07/19(月) 04:30:47ID:QVIMWH1o
>>354
なるほどなるほど確かに

なんつーか、非常にゲーム作成論的な使い方だな
0361名前は開発中のものです。2010/07/19(月) 08:18:57ID:bE99nfoQ
ん?俺が馬鹿すぎて分からないのかな
001→1
010→2
100→4
だから別に論理積とかやらなくてもこの変数を監視すれば今どの効果音が鳴ってるかの判定は出来ると思ったんだけど

1なら効果音1が鳴ってる
2なら効果音2が鳴ってる
3なら効果音1と2が鳴ってる
4なら効果音3が鳴ってる
5なら効果音1と3が鳴ってる
6なら効果音2と3が鳴ってる
7なら全部鳴ってる

なんかそもそもの認識が間違ってるならごめんよ
0362名前は開発中のものです。2010/07/19(月) 08:55:51ID:aQowsmxh
アッテル
0363名前は開発中のものです。2010/07/19(月) 10:27:23ID:HUh817Ri
>>356
MOD(余り)でもできますよ。
10進数で1桁ずつ0-9の10通りのフラグを持つと考えれば、出したい桁の分だけ10で割って切り捨てたもの(商)をMOD演算して余りを出します。
ただ、フラグが2通りでないので無駄が多いのと、桁の分だけ右シフトさせるのが手間ですが。

>>357
実際には2進数表示に対応していないので、そうなります。
001=1,010=2,100=4ですから。
ただ、複数のフラグが立っている時に、2進数だと桁がフラグの種類を表すし、0=OFF,1=OFFで見やすいです。
AND演算した時の結果も、2進数の方がどのフラグが立っているかわかりやすいです。
ただ、欠点としては、もし16ビットのFFFFFF(16進数)=65536(10進数)を2進数で表示すると、16桁になってしまい場所を取ってしまいますが。

>>361
論理積を使わないと、特定のフラグのみ(特定の桁だけ)抜き出しての判定がしづらいです。
3個のフラグ判定に8通りの分岐が必要になっているけど、例えばフラグ1のON/OFFだけ判定したい時に、論理積は便利(余りでも工夫すればできる)。
0364名前は開発中のものです。2010/07/19(月) 10:38:27ID:HUh817Ri
>>359
論理演算はスイッチのON/OFFパターンだから、計算力ではないですよね。
 論理積(AND演算)は、フラグを立てた桁だけを抜き出す。(指定したスイッチのON/OFFを確認する)
 論理和(OR演算)は、フラグを立てた桁を代入する。(指定したスイッチをONにする)
0365名前は開発中のものです。2010/07/19(月) 11:24:30ID:gpZY9GJh
おー解説どうもです。
今まで適当にやってたところが解明されていく・・・

ANDで必要桁数を抜き出しすれば変数足りなくなるってことは
まず無くなるよね

プログラマー的にはよく使う手段なんだろうか
0366名前は開発中のものです。2010/07/19(月) 11:35:57ID:cSTUt2D3
解説乙!
ROM解析とか改造コードとかでも、アイテムとかは1つの変数を2進数にして、各桁でフラグ管理しているよね。
0367名前は開発中のものです。2010/07/19(月) 11:40:20ID:Xu3xX28u
昔に比べ全体的にレベル下がってるな
コンピュータの内部ぐらい知れと
円の当たり判定すら思いつかなような奴ばかり
0368名前は開発中のものです。2010/07/19(月) 11:41:01ID:cSTUt2D3
ちなみに、左シフト・右シフトって、要するに数字の桁を左・右にずらしているだけだろ?

10進数だったら、左シフトで10倍、右シフトで1/10(小数以下は切り捨て)だし、
2進数だったら、左シフトで2倍、右シフトで1/2(小数以下は切り捨て)と。

ただ、SBの場合は、数値を10進数で入力するけど、シフト時は内部で2進数に変換されてシフトされていて、
最終的に返ってくる値は再び10進数に戻っているから、紛らわしい。
0369名前は開発中のものです。2010/07/19(月) 11:42:26ID:cSTUt2D3
>>367
ユトリ世代は論理計算とか2進数計算とかやってないんだから、しょうがないでしょ。
0370名前は開発中のものです。2010/07/19(月) 11:42:50ID:+3pQHnF4
お前ら頭いいなー
0371名前は開発中のものです。2010/07/19(月) 11:43:40ID:+3pQHnF4
いや2進数はやるだろw PSIでも出るし(関係ないか)
0372名前は開発中のものです。2010/07/19(月) 11:54:31ID:cSTUt2D3
これらの機能を搭載したSB氏はよほどの天才だな。

俺達はSB氏の掌の上で踊らされているようなものだからな〜
0373名前は開発中のものです。2010/07/19(月) 11:56:34ID:gpZY9GJh
SB氏ってドM幼女じゃなかったのか?

天才には違いないだろうが・・・
0374名前は開発中のものです。2010/07/19(月) 12:03:40ID:cSTUt2D3
SB氏って、斧収拾家じゃなかったっけ?

俺が○ンター○レインの社長だったら、SB氏をヘッドハントするか、SBを買い取るな。
そんで、SBをシューティングツクール2010に改名して、萌え絵とメカ絵を満載にして、PC版/PS3版/Xbox360版を出すな。
Xbox版にはXMLファイル書き出しをつけて、家電版では作成したゲームをオンラインで公開できるようにして、解説本をアスキーから出して・・・
0375名前は開発中のものです。2010/07/19(月) 12:09:39ID:gpZY9GJh
SB氏は欲にまみれたお前らとは違うんだよ!

純粋にSTGを愛するドM幼女なんだよ・・・

斧収集家か・・・話が合いそうだな。
0376名前は開発中のものです。2010/07/19(月) 12:15:13ID:cSTUt2D3
>>375
斧・・・って流行ってるの??
斧持ってアキバとか行っちゃダメですよ?もちろん、斧持って○ンター○レインに行ってもダメですよ。

>>363
>0=OFF,1=OFFで見やすいです。
今さらながら、1=ONの間違いですよね。

ここまでのフラグ管理の解説をまとめて欲しいです。
効果音の話から、フラグ管理までいけるとは、ためになりました。
16ビットなら、変数1個で16フラグを同時に管理できますね。
0377名前は開発中のものです。2010/07/19(月) 12:20:20ID:gpZY9GJh
>376
まじで今バーディッシュ買おうかと思ってる。

てかフラグ管理はアンタがまとめなさいよ
勉強にもなってよろしいんじゃなくて?
0378名前は開発中のものです。2010/07/19(月) 12:34:31ID:cSTUt2D3
>>377
なるほど某幼女が使っていたヤツか・・・。
斧収集家は幼女趣味な訳だな。
実物は、教皇庁に使用を禁止されているらしいが大丈夫なのか?
0379名前は開発中のものです。2010/07/19(月) 12:40:29ID:gpZY9GJh
>378
フェイトさんは関係ねえよ!

俺がポールウェポンに興味があるだけ。
ちなみにドM幼女の話も他のSB板で誰かが言っていたのを引用しただけ。
可能性ゼロではないよね・・・
0380名前は開発中のものです。2010/07/19(月) 13:05:33ID:eCEjeQ7l
ドッターとしてここにやってきたプログラミング知識皆無の俺には
最近のレスについていけない・・・。
いまだに自機の武器システムに手間取ってる
0381名前は開発中のものです。2010/07/19(月) 13:20:35ID:8Ajyzcdr
>>380
ここはボルタックの酒場のようなものだ
SB製作仲間を募集してもいいんじゃないか?
俺が見る限りはグラフィックだけ残念というゲームがゴロゴロしている。
0382名前は開発中のものです。2010/07/19(月) 13:34:34ID:/NsUZ1Io
>380
別についていかなくても
アイデア、調整がしっかりしてれば面白いSTGは作れるので何も問題ない
ゆっくり作っていけばいいさ

そもそも完成するまで1年以上とか普通だしさ
0383名前は開発中のものです。2010/07/19(月) 13:34:44ID:yG3ZCznU
>>380
ドット職人としてサンプルあげるだけでももの凄く重宝される。
0384名前は開発中のものです。2010/07/19(月) 13:41:23ID:cJVudsF2
STG用の素材って本当に万年枯渇状態だよな
0385名前は開発中のものです。2010/07/19(月) 13:43:23ID:8Ajyzcdr
>>380
とりあえずサンプル上げてみなよ
即ナンパされるぜ
みんなカワイコちゃんには目がないからさ
0386名前は開発中のものです。2010/07/19(月) 15:09:27ID:CnK4xmtT
3Dグラを2Dに落とせばいいじゃん
0387名前は開発中のものです。2010/07/19(月) 15:33:50ID:1poeEczc
>>365
任意のbit幅を抽出したいときは and よりマスクで or して xor すればいいんじゃないかな

たとえば$005588aa から 9〜16bit部分の $88 だけが欲しい場合に $FFFF00FF を or して xor すると $00008800 だけが残る
0388名前は開発中のものです。2010/07/19(月) 15:45:16ID:1poeEczc
いやーん、欲しいだけなら $0000FF00 との and でいいじゃない・・・w

昔組んだ時、何か理由があって or xor 使ったんだけど、なんでだっけ・・・
0389名前は開発中のものです。2010/07/19(月) 16:56:47ID:QVIMWH1o
>>380
なあに
ログだけ残しておけば後になって「あれそういえば」と思ったときに見てみると
その頃には案外理解できるようになってたりするもんだぜ
0390名前は開発中のものです。2010/07/19(月) 17:10:07ID:b1iVVuYZ
>380のモテモテぶりに嫉妬

ところで表示優先についてなんだが
上空〜低空とだんだん後ろのレイヤーになるのはわかるんだが

Z値がわからない

たとえば同じ「上空」同士でも優先順位が設定できるのかと
ためしに1とか-1を入れてみても結果はかわらず・・・
0391名前は開発中のものです。2010/07/19(月) 17:18:12ID:cSTUt2D3
>>377
論理演算とシフト演算については、まとめておいたよ
フラグ管理については、もう少しで
0392名前は開発中のものです。2010/07/19(月) 17:26:45ID:ega7howf
理論演算についてはまったく分からなくて敬遠してたんだけど、
今回の話題でちょっとつかってみたら、結構うまくいった!

>>391
おつかれ、読ませてもらってもう少し勉強したいと思う。
0393名前は開発中のものです。2010/07/19(月) 17:36:35ID:b1iVVuYZ
>391
んま〜
やるじゃないのこの色男!

Z値オフセットについても書いてあったという俺の目の節穴ぶり
参考にさせてもらうよ
0394名前は開発中のものです。2010/07/19(月) 18:42:11ID:cSTUt2D3
フラグ管理のまとめも何とか終了
SBにはNOT演算がないから、フラグに0を代入するのが難しいかも
まあ、ANDで0かどうかで条件分岐しておけば、後はXORでフラグ反転できるからいいか

>>393
Z値の解説は自分ではないけど・・・
表示優先とZ値の関係も調べておくよ
0395名前は開発中のものです。2010/07/19(月) 19:04:10ID:9ZYEWbVD
理論演算がまったく分からないおれが今日分かったこと

「論理演算を使う場合、普通に10進数で入力したものが、内部で2進数にされてから
 論理演算が行われる。その結果が再び10進にもどされて出力される。」

だから、10の左シフトで、普通に10進数なら100が帰ってくるところが、

10(10進数)→1010(2進数に変換)→10100(左シフト)→20(10100が10進数になって出力された)

で20が帰ってくる。
って感じであってますか?
じゃあ、シフトや論理和とかどういう場面でどういう風に活用すればいいのよ?
ってのはまだわからんぜ。
1がオン、0がオフとかはイメージで分かるんだけどね。
0396名前は開発中のものです。2010/07/19(月) 19:21:03ID:b1iVVuYZ
>394
おまえマジでイケメンだな
つっかかってわるかったよ

しかしロンリィ演算のなんと有用なことか
俺は今日新たな一歩を踏み出せた気がする・・・
0397名前は開発中のものです。2010/07/19(月) 19:29:12ID:cSTUt2D3
>>395
OK.OK!
>「論理演算を使う場合、普通に10進数で入力したものが、内部で2進数にされてから
>論理演算が行われる。その結果が再び10進にもどされて出力される。」
ここが一番のキモだね。
>1がオン、0がオフとかはイメージで分かるんだけどね。
そうそう、フラグ管理の時だけは、2進数で代入したり、2進数で結果が返ってきてくれた方が、わかりやすい。

>>388
調べてみたよ。
@AND法:
 抽出したいフラグの位置を1にして、それ以外を0にする(1にした桁のみが抽出され、他の桁は0となる)
AOR+XOR法:
 抽出したいフラグの位置を0にして、それ以外を1にする(0にした桁のみが抽出され、他の桁は0となる)
結果は大体同じで、要は0にしたところを抜くのか、1にしたところを抜くのかの違いだけのよう。
AND法の方が手間は少ないよ。
0398名前は開発中のものです。2010/07/19(月) 19:40:23ID:cSTUt2D3
>>388
2進法だとどちらの方法も、せいぜい手間以外の差はないけど、
16進法だと0に指定した桁を抽出するOR+XOR法の方が確実かも。
(16進法の場合は0=OFFでも、ONは1-Fまで段階があるので)

AND法では、抽出桁以外は0にしかできない(抽出桁は透過率を変えて抜き出せる)けど、
OR+XOR法では、抽出桁以外を透過率を変えて、半透明状態で抜き出す(抽出桁は完全透過する)ことができる。
0399名前は開発中のものです。2010/07/19(月) 19:58:37ID:9ZYEWbVD
30と15を論理積した

30→11110(30を2進数にした)、15→01111(15を2進数にした)

  11110
& 01111
-------------
  01110

結果:14(01110を10進数にした)
慣れるまで時間がかかる・・・
0400名前は開発中のものです。2010/07/19(月) 20:27:56ID:cSTUt2D3
>>399
ON/OFFで判定できるフラグを保持しておくための変数と割り切って、機械的に使って良いと思われる。
調べたい桁(2のN乗)とAND演算して、結果が0だったらフラグはOFF、0じゃなかったらフラグはONと判定。
条件分岐でやりたい処理をして、フラグをONなりOFFなりすると・・・。

フラグのONは、ONにしたい桁(2のN乗)とOR演算で簡単にできる。
フラグのOFFは、OFFにしたい桁(2のN乗)をOR演算で1回ONにした後に、続いてXOR演算で反転させてOFFにすると上手くいく。

>>387-388の言ってたOR+XOR法は、OFFにする時にかなり便利だ。
NOT演算は必要なかったよ。
0401名前は開発中のものです。2010/07/19(月) 21:09:29ID:9ZYEWbVD
4つの部屋が使用中かそうでないかの判別

@ A B C

@とAの部屋が使用中、BとCが空きなら、

1100(10進数だと12)

  1100
& 1000(8を2進数にしたもの)
---------------------------
  1000→8が帰ってきたので、1の部屋は仕様中と判別

12 AND 8 = 8 →@は使用中
12 AND 4 = 4 →Aは使用中
12 AND 2 = 0 →Bは未使用
12 AND 1 = 0 →Cは未使用

ここからBも使用中にする

  1100
|  0010(2を2進数にしたもの)
---------------------------
  1110→14、Bも使用中になった。

12 OR 2 = 14

こんなかんじか。
実はちょっと前に、4つのもののオンオフを調べるのに10進数のままで判別する方法を使ってみたんだけど、
勉強も兼ねて、理論演算で組みなおして見ることにするよ。
いやあ、>>400、色々ありがとう、他のみんなもありがとう、ちょっとずつわかってきた気がするよ。(あくまで気がするだけ)
フロはいってこよっと。
0402名前は開発中のものです。2010/07/19(月) 22:24:18ID:9ZYEWbVD
つづき
@ A B C

1110

今、@、A、B、が使用中Cが空き
ここからAを未使用にする

  1110
|  0100
---------------------------
  1110
^ 0100
---------------------------
  1010→Aがオフになった

14 OR 4 = 14
14 XOR 4 = 10

最初のOR演算の所は、14→14で結局おなじ結果になってるね。
これはなんだろう?
「Aはオンかオフか調べてないから分からないけど、オンでもオフでもとりあえず
 オンにする命令を出しておいて、それからオフにすれば確実にオフに出来る」
ってことですか?

複雑だ〜
0403名前は開発中のものです。2010/07/19(月) 22:25:45ID:cSTUt2D3
>>390
少なくとも、子キャラクタに関しては、常に子生成パネルの子描画優先順位で、子キャラクタの描画の上下関係が決定する。
子描画優先順位が同順の場合には、常に後に生成された子キャラクタが優先される。
たとえ、子描画優先順位が低いキャラクタが後に生成されても、優先されない。

また、Z値は子キャラクタ同士の描画順位には関係しない。
たとえ、描画順位を変更しても、@子描画優先順位が高いもの>>A子描画優先順位が同順の場合には後に生成されたもの、で描画順位は変わらない。
0404名前は開発中のものです。2010/07/19(月) 22:41:40ID:cSTUt2D3
>たとえ、描画順位を変更しても
「たとえ、Z値を変更しても」の間違い。

さらに、表示優先も子キャラクタ同士の描画順位には関係しない。
たとえ、表示優先のレイヤーを変更しても、@子描画優先順位が高いもの>>A子描画優先順位が同順の場合には後に生成されたもの、で描画順位は変わらない。

子キャラクタにおいては、Z値の数値および表示優先のレイヤーは、描画の上下関係に影響なし。
0405SB ◆.if.Xu7A6c 2010/07/19(月) 22:43:10ID:LDC79uEt
ver 0.99.32
スクリプト「攻撃・編隊」でPARAM_Bが設定できなかったバグを修正
ゲーム設定にマウスの項目を追加
スクリプトのシステム変数にマウス座標の取得を追加

http://maglog.jp/sb/
0406名前は開発中のものです。2010/07/19(月) 22:46:02ID:cSTUt2D3
>>402
XORはあくまでフラグの反転命令なのです。
(ONならOFFに、OFFならONに・・・)

フラグをOFFにする命令がないため、フラグをONにするORで、いったん強制的にONにしておきます。
すると、XORでフラグを反転すると、すでにONになっているので、確実にOFFになります。
0407名前は開発中のものです。2010/07/19(月) 22:47:13ID:CnK4xmtT
>>405
そんなもんつけんな
0408名前は開発中のものです。2010/07/19(月) 22:48:49ID:cSTUt2D3
>>405
お疲れ様です!!

>スクリプト「攻撃・編隊」でPARAM_Bが設定できなかったバグを修正
そんなバグがあったのか・・・気付かなかった。

でも、なぜにマウスの座標取得が追加??
ついに、ガンシューティングにも手を伸ばし始めたのかな。
0409名前は開発中のものです。2010/07/19(月) 22:51:17ID:cSTUt2D3
「マウスの座標取得」を使えば、ペイントソフトも作成できそう。

マウスを照準にして、マウスの位置に向かっていく誘導ミサイルとかは、みんなが考えるだろうな。
あとは、マウスで配置する感じのタワーディフェンス系のゲームも作れそう。
0410名前は開発中のものです。2010/07/19(月) 22:55:03ID:b1iVVuYZ
>>405
乙です!

マウスとは・・・なんということ

仕様変更の欲求を抑えられるだろうか・・・
0411名前は開発中のものです。2010/07/19(月) 22:58:08ID:cSTUt2D3
>>SB氏へ
この間のver.upでローカル変数で進行方向の角度は取れるようになったのですが、
今後、進行方向の速度も参照・取得できるようにご検討下さい。
(X,Y方向の速度から計算するのに平方根なくてできませんし、角度から計算するのにも三角関数がなくてできません)
0412名前は開発中のものです。2010/07/19(月) 22:59:36ID:9ZYEWbVD
>>406
了解しました!

>>405
乙です!
マウス座標取得は、今ひとつ不思議そうな機能追加ではありますね。
自機とマウスの間を多関節かなんかでつないで両方操作でリブルラブルとか・・・

まだ自分には使いこなせないかもですが、そのうち手を出してみようと思います。
0413名前は開発中のものです。2010/07/19(月) 23:29:27ID:bE99nfoQ
弾幕姉妹っていう同人ゲームが自機をマウスで動かすタイプなんだが
もしかしてあれも頑張れば作れちゃうってことか
そりゃすげぇや
SB氏乙
0414名前は開発中のものです。2010/07/19(月) 23:59:19ID:G6rAbox4
WRRRRRRRYYYYY!!
マウス搭載キタアアァアアアァ!!!!!!
0415名前は開発中のものです。2010/07/19(月) 23:59:35ID:tMBp5FQt
ぱいtouchをしろってことだな!
0416名前は開発中のものです。2010/07/20(火) 01:37:08ID:4L/VE087
俺も真っ先にその用途が思い浮かんだ
0417名前は開発中のものです。2010/07/20(火) 07:45:43ID:1IDgXWNP
>>405
更新どもです
0418名前は開発中のものです。2010/07/20(火) 09:15:43ID:f1/Q7m8F
マウス移動はメニューセレクト・ランキングでは非対応だから
スクリプト組み込まないとダメですね
リプレイではマウス移動拾ってくれないので再生できないみたい
でも期待大ですね
0419名前は開発中のものです。2010/07/20(火) 09:17:45ID:f1/Q7m8F
>>405
更新乙です
PARAM修正助かりました。ありがとうございます

ようやく規制解除・・・長かったけどまたすぐになるんだろうなぁ
OperationSB ver 0.20 マウス対応上げときましたー
0420名前は開発中のものです。2010/07/20(火) 09:18:38ID:2CvTXqrs
>>411
> X,Y方向の速度から計算するのに平方根なくてできませんし、
> 角度から計算するのにも三角関数がなくてできません
目で見て動きがカクカクせん程度なら
精度だって三桁もあれば十分だろうから、
近似式でなんとかなりそうに思うが。
マジで桁一杯の精度で高速に計算するんなら、
CORDICとか使って実装する手も
あるんだが、精度保証やらオーバーフロー処理とか
真面目にやってると結構な手間だぞ。
0421名前は開発中のものです。2010/07/20(火) 12:20:55ID:l6eutGyA
>>420
だから、進行方向の速度を変数に取得できるようにしてくれってことでは?
パネルでは速度の向きと速さを代入しているわけだから、システム的にはそれが保管されている変数の中身を返してもらうだけだし。
無理に計算で求めようとするから大変なだけで・・・。

ただ、マウスの座標取得ができるとなると、そこからターゲットまでの距離が必要になる場面も出てくるかも。
XとYに変数や数値を入れると、斜辺の値を変数に返してくれる関数パネルがあっても良いかもね。

>>419
マウス対応乙です。
0422名前は開発中のものです。2010/07/20(火) 12:27:12ID:l6eutGyA
>>411
速度を減速する時にマイナスになってしまわないようにするために、速度を取得して条件分岐ができるようになりますね。

進行方向の速度を条件分岐できるようになれば、この間の速度の倍速指定も実現可能だね。
例)現在の速度を変数に取得→それを×2倍して、再び現在の速度に代入
0423名前は開発中のものです。2010/07/20(火) 15:27:07ID:2CvTXqrs
>>421
最近はマシンがもりもり高速化しているので
漏れの貧乏性のほうが問題なのかとも思うが、
内部的にはX方向・Y方向の分速度を
単位フレームあたりのピクセル数かなんか
(固定小数点表示のサブピクセル位置とか)に変換し、
座標上のX・Y位置をインクリメントしとるんだと思うんだよな。
向き(角度)はX方向・Y方向の分速度の比の
アークタンジェントを取ることで求めていそうなので、
若干は負荷になるような気がせんでもない。

>>422
> 進行方向の速度を条件分岐できるようになれば、この間の速度の倍速指定も実現可能だね。
> 例)現在の速度を変数に取得→それを×2倍して、再び現在の速度に代入
裸のX方向・Y方向の分速度が見えるようにすれば、
「X方向・Y方向の分速度をそれぞれ×2倍して、再び現在の値としてセット」
というやりかたで同じことができる。
あるいは粘性というのは速度の自乗に比例するので、
「分速度の自乗に一定値(0.998とかいった
1.0に近い値)を掛けてから
平方根を取って元の値に代入」とかすれば、
「粘っこい液体の中での運動」が表現できる。

……とはいえ中身まで見てないんで、なんとも言えんのだが。
0424名前は開発中のものです。2010/07/20(火) 15:40:48ID:jkMTe2Qj
おまいら物理エンジンを要求する気かw
0425名前は開発中のものです。2010/07/20(火) 17:18:56ID:UY6pbANr
ソフトの性能が上がってもユーザーがついて来れてないか?
0426名前は開発中のものです。2010/07/20(火) 17:29:53ID:Fh54sSAj
ソフトのバージョンなんか古くてもスト魔女レベルのものは作れると実証されてるしどうでもいい
0427名前は開発中のものです。2010/07/20(火) 17:38:59ID:5tLJARwY
懐が深い分には問題ないしょ
■ このスレッドは過去ログ倉庫に格納されています