トップページgamedev
992コメント426KB

汎用ゲームエディター『Multimedia Fusion2』 9

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2011/07/25(月) 02:01:31.22ID:MOSB94mx
『Multimedia Fusion2』シリーズに関する情報、技術、雑談、質問などに使いましょう。

■前スレ
http://hibari.2ch.net/test/read.cgi/gamedev/1296566000/

■参考リンク
・Clickteam本家
http://www.clickteam.com/
・Multimedia Fusion 2シリーズ日本語版公式サイト
http://www.clickteam.jp/
・Multimedia Fusion 2 wiki
http://wikiwiki.jp/mmf2/
・mfaアップローダ
ttp://ux.getuploader.com/mmf/
・『Multimedia Fusion2』避難所
http://jbbs.livedoor.jp/computer/43067/
05655562011/11/10(木) 02:02:57.07ID:6sfrMk8f
>>564
ありがとうございます
こういうサイトがあると本当に助かりります
SHTはまだ未挑戦ですが、いろんなものに利用できると思いますので、参考にさせていただきます
0566名前は開発中のものです。2011/11/10(木) 02:26:39.77ID:veEC8gEO
>>565
説明するスキル足りないからスルーしたけど
今回のヤツを座標じゃなくてキー入力情報に置き換えて
改造すればリプレイファイルも作れるよ
0567名前は開発中のものです。2011/11/11(金) 02:17:57.85ID:AFwd1/Fj
ブログ第3回のサンプルのみ更新しました
・第3回はボタンを押している間1番近い敵から順にロックオンして
離すと弾を発射するです

時間的に解説記事は後日
0568名前は開発中のものです。2011/11/11(金) 11:31:51.99ID:wsbAFDLu
wikiの動く壁判定を使って動く壁を作って見たのですが
上下にはスムーズに動くのですが左右だと動く壁にめり込まなく放ったのですがそのままにすると
壁と平行して移動してしまいます
横の判定が壁と重なったときにX軸を+1か−1にしてみたのですがジグザグ動いたりやっぱり一緒に引っ付いて移動したりと安定しません
何かいい方法はないでしょうか?
ttp://ux.getuploader.com/mmf/download/367/%E5%8B%95%E3%81%8F%E5%A3%81%E5%88%A4%E5%AE%9A.mfa
0569名前は開発中のものです。2011/11/11(金) 13:24:56.52ID:PFEc3hI8
>>568
動く床の移動量は右移動時はプラス、左移動時はマイナスになるので、
下の判定と触れている時(床に乗っている時)は床に合わせて自機も動くようにするのでそれで良いのですが、
左右の判定が触れている場合に移動量を出している変数をそのまま当ててしまうと、押し出し効果がありません。
左右の場合は変数直接ではなく、床の左右移動時の移動量の最大値で押し出すようにしましょう。
カウンタに表示させて確認すると判り易いです。wikiのサンプルでもそうなっているので再確認してみて下さい。
0570名前は開発中のものです。2011/11/11(金) 19:37:38.41ID:wsbAFDLu
>>569
ありがとうございます
カウンターの数値の意味がやっとわかりました
0571名前は開発中のものです。2011/11/11(金) 22:48:44.01ID:AFwd1/Fj
ブログ第4回を更新しました
今回は弾に振子動作を加える方法です

第3回のロックオンは検証が必要な為更新しておりません
お蔵入りしないといいな
0572名前は開発中のものです。2011/11/11(金) 22:58:44.39ID:dyGFVoxm
>>571
また参考にさせていただきます
Platform Swing objectは使ったことがなかったので、勉強になります
HPは定期的に更新をチェックしておりますので、ここの書き込みがなくとも、拝見させていただいております
0573名前は開発中のものです。2011/11/11(金) 22:59:21.97ID:wsbAFDLu
>>571
お疲れ様です
うーん・・・wikiからPlatform Swing objectの入手先に飛んだけど横の検索場所はググっても見たが
Platform Swing objectがどこでDL出来るかわからない
0574名前は開発中のものです。2011/11/11(金) 23:42:20.77ID:PFEc3hI8
>>571
乙。
Platform Swingは新しいフォーラムでも検索したらヒットしたからwikiにページ追加しといたよ。
0575名前は開発中のものです。2011/11/11(金) 23:59:25.38ID:wsbAFDLu
>>574
ありがとうございます
0576名前は開発中のものです。2011/11/12(土) 01:14:00.13ID:R+HUGH4n
ブログのPlatform Swing objectは日本語みたいですけど、どうやればいいんですか?
0577名前は開発中のものです。2011/11/12(土) 03:28:13.11ID:SRBYTmiy
>>576
有志が翻訳してくれた非公式パッチを当てたものでしょう。
ロダを探せば見つかるかも。
当然のことながら適用は自己責任で。
0578日本語版2011/11/12(土) 13:27:48.82ID:arkTQNvj
すみません
Joypad objectでのパッド操作させる時
画面外に移動できないよう設定するにはどうしたら良いのですか?
座標で移動させると停止(動作)が選択できないんですが

