お知らせ掲示板 | 質問掲示板 | 不具合報告掲示板 | 機能要望掲示板 | 雑談掲示板

  新規投稿 ┃全記事一覧 ┃検索 ┃設定 ┃サポートフォーラムトップ  
233 / 401 ツリー ←次へ | 前へ→

右クリック動作の切り替えについて 穂鳥 2012/3/18(日) 11:42
コンフィグ内にボタンを追加する方法について 穂乃井 2012/3/18(日) 13:40
Re:コンフィグ内にボタンを追加する方法について 穂鳥 2012/3/18(日) 16:55
右クリック振り分けについて 穂乃井 2012/4/5(木) 3:02
Re:右クリック振り分けについて 穂鳥 2012/4/11(水) 19:49

右クリック動作の切り替えについて
 穂鳥  - 2012/3/18(日) 11:42 -
  
yu-ris使わせていただいております。

さっそくの質問なのですが、最近のADVゲームでよくある、右クリックでの機能切り替え(ウィンドウの消去orメニューの表示)を行おうとしているのですが、
機能自体の制御(IF分岐での動作切り替え)は出来るのですが、肝心のコンフィグ内でのフラグの取得がうまく出来ておりません。

「コンフィグ画面設計」内で他の機能のように選択ボタンを設定する方法
とその結果がどこに格納されているものなのかといったことを教えていただけないでしょうか?

お手数をおかけしてしまいますがよろしくお願いいたします。
引用なし
パスワード

コンフィグ内にボタンを追加する方法について
 穂乃井 WEB  - 2012/3/18(日) 13:40 -
  
まず現段階(β4.x)ですとすみませんが ERIS の改造が必要になりまして、
その後のバージョンアップがちょっと難しくなる、という事を踏まえていただいた上で、
コンフィグ画面へのボタンの追加方法を軽くだけご説明します。

コンフィグ画面設計.txt 内の任意の場所に、


    //----------------------------------------------------------------
    //■ TEST1 ボタン
    //----------------------------------------------------------------
        IF[0] //チェックボタンの場合
        {
            //◆チェックボタン
            \BT.GROUP(1)
            \BT.CGSYS("config/btn_check")
            \BT.XY(050, 050)
            \BT.Z(1000)
            \BT.SET(TEST1, 0)
        }
        ELSE[] //ON,OFFボタンの場合
        {
            //◆ON
            \BT.GROUP(1)
            \BT.RADIO(999)
            \BT.CGSYS("config/btn_on_bt3")
            \BT.XY(050, 050+35*2)
            \BT.Z(1000)
            \BT.SET(TEST1, 0)
            //◆OFF
            \BT.GROUP(1)
            \BT.RADIO(999)
            \BT.CGSYS("config/btn_off_bt3")
            \BT.XY(150, 050+35*2)
            \BT.Z(1000)
            \BT.SET(TEST1, 1)
        }
        IFEND[]


と追加します。
\BT.GROUP(1) は表示するタブ番号に対応していますので、3番目のタブ内に表示させたい場合は
\BT.GROUP(3) とします。


そして、
ERIS/Scene/CONFIG/ES_CONFIG.yst 内の任意の場所に、


//■[TEST1]
#=ES.CONFIG.TEST1.VDEF { @es.GSD(255,01)=0;return[] } //初回起動時やコンフィグ設定初期化時の値を設定
#=ES.CONFIG.TEST1.INIT { \BT.ONOFF($es.BID,@es.BNO,@es.GSD(255,01)^@es.BNO);return[] }
#=ES.CONFIG.TEST1.ON  { @es.GSD(255,01)=@es.BSW^@es.BNO;return[] }


と追加します。
これで、コンフィグ画面内に新しく追加ボタンが追加され、
それをON/OFFすることで、
変数 @es.GSD(255,01) に格納される値が 1/0 と切り替わります。
使用する変数はひとまずβ4.x では @es.GSD(255,01〜99) を使用してください。
引用なし
パスワード

Re:コンフィグ内にボタンを追加する方法について
 穂鳥  - 2012/3/18(日) 16:55 -
  
さっそくのご返信ありがとうございます。
おかげさまでコンフィグ内の新規ボタンの追加、機能の振り分けも可能になりました。

ただ、現在はメイン画面設計で右クリックの機能を振り分けようとしているのですが、これだと一度プログラム自体を再起動しないと右クリックの機能が切り替わらないようです。これはメイン画面設計は起動時に1度読み込むだけ・・・だからでしょうか?
とすればボタン切り替え自体はどちらで行えばいいものでしょうか?
たびたび申し訳ありませんがお答えいただければ幸いです。
引用なし
パスワード

右クリック振り分けについて
 穂乃井 WEB  - 2012/4/5(木) 3:02 -
  
>さっそくのご返信ありがとうございます。
>おかげさまでコンフィグ内の新規ボタンの追加、機能の振り分けも可能になりました。
>
>ただ、現在はメイン画面設計で右クリックの機能を振り分けようとしているのですが、これだと一度プログラム自体を再起動しないと右クリックの機能が切り替わらないようです。これはメイン画面設計は起動時に1度読み込むだけ・・・だからでしょうか?
>とすればボタン切り替え自体はどちらで行えばいいものでしょうか?
>たびたび申し訳ありませんがお答えいただければ幸いです。


返信遅れてすみません。
ご推察の通り、メイン画面のボタンを読み込むタイミングが決まっているので
即反映はちょっと出来ないですね。
ですので右クリック振り分けを実現するとするなら、例えば
メイン画面設計ではウィンドウ消去ボタンに右クリックを割り当てておき、
ゲーム中に右クリックされて、実際にウィンドウ消去処理がおこなわれる直前に、
変数の値をチェックしてメニュー処理のほうへ強制的に飛ばす、
という方法をおすすめします。(ちょっと強引ではありますが)

具体的には、
ERIS/Scene/GAMEMAIN/ES_Gamemain.yst の835行目付近に

#=ES.GAMEMAIN.BTN.ERASE.ON

というラベルがあり、そこでウィンドウ消去処理をしていますので、(β4.7 ver0.473/0.06時点)

そこの冒頭に、

    IF[@es.GSD(255,01)==1] GO[#=ES.GAMEMAIN.BTN.MENU.ON] IFEND[]

と追加してください。
そうすることで、ウィンドウ消去処理がおこなわれる前に変数の値を見て、
変数の値が1ならメニュー処理のほうへ飛ばすことが出来ます。
引用なし
パスワード

Re:右クリック振り分けについて
 穂鳥  - 2012/4/11(水) 19:49 -
  
ご回答ありがとうございます。

おかげさまでサンプル同様にメニュー表示の方も処理することで、
右クリックでの相互機能切り替えが実現することができました。
ありがとうございます。

yu-risはとても扱いやすいエンジンだと思うのですが、
引っかかったときの情報が少ないので、他のゲームエンジンみたいに
解説本とかどこかから出てくれるとありがたいですねw
引用なし
パスワード

  新規投稿 ┃全記事一覧 ┃検索 ┃設定 ┃サポートフォーラムトップ  
233 / 401 ツリー ←次へ | 前へ→
59,455
(SS)C-BOARD v3.8.1β4 is Free.