13607566:はしごが上れない フランドールの義兄 Home 2015/08/18 (Tue) 22:26:40
多重起動できるようになったステージデザイナーで相変わらずファミコン時代のロックマン風アクションゲームを制作しています。
が、アニメーションを変更しようとしても「主人公本体」のアニメーションを梯子側から指定できないが故、いまだに梯子を上れません。サンプルゲームを見ると、「(アニメーションID参照データアイテム)」のところに「主人公本体」と設定されているようですが、そのように設定できません。どうすればサンプルゲームのように設定できますか?
13607828:Re: はしごが上れない piyoppi Home 2015/08/19 (Wed) 00:09:30
サンプルに同梱されているはしごオブジェクトでは、以下のことを行っています。

*はしごオブジェクトの「オブジェクト同士がふれたとき」イベント開始条件内
 ・あたり判定されたオブジェクトが主人公で、かつキーボードのキーが上ボタンなら
  主人公オブジェクトの「はしごにふれた」イベント開始条件を呼び出す
  ->たしかにサンプルには「アニメーションを変更(よじよじ)」の行が存在しますが、
   この処理は主人公側のイベント開始条件内で行うほうが適切だと思います。
   (なので、サンプルの「アニメーションを変更(よじよじ)の行は無視してください)
   後述の(*1)部分でアニメーションを変更しています

*主人公オブジェクトの「はしごにふれた」イベント開始条件内
 (はしごオブジェクトの「オブジェクト同士がふれたとき」イベント開始条件内にある
  「イベント呼び出し(主人公,はしごに触れた)」を右クリックして表示されるメニューに
  ある「選択されたイベントにジャンプ」を押すと、このイベント開始条件に飛べます)
 ・主人公オブジェクトデータベースの「はしごフラグ」が「のぼっていない」と等しければ、
   - 「はしごふらぐ」を「のぼり中」に変更
   - 重力を発生させない設定に変更(はしごのぼり中は重力の影響をうけないようにするため)
   - 主人公の速度を0に設定
 
*主人公オブジェクトの「いずれかのキーが押下されたとき」イベント開始条件内
 (行番号21 ~ 33 の部分がはしご処理に係る部分です)
 ・もし「はしごフラグ」が「のぼり中」になっていたら、
  キー操作に応じて、配置オブジェクトを移動させ、速度を0にする。アニメーションも変更する(*1)。
  (速度が存在するとはしごを正しく登れません。)

*はしごオブジェクトの「オブジェクト同士が当たり判定から外れた瞬間」イベント開始条件内
 ・主人公オブジェクトがはしごから離れた場合は、主人公オブジェクトの
  「はしごから外れた」イベント開始条件を呼び出す

*主人公オブジェクトの「はしごから外れた」イベント開始条件内
 ・主人公オブジェクトデータベースの「はしごフラグ」に「のぼっていない」を設定
 ・重力を発生させる設定に変更(はしご処理が終わるので)

------
つまり、
はしごオブジェクトはあたり判定処理しか行っておらず、アニメーション変更処理や
移動処理などは 主人公オブジェクト内で行っています。
はしごオブジェクトから「他配置オブジェクトイベント開始条件を呼び出す」処理を
つかって、主人公オブジェクトのイベントにジャンプして、主人公オブジェクト関連の操作を
しています。
主人公オブジェクト内では、アニメーションの変更や、キーボードの
こうすることで、主人公アニメーションの変更もできるようになります。
「はしごにふれた」などのイベント開始条件は、開発者が作成することができ、
「他配置オブジェクトイベント開始条件を呼び出す」イベントをつかうことで、
ほかのオブジェクトからイベントを呼び出すことができます。
(この機能についてくわしくは、
http://garakuta-toolbox.moo.jp/objtips_03.htm
http://garakuta-toolbox.moo.jp/StgDesignerHelp/Pages/RaiseEvent.htm
に記載があります)

ちょっと長くなってしまいましたが、ご理解いただけたでしょうか。
もし、わかりづらいところがありましたら、またなんでも聞いてください。
なにがなにやらさっぱり。。。という場合でも、その旨ご連絡いただければと思います。