あとこの初回の処理落ちはどうにもならないんですか?
0579名前は開発中のものです。2011/11/12(土) 13:41:22.89ID:SRBYTmiy
>>578
オブジェクトの座標で判定させて画面端の座標より外に行かないようにすれば良いと思います。
初回の処理落ちは何度か作者に報告しましたが直してもらえてません。
後継のJoystick 2では起こらないのでそちらを利用しましょう。
Joystick 2ではプロパティの「Test if device is Xbox controller」を外さないとフレーム開始時のロードが長くなるので注意。
0580名前は開発中のものです。2011/11/12(土) 15:33:59.20ID:zHUt3Ord
ブログ第5、6回更新しました
第5回は以前サンプルにもあげた360°全方位弾の解説です
第6回は第1回の3WAY弾応用編です、解説自体はありません

第3回がまるでボスキャラの様だ
原因は解ってきたので何とかイベントのスリム化した後に解説します、多分・・・

エクステンションはガンガン使う方針なのですが
申し訳ありませんが導入や日本語化はwikiやupロダを参考に自己責任でお願いします
0581名前は開発中のものです。2011/11/12(土) 21:38:05.35ID://QUweRM
ブログは非常に助かるのですが無理はしないで下さいね
0582名前は開発中のものです。2011/11/12(土) 21:38:50.75ID:OFIDV0KU
ブログ説明だと見やすくて助かります
0583名前は開発中のものです。2011/11/12(土) 23:18:27.12ID:UdqZwIpb
>通し番号をセットするアクションと、高速ループの実行アクションを同じイベントに組み込むと
>通し番号が何故か+1された値でセットされてしまいます。

Wikiに書いてあるこれって、実際に確認した人います?日本語の体験版で確認しているからなのかも
しれないのですが、どうも動作が書かれているのと違うようなのですが・・・

高速ループ処理時、問題は通し番号かどうかには関係なくオブジェクトの値にアクセスする
アクション全般に及んでいて、次のような動作をしているように見えます。
(原因は、イベント内のアクションでオブジェクトの選択状態が見えない規則で複雑に変化し、
それによって値が正しく参照・反映されるかどうかが直観では分かりにくい挙動になるためのようです。)

[ルール1]
高速ループアクションを含むイベント行でセットされるオブジェクトの値は、たとえ高速ループを呼ぶより
先に値がセットされていても、高速ループの中ではオブジェクトに値がまだ反映されていない。
(通し番号でも、単なる変数値セットでも同じ。)

[ルール2]
高速ループアクションを含むイベント行でオブジェクトにセットした変数値は、高速ループ内で
同じオブジェクトに対して(たとえ別変数であったとしても)値をセットしている場合には
イベント行を抜けたときに最終的に値が反映されずに破棄されている場合がある。
あるいは、高速ループ内でオブジェクトに設定した値が破棄されている場合もある。
(イベント行・高速ループのどちらかだけで操作しているオブジェクトは問題なくセットした値が
反映される。)

どうやら、注意すべきは通し番号の方ではなく、イベントループ呼び出しの方のようです。
※「見えない選択規則」というのは、試しているうちになんとなく分かってきたのですが、
書くにはちょっと複雑すぎます・・・
0584名前は開発中のものです。2011/11/12(土) 23:34:04.65ID:UdqZwIpb
(↑上で書いてる「同じオブジェクト」というのは、フレーム内に
◆◆◆◆◆◆□□□●●△△
などの実体がある場合に

[フレームが開始]
 ◆:変数Aを変更
 イベントループ呼び出し

[高速ループ]
 ◆:変数Bを変更

という風に、(同じ実体に限らず)同じオブジェクトを参照する記述を書いた場合のことです。
この場合、変数Aや変数Bは正しく反映されるとは限りません。
これが

[フレームが開始]
 ◆:変数Aを変更
 イベントループ呼び出し

[高速ループ]
 □:変数Bを変更

などの場合、高速ループ内で◆の変数Aの値は反映されていないので参照できませんが、
◆にセットした値と□にセットした値は、最終的に正常に反映されます。)

#もしかして当たり前のことだったでしょうか・・・
0585名前は開発中のものです。2011/11/12(土) 23:38:18.94ID:UdqZwIpb
#重ね重ねすみません。「高速ループアクション」「イベントループ呼び出し」など、言葉がばらばらになってしまいましたが、
 これは全部高速ループを開始するアクションのことです。
0586名前は開発中のものです。2011/11/13(日) 00:45:09.32ID:jq8dbBMS
難解だな・・言いたいことはなんとなく分かるけど
体験版だしファイル保存無理ならイベントのSS撮ってくれたら助かるス
0587名前は開発中のものです。2011/11/13(日) 00:58:05.78ID:eBZNreLP
>>583
長文お疲れ様だけどよく分からなかったから自分なりに検証してみました。
ttp://ux.getuploader.com/mmf/download/369/%E9%80%9A%E3%81%97%E7%95%AA%E5%8F%B7%E3%81%A8%E9%AB%98%E9%80%9F%E3%83%AB%E3%83%BC%E3%83%97%E3%82%92%E5%90%8C%E3%81%98%E8%A1%8C%E3%81%AB%E8%A8%AD%E5%AE%9A.mfa
とりあえず「通し番号と高速ループを同じ行に設定するな」というのは間違いじゃないってことかな?
0588名前は開発中のものです。2011/11/13(日) 01:17:56.52ID:6w1kgt/6
>>586
たとえば単純な例では、フレームに
  ◆(アクティブ)を5つ
  ■(アクティブ2)を5つ
  ▲(アクティブ3)を5つ
作成して、イベントエディタで
==================
[1.フレームが開始]
◆:デバッガに追加
■:デバッガに追加
▲:デバッガに追加
----------
[2.フレームが開始]
◆:変数Aを1に変更
■:変数Bを2に変更
"loop1"を1回ループ開始
----------
[3."loop1"がループ実行中]
◆:変数Cを3に変更
▲:変数Dを4に変更
==================
こういう条件とアクションを組んだときに、これを実行したら
どういう結果がデバッガで見えるかということなんです。
普通であれば、
  ◆:5つともすべて変数A=1,変数C=3
  ■:5つともすべて変数B=2
  ▲:5つともすべて変数D=4
になっているはずだと思いませんか?でも実際にはそうはならないんです。
0589名前は開発中のものです。2011/11/13(日) 01:23:49.79ID:6w1kgt/6
>>588の結果がどうなるかというと、

  ■:5つともすべて変数B=2
  ▲:5つともすべて変数D=4

はそのとおりになるのですが、◆は

  ◆:1つだけ変数A=1,変数C=3
  ◆:残り4つは変数A=0,変数C=3

になるんです。理由も大体ですが想像がつきます。

>>587
>とりあえず「通し番号と高速ループを同じ行に設定するな」というのは間違いじゃないってことかな

それはそうなんですが、あえて書き込んだのは「通し番号」以外でもいろいろ問題が起こるよ、
っていう注意喚起のためでした。あの書き方では通し番号以外は大丈夫みたいな書き方でしたから・・・
0590名前は開発中のものです。2011/11/13(日) 01:32:39.41ID:eBZNreLP
>>589
そうですね。通し番号じゃなくて普通に変数変更した場合も確認できました。
ツッコミがなければ自分も検証しなかったし、勉強になりました。
よければwikiに追記してもらえるとありがたいです。
0591名前は開発中のものです。2011/11/13(日) 02:04:32.52ID:6w1kgt/6
>>590
もともと疑問を持ったのはhttp://game-creator87.com/blog/2010/05/mmf2-9.htmlを見ていてなんですね。このページに書かれている

>--------------------------------
>1:フレームが開始した時
> ・◆:0から通し番号を設定:変数A
> ・"testloop"を◆の数だけの回数、ループ開始
>2:"testloop"がループ中
>   かつ
>  ◆の変数Aの値が"testloop"のループインデックスと一致

> ・"testloop"のループインデックス数を出力
>----
>アクティブオブジェクトが3つの時
>上のイベントを組んだ場合、
>本来なら「0」→「1」→「2」と表示されるはずなのですが、
>上のように組んだ場合だと、「0」しか表示されません。
>--------------------------------

という部分で、高速ループを呼び出した時点では変数Aには
まだ通し番号が反映されていないと考えれば変数Aはすべて
0ということで納得なんです。
そこでいろいろデバッグして、高速ループ内でオブジェクトの変数に
値を書き込んだり読み出したりしてると、アクセスしてるのがまったく別の変数なのに
変数Aの通し番号が消えてしまうことがある・・・と。

それでこれは単純に通し番号と高速ループの組み合わせが原因なのではなく、
いろいろ複雑な要因が組み合わさって、よく使うオブジェクトの初期化シーケンスでは
「たまたま」値が+1されているに過ぎない(=他にもいろいろな現象として
問題が起こる)ということにたどり着いた次第です。
ただ、その「複雑な要因」というのがまたいろいろ条件があって、その条件によって難しくて・・・
0592日本語版2011/11/13(日) 02:55:23.94ID:UhvYIhjy
>>579
ヒントありがとうございます
答えなんだろうけど・・
0593名前は開発中のものです。2011/11/13(日) 03:10:10.66ID:jq8dbBMS
http://ux.getuploader.com/mmf/download/370/fastloop_bug_set.zip
>>591
試しに各種ビルドしてみたよ(結果は変わらなかったけど)
これは本家で聞かないと分からんね、変数AとBへの代入のタイミングを入れ替えしても
変数Aは毎回{1,0,0,0,0}になっちゃうし、あたりまえだけど
高速ループの回数増やしてもイベントの順序入れ替えても同じ結果だった
R252でも日本語版でも同じ結果だから、この方法は意識して避けないとやばいね
0594名前は開発中のものです。2011/11/13(日) 07:22:00.33ID:6w1kgt/6
その後いろいろ触ってみて、驚愕の事実(みなさんには既知かもしれませんが、直観とは少し異なる動作)が
いくつかみつかったので書いておきます。
(自分にブログがあればそこへ、あるいはWikiに書けばいいのかもしれませんが、まだ体験版を触って
2、3日の状態ですので用語もよく分からず、何が既知かも分からないので今は控えておきます。)

---------------------------

★驚愕の事実1★

同一イベント行内に書かれた高速ループ開始アクションとオブジェクトへの操作アクションは、
その並び順にかかわらず、まず高速ループが実行されてから、その後で
オブジェクトへの操作が実行されるようです。
(そりゃ、通し番号のセットと高速ループの開始が意図どおりに動作しないはずです。
通し番号が+1されるからといったどころではなかったようです。)

★驚愕の事実2★

さらに!高速ループだけでなくグローバル変数への値セット(ようするに特別オブジェクトへの操作)も、
同一イベント行ではオブジェクトへの操作アクションより先に実行されるようです。つまり、

 グローバル変数Aを10に変更
 ◆:変数Aをグローバル変数Aに変更
 グローバル変数Aに50を追加

と書いていると、◆:変数Aには10ではなく60がセットされるようです。
0595名前は開発中のものです。2011/11/13(日) 07:44:24.23ID:6w1kgt/6
★驚愕の事実3★

◆を5つ作成した状態で、

==================
[1.フレームが開始]
◆:0から通し番号を設定:変数A
----------
[2.フレームが開始 & ◆:変数A>=3]
◆:10から通し番号を設定:変数B
==================

を実行すると、変数Aの通し番号が0〜2の◆には変数Bがセットされず、
選択状態になっている通し番号3,4の◆の変数Bに対して、通し番号10,11が
それぞれセットされます。(これは直観と照らし合わせても普通の正しい動作)

ですが、
----------
[2.フレームが開始 & ◆:変数A>=3]
◆:10から通し番号を設定:変数B
"loop1"を1回ループ開始
---
[3."loop1"がループ実行中]
クリップボードをクリア(←なんでもよい)
----------
に修正して、高速ループ開始を同一行に書いてしまうと、なんと通し番号0,1,2,3,4の
すべての変数Bに対して通し番号11,12,13,14,15がセットされるようになってしまいます。
(★驚愕の事実1★で書いたように、まず先に高速ループが実行されるのですが、
そのときに◆の選択状態が解除され、すべての◆が操作対象に変更されてから
通し番号が振られてしまうようです。しかも+1で。)
0596名前は開発中のものです。2011/11/13(日) 07:56:58.37ID:6w1kgt/6
★驚愕の事実4★

ちなみに、次のように同一の高速ループ名のイベント行を2つ作成しておいた場合、
呼び出し順序はどのようになるでしょうか?

==================
[1.フレームが開始]
"loop1"を5回ループ開始
----------
[2."loop1"がループ実行中]
"o"を出力する処理
----------
[3."loop1"がループ実行中]
"x"を出力する処理
==================

この場合は"oooooxxxxx"と出力されるでしょうか?"oxoxoxoxox"と出力されるでしょうか?
答えは"oxoxoxoxox"となります。
どうやらMMF2では、高速ループの呼び出しはサブルーチンやイベントハンドラのような
ものではなく、純粋にイベントのリスト全体を繰り返し回数分だけ毎回一つずつ舐めながら、
条件に合うものを拾って処理していく、というスタイルのようです。
0597名前は開発中のものです。2011/11/13(日) 08:11:59.71ID:6w1kgt/6
★驚愕の事実5★

通し番号の+1の件ですが、まず基本的な形として、

-----------
[フレームが開始]
◆:0から通し番号を設定:変数A
"loop1"を1回ループ開始
-----------

だと+1されてしまいますが、

-----------
[フレームが開始]
"loop1"を1回ループ開始
◆:100から通し番号を設定:変数A
-----------

だと+1されず、正常に通し番号がセットされます。ですが、

-----------
[フレームが開始]
"loop1"を1回ループ開始
◆:100から通し番号を設定:変数A
"loop1"を1回ループ開始
-----------

だと、またまた+1でNGとなってしまいます。そこで  ・・・続く
0598名前は開発中のものです。2011/11/13(日) 08:21:53.55ID:6w1kgt/6
(続き)

-----------
[フレームが開始]
"loop1"を1回ループ開始
◆:100から通し番号を設定:変数A
"loop1"を1回ループ開始
◆:アニメーションを停止
-----------

などとすると、再び変数Aには正しい通し番号がセットされるようになります。
★驚愕の事実1★で書いたように、同一イベント行では高速ループの呼び出しが
先に行われ、どうやらそのときに通し番号のカウントスタート値が0ではなく
1にセットされてしまうようなのですが、高速ループを拾ってすべて実行した後、
その後ろにまだオブジェクトへの操作アクションが記述されていた場合には
その時点で通し番号のカウントスタート値は0にリセットされるようなのです。
ですので、イベント行の先頭に戻って今度はオブジェクトへの操作アクションを
拾って実行していく段階では正しい通し番号がセットされるようになっている、
ということのようです。  ・・・続く
0599名前は開発中のものです。2011/11/13(日) 08:37:30.92ID:6w1kgt/6
(続き)

なお、それではイベント行で高速ループを呼び出す記述をすること自体が
通し番号のカウントスタート値を狂わせてしまうのか、ということについてですが、
これはそうではないようです。たとえば

==================
[フレームが開始]
"loop1"を1回ループ開始
◆:100から通し番号を設定:変数A
グローバル変数Aを1000に変更
"loop1"を1回ループ開始
----------
["loop1"がループ実行中 & グローバル変数 A<=500]
クリップボードをクリア
==================

などとすると、通し番号は+1されずに正しくセットされます。
要するに、高速ループを呼び出すときにカウントスタート値がおかしくなるのではなく、
実際に高速ループが実行されたときにはじめてカウントスタート値がおかしくなって
しまうのでしょう。
(おそらくMMF2がやらかしてしまっていて、カウントスタート値が0ではなく1に初期化
されてしまっているのでしょう。通し番号のオフセット値の方が+1されているのでは
内容に思います。)

いったんこれぐらいにしておきます。
他にも何かいろいろあったような気がしますが・・・
(特にMMF2で何かをしようと思って触り始めたわけではないので、次はいつになるか
わかりません。)
長々と書いてすみませんでした。
0600名前は開発中のものです。2011/11/13(日) 14:17:03.02ID:Uw0d1OxZ
すみません、PMOについてどうしても分からない事がありまして、
どなたか教えていただけないでしょうか?

横スクロールアクションで、
ボタンを押している間、プレイヤーキャラがダッシュをするように
してあるのですが、その制御をPMOで行っています。
(Set additional X velocityを使い、右向きの時ボタンを押すと
+、左向きの時は−という感じです)

それは良いのですが、敵のオブジェクトが弾を発射した時に、
相手が右側にいる時、こちらが右にダッシュすると相手の弾が遅く、
左にダッシュすると、それを追うように相手の弾が急加速します。
それどころか、こちらがジャンプすると相手の弾まで一緒に上昇します。
※プレイヤのジャンプ等もPMOで制御してます。
PMOの加速度、強制移動はセットしたオブジェクトだけではなく、
全てのオブジェクトに作用するという事なのでしょうか・・・。
完全にお手上げ状態です。
そこで、強制移動、加速度をプレイヤーのみに適用させる方法
をご存知の方がいましたら、教えていただけないえしょうか?

長くなってしまって申し訳ありませんが、宜しくお願いいたします。
0601名前は開発中のものです。2011/11/13(日) 15:35:00.08ID:JUjcKpgy
>>600
サンプルみないと何とも言えんが
弾のオブジェクトのスクロールオプションの
動作領域に固定のチェックはずれてない?

スクロール対象から外れると表示画面を基準に動くようになるから
背景の動きが加算されてそう見えるだけになってそうだね

PMO1個で制御出来るのはオブジェクト1個だよ
0602名前は開発中のものです。2011/11/13(日) 15:55:13.54ID:zsHqc7h8
>>588-599
長々とご苦労さんです
この手の「ツール独自のクセ・変な仕様」みたいな物は情報がまとまってると凄い助かるね
0603名前は開発中のものです。2011/11/13(日) 16:34:54.45ID:jq8dbBMS
共学3くらいまでしかまだ読んでないんだけど、3行でまとめると
要するに「フレームが開始」一行で変数への代入と高速ループ開始を
同時に指定するとまずいからよゐ子のミンナは二行に分けて指定しようってことだね
0604名前は開発中のものです。2011/11/13(日) 16:35:02.92ID:JUjcKpgy
ブログ第7,8回更新しました
第7回は背景用流れ星
第8回は円運動を使った交差弾です
0605名前は開発中のものです。2011/11/13(日) 16:40:38.62ID:jq8dbBMS
>>604
乙ですー
0606名前は開発中のものです。2011/11/13(日) 16:42:28.15ID:zsHqc7h8
>>603
変数の代入と分けるだけじゃなくて
高速ループの開始行は他に何もしない方が間違いが起こらなくていいと思う
0607名前は開発中のものです。2011/11/13(日) 16:50:43.88ID:jq8dbBMS
>>606
いま試してわかったけど別に「フレームが開始」に限った話じゃないね、これ

>>593でアップしたMFAを改変して「常に実行」に変えても同じ症状出るから
高速ループの開始行は他に何もしない方が安全・・・これだね
0608名前は開発中のものです。2011/11/13(日) 18:42:06.19ID:Uw0d1OxZ
>>601
まさにその通りでした・・・。
そういうことだったのですね。
親切に教えていただき、有難う御座いました
0609名前は開発中のものです。2011/11/14(月) 11:38:53.51ID:nyF9inyw
ようやく技術持ってる連中がいままで隠してた手の内晒し始めてくるようになってきたな
すげぇ助かる
0610名前は開発中のものです。2011/11/14(月) 12:09:41.15ID:sHSL9ZDZ
なんか引っかかる言い方だな・・・
0611名前は開発中のものです。2011/11/14(月) 12:10:48.69ID:wpuc2NuL
過去ログ1から全部読んでこいと言いたい
0612名前は開発中のものです。2011/11/14(月) 14:46:40.95ID:YLKg+Hjo
高速ループもそうですが、>>594のグローバル変数も驚愕でした
いままでひとつのイベントで高速ループを複数、さらに変数やら何やら10以上並べていたりしてたのですが、
どこかでおかしくなってた可能性もあるわけですね・・
0613名前は開発中のものです。2011/11/14(月) 14:56:01.22ID:Y4UcV9G3
>>594
グローバル変数の方を試してみたけど10になったよ?
0614名前は開発中のものです。2011/11/14(月) 15:06:32.30ID:YLKg+Hjo
ひとつ質問なのですが、オブジェクトとオブジェクトが衝突した際のイベントで、何か別の新オブジェクトを作成し、
その新オブジェクトの変数をそのイベント内で設定させているのですが、ここで条件文の分岐をさせることってできないものでしょうか?

衝突したときグローバル変数Aが1の場合は、作成した新オブジェクトの変数も1にするとか、そのような感じで

最初は衝突イベントの中で高速ループを開始して、

ーーーーーーーーーーー
衝突イベント→高速ループを開始
ーーーーーーーーーーー
高速ループ中
グローバル変数A=1のとき→新オブジェクトの変数を1に
ーーーーーーーーーーー
高速ループ中
グローバル変数A=1のとき→新オブジェクトの変数を2に
ーーーーーーーーーーー

こんな感じでやればいいかと思ったのですが、新オブジェクトの数が複数になると、すべてに適用されてしまって無理でした
複雑なゲームを作る際には頻繁に行われる処理だと思うのですが、みなさんはどのように対処しているのでしょうか?
0615名前は開発中のものです。2011/11/14(月) 15:26:33.60ID:Y4UcV9G3
>>614
オブジェクトにセットする変数がグローバル変数と同じなら
作成時にオブジェクトの変数にグローバル変数を代入すれば良いと思います。

グローバル変数と違うのであれば、作成のイベントの条件にグローバル変数の条件を足したイベントを
分岐数だけ用意するとか、
作成のイベントを1つで済ませたいなら以下のようにも。
ttp://ux.getuploader.com/mmf/download/371/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E5%A4%89%E6%95%B0%E3%82%BB%E3%83%83%E3%83%88.mfa
0616名前は開発中のものです。2011/11/14(月) 15:59:06.09ID:EcO+3cpY
>>613
俺も試してみた。
オブジェクトが1つのときと複製して複数にしたときで動作が違う・・・ ( Д) ゚ ゚

・・・笑うしかねぇw
0617名前は開発中のものです。2011/11/14(月) 16:03:20.41ID:YLKg+Hjo
>>615
ありがとうございます
グローバル変数が〜というのはあくまで例えで、ボタンを押していたり、座標だったり、いろいろな条件で分岐させたかったのですが、
つまり「新オブジェクトを作成させた」というフラグを使って、まったく別の場所でイベントを組めば良かったというわけなのですね
これでひとつのイベントにいろいろ詰め込まずに、分けて見やすく作っていけそうです


それから、>>594の★驚愕の事実2★について調べてみましたが、これはおそらく間違いで、
オブジェクトを複数作った際の現象を指しているのではないかと思います

オブジェクトを複数作ると、確かに>>594の★驚愕の事実2★の通りになりますが、
これはグローバル変数でなくても、オブジェクト変数でも50になってしまいます
オブジェクトが1つなら普通に10になりますので、その現象のことだと思います
0618名前は開発中のものです。2011/11/14(月) 16:16:42.02ID:EcO+3cpY
>>617
うーん・・・複数の場合だと納得できる動作なのかな。
よけいにわけわからん、困った動作な気もするが。
0619名前は開発中のものです。2011/11/14(月) 16:30:49.69ID:EcO+3cpY
ちなみに俺のところでは、
 @オブジェクトが1つだけのとき→変数A=10
 Aオブジェクトが複数のとき→1つのオブジェクトだけ変数A=10、後は全部変数A=60
になってる。@はAの特殊ケースってこと?
0620名前は開発中のものです。2011/11/14(月) 16:40:45.35ID:YLKg+Hjo
>>618
あ、いえ、納得はできないのですが、この現象自体は前に見ていたので、そういうものだと思って回避していました
なので、あくまで複数のオブジェクトがある場合限定の現象だと思います

★驚愕の事実1★についてもたぶん同じようなことなのではないかと思うのですが、
この現象については確認できませんでした

>>619
複数ある場合、適用されるのは最初の1つだけになるんだと思います
なぜそうなるのかはよくわからないのですが、オブジェクトが複数ある場合は、
こういう現象が起きていたので、いつも通し番号+高速ループを使うようにしていました

勝手にこういう仕様だと思ってました

<実際の処理>
 グローバル変数Aを10に変更
 ◆(その1):変数Aをグローバル変数Aに変更
 グローバル変数Aに50を追加
 ◆(その2):変数Aをグローバル変数Aに変更
 ◆(その3):変数Aをグローバル変数Aに変更
 ◆(その4):変数Aをグローバル変数Aに変更
 ◆(その5):変数Aをグローバル変数Aに変更
0621名前は開発中のものです。2011/11/14(月) 16:43:08.93ID:EcO+3cpY
グローバル変数のセットが先に行われるというよりは、
複数のオブジェクトへのアクションは(1つをのぞいて)後回しにされて
最後に実行される、ということでいいのかな。
0622名前は開発中のものです。2011/11/14(月) 16:59:31.32ID:YLKg+Hjo
>>621
想像ですが、そんな感じなんなのではないかと・・
なので、この場合は高速ループで行を分けると正常に動作します

 グローバル変数Aを10に変更
 高速ループを開始
 グローバル変数Aに50を追加
ーーーーーーーーーーーーーーーーーーー
高速ループ中
 ◆:変数Aをグローバル変数Aに変更
0623名前は開発中のものです。2011/11/14(月) 17:51:28.89ID:eJ5g23uj
そろそろforeachみたいに高速ループを一本化してほしいもんだ
0624名前は開発中のものです。2011/11/14(月) 18:06:18.78ID:WRdObV11
グローバル変数ってゲーム中何に使うものなのか教えて欲しい
最近では画面切替のやつくらいしか知らないんだ

それ以外のデータもあったら教えて欲しい
0625名前は開発中のものです。2011/11/14(月) 19:12:23.05ID:wpuc2NuL
AのアニメーションとBのアニメーションのフレームを同じにしたくて
Aのアニメーションフレームを変更→Bのアニメーションの現在のフレーム値を取得でやったんだけどなぜかぴくりとも動かない
何が原因なんだろう
0626名前は開発中のものです。2011/11/14(月) 19:42:11.84ID:Y4UcV9G3
>>625
こういうこと?
ttp://ux.getuploader.com/mmf/download/372/animation_frame.mfa

ちなみに、アニメフレーム変更するとアニメの再生はストップするから、
変更したフレームからアニメを再開させたい場合は、「復元」→「アニメーションフレーム」を実行。
0627名前は開発中のものです。2011/11/14(月) 19:48:32.69ID:wpuc2NuL
>>626
そういうことなんですがなぜかできない
それ以外に命令を与えてないからどこかと喧嘩するわけもないしなんでだろ
0628名前は開発中のものです。2011/11/14(月) 19:51:17.91ID:Y4UcV9G3
>>627
>>626のサンプルはその通り実行されてる?
そうだとしたらそっちが組んだファイルを見てみないことにはなんとも
0629名前は開発中のものです。2011/11/14(月) 19:57:36.26ID:wpuc2NuL
>>628
気がついたらなぜか出来るようになってた
なんでできなかったのか原因がわからないというのがつらい・・・
ありがとうございました
0630名前は開発中のものです。2011/11/14(月) 23:07:11.82ID:wpuc2NuL
ちょっとサンプルを上げて質問できないのですが
アニメーションでホットスポットの表示場所を1ずらすだけで表示されないことってあるのでしょうか?
先ほど2フレームのアニメーションを別のアニメーションと差し替えたのですが片方だけ表示されず
色を変えたりホットスポットを1上や横にずらすと表示されるという状況に
わけがわからなくなったのでMMF2を一旦落として再起動すると普通に表示されるようになりました
MMF2に昔からあるバグでしょうか?
0631名前は開発中のものです。2011/11/15(火) 01:30:38.90ID:DpTcpqHq
ブログ第9回更新しました
第9回は重複しないばら撒き弾の作成です
0632名前は開発中のものです。2011/11/15(火) 17:18:23.84ID:DpTcpqHq
ブログ第10回更新しました
第10回はオプションを応用した自機の数フレーム前をひたすら狙って動く弾です

これだけ揃えれば弾幕STGも大分形になりそうなので
今までの様に毎日更新はやらず気が向いた時に
解説したヤツの応用編でも書くかも?程度になります。

第3回は1個だけ認識されない原因を特定出来ずに黒歴史入り(・з・)
この1週間振り返ってみればWAY弾と360°弾の解説だけのつもりが10種類だよ
0633名前は開発中のものです。2011/11/15(火) 17:46:28.41ID:SLjzTGs6
>>632
更新感謝です!
ただ、MMF2ってオブジェクト数600〜700あたりでもう重くなってしまうので、段幕SHTだとすぐ重くなってしまいませんか?
敵弾を速めにすれば全然OKなのですが
0634名前は開発中のものです。2011/11/15(火) 17:52:52.07ID:wpaXUWlF
すみません
多関節を試してみたいのですが
某所の人のデータはいきなり難易度が高すぎるので
全く意味がわかりませんでした
もう少し簡単な基礎を教えてもらえないでしょうか?
0635名前は開発中のものです。2011/11/15(火) 18:47:22.50ID:DpTcpqHq
>>633
これからゲームデザイン開始するんで正確にはわからないけど
自分が検証した分には
1フレーム中に高速ループ500超えるとやばい
700〜かくつく、1000〜明らかに一瞬止まるなので
・1度の発射で使う高速ループは最大400発前後
・弾の軌道操作はあらかじめ変数を代入してそれを基準に変化
・画面自体はスクロールさせずに背景用オブジェクトを動かす

上記の様に1フレーム内の高速ループ回数にさえ気を使えば
1000〜2000発程度なら多分大丈夫な気がします

どう転ぶかわかりませんが現時点での自分の対策方法は
1フレーム中の高速ループ回数を変数に代入
変数が500を越えた時点で残りの高速ループは全てカット
それでも重くなる分には背景を灰色にしたり演出でごまかす気満々です
0636名前は開発中のものです。2011/11/15(火) 19:01:23.90ID:SLjzTGs6
>>635
なるほど、オブジェクト数というよりも、高速ループで重くなってたわけですか
確かに試したときは、敵の弾にすべて通し番号をふって、オブジェクトの数だけ高速ループをさせていました
これでは重くなるはずです・・
0637名前は開発中のものです。2011/11/16(水) 01:41:42.42ID:QvB1ZpKy
その辺ってよく聞くHWA版とやらだと軽くなるんだろうか
0638名前は開発中のものです。2011/11/16(水) 01:50:43.23ID:XCQ2Ii+O
>>637
通し番号と高速ループで結びつけるやつを全てのオブジェクトにやってどんだけ出せるか試したことがあるけど
HWAでも同程度の重さになってしまった。
全部のオブジェクトが対象になるなんて極端な状態だけども。
高速ループはCPUががんばる分野だからしょうがないかもね。

高速ループ無しでいくらオブジォクトを出せるかってことならHWAが圧倒的に軽い。
0639名前は開発中のものです。2011/11/16(水) 02:12:13.35ID:0F+36iuC
昔怒首領蜂の弾が255発ってのを聞いて無理だと思ったが
今の弾幕ゲーはそれどころの話じゃないのか
0640名前は開発中のものです。2011/11/16(水) 02:37:46.54ID:QvB1ZpKy
あまり詳しくないんだけど
装飾目的とかの当たり判定接触させたりする必要の無いオブジェクトは
わざわざ高速ループの移動処理使う必要はないんだよね?
0641名前は開発中のものです。2011/11/16(水) 03:36:44.61ID:KADIEt0c
ブログの締めくくりに弾の制御方法用のゲームバランスは無視した
ボス戦1つ作ってアップしますわ

・低速移動有り
・ボム無し
・残機無制限
・演出無し

ただ、組み立てるモノがモノなんで日数はかかります
0642名前は開発中のものです。2011/11/17(木) 15:26:44.78ID:nMbPHjn8
背景(A)と背景(B)と丸い形のオブジェクト(C)を用意して
Aをレイヤー1に、Bをレイヤー2に、BとCが重なったときCの形のところだけBが透けてAが見えるようにって言うのはできないでしょうか?
0643名前は開発中のものです。2011/11/17(木) 16:51:40.64ID:0mltOy+s
>>642
それは前にも話題になってましたね。
ttp://ux.getuploader.com/mmf/download/373/%E8%A6%96%E7%95%8C.mfa
こんなの作ってみたものの、クソ重いので使えないでしょう。
0644名前は開発中のものです。2011/11/17(木) 17:03:19.57ID:fRdygw2N
要は服をスコープで透視するような事がやりたいのか
0645名前は開発中のものです。2011/11/17(木) 17:05:13.78ID:8PqKJOMD
>>644
ナムコのダンシングアイみたいなゲーム作りたくなった
0646名前は開発中のものです。2011/11/17(木) 17:22:08.93ID:1iZ7Oh3g
Overlay Redux使えばできそう
0647名前は開発中のものです。2011/11/17(木) 18:36:37.36ID:y3jnK3as
>>642
前に暗闇ライトってやつ作ってから改良してもらったやつあるけど
背景Bが単色になるから使えないな
http://ux.getuploader.com/mmf/download/352/%E6%9A%97%E9%97%87%E3%83%A9%E3%82%A4%E3%83%88%EF%BC%88%E4%BB%AE%EF%BC%89.mfa

そういえば購入したての頃
画像の1部が破壊されていくエロブロック崩しでツールの学習したけど
肝心の重なりが解けた時に背景を再生出来ないか
0648名前は開発中のものです。2011/11/17(木) 22:50:53.11ID:ZpDqGRbu
>>644
いやんエッチ
0649名前は開発中のものです。2011/11/19(土) 19:28:10.12ID:vcbDw97D
>>540
>>542
ここの人は作る技術は十分あるのにゲーム本気で作ってる人って少ないの?
0650名前は開発中のものです。2011/11/19(土) 19:45:35.88ID:X15wHNBo
>>649
ミニゲーム程度ならいくつか作って公開した
今は他のゲーム作ってる
0651名前は開発中のものです。2011/11/20(日) 01:03:30.83ID:If1KgOhv
こう見るとモグラの人は凄いんだな
前やってみたけど正直売れるレベルだと思う
俺なら絶対売ってるわあれ
0652名前は開発中のものです。2011/11/20(日) 01:06:23.94ID:BstDu6+1
凄いものを作っておきながら平気で無料配布できるくらいの人にワタシハナリタイ
0653名前は開発中のものです。2011/11/20(日) 01:13:07.85ID:If1KgOhv
俺はそこまで余裕無いなぁw
正直普通の超安月給な仕事してるから稼ぎ悪いしw
仕事変えようにも近所の会社で完全週休2日がほぼ無いしなぁ…
0654名前は開発中のものです。2011/11/20(日) 01:19:40.18ID:BstDu6+1
まあでも頑張って作ったものを売ってお金を手にするってのも一つの夢だよね
どちらにせよ凄いものを作れるようになりたいw
0655名前は開発中のものです。2011/11/20(日) 01:42:34.22ID:Ddjxtk1K
それを代理店がやれるようにしてくれるはずだったんだけどね。
まあ他にもDL販売サイトはあるけど。
0656名前は開発中のものです。2011/11/20(日) 01:43:43.97ID:sNH3nvwM
販売だけじゃなくってRPGツクールみたいにゲームの展示場みたいなのもあれば広まると思うんだがな
0657名前は開発中のものです。2011/11/20(日) 01:59:47.39ID:If1KgOhv
>>654
俺のレベルだとバグが非常に怖いので(現在多発中)直接売る事はせずに
エロイラスト集(こっちがメイン)におまけとして付ける予定
おまけとはいえエロ無しの商品レベルまで頑張るつもりではいる
0658名前は開発中のものです。2011/11/20(日) 03:48:05.47ID:rY2ql6/d
聞きたいのですが
MMF2でラスタースクロールってできるのですか?
0659名前は開発中のものです。2011/11/20(日) 03:52:50.44ID:Ddjxtk1K
>>658
エクステンションのPerspective objectでできるかも
0660名前は開発中のものです。2011/11/20(日) 05:04:05.42ID:jz80Sqd2
まぁ無料で配布っていうと親切な聖人みたいに聞こえるけど
お金を取るってのはつまりその分責任を負わなくちゃいけないからな
場合によってはフリーで公開する方が圧倒的にメリットが大きい訳だ
その辺あまり綺麗な話じゃなかったりする
0661名前は開発中のものです。2011/11/20(日) 11:01:32.30ID:/8xAUvYh
>>659
個別DLのエクステンションって一応日本語版でも使えるんですか?
教えて下さい
0662名前は開発中のものです。2011/11/20(日) 13:21:33.93ID:GPdsQswN
>>661
インストール式のエクステンションじゃなければ使える
アップローダーには有志が一部のエクステンションを日本語訳してくれたファイルもある
導入方法はwikiあたりを参考に自己責任でやるといい
0663名前は開発中のものです。2011/11/20(日) 14:36:05.80ID:p54gbFse
インストール式のでも英語版で解凍した奴を貰えば使えたりする
0664名前は開発中のものです。2011/11/20(日) 14:44:35.75ID:AjjmczWP
インストーラー式マジイミフだよな
日本語版を締め出して何をしたいのかと
■ このスレッドは過去ログ倉庫に格納されています