Hatena::Groupnadesiko

雪乃☆雫のなでしこ日和

2011/02/16 (水)

選択肢を表示するよ!

| 17:16 | 選択肢を表示するよ! - 雪乃☆雫のなでしこ日和 を含むブックマーク はてなブックマーク - 選択肢を表示するよ! - 雪乃☆雫のなでしこ日和 選択肢を表示するよ! - 雪乃☆雫のなでしこ日和 のブックマークコメント

【せんせい】

 選択肢の選択と決定と同様のことは、クイズでやりましたね。

 具体的に、何をやるかといえば、

①選択肢となるメッセージを表示

②選択肢上にマウスカーソルがきたら、メッセージの色を変えたり、反転させたりする。

③選択肢上でマウスが左クリックされたら、選択に応じて分岐先のシナリオへ進む。

 という感じになるかと思います。

 単に物語を進めるための改行、改ページの時とは、マウス入力待ちの処理を分けなければなりません。


【でし】

 改行、改ページの時は、「点滅カーソル」って関数を呼んでピカピカさせつつ、改ページ待機のフラグをオンにして、マウス入力を待ったんですよね。

【せんせい】

 のとーりです。

 も、選択肢表示用の関数を呼び、選択待ちのフラグを立てて、マウスの移動やクリックに応じて処理を行うようにすればいいでしょうかね。

 とりあえず、てきとーにメッセージ.csvに、選択肢のコマンドを加えてみます。

メッセージ,ここは函館カトリック教会。
改行,
メッセージ,被害者は、殺される前日に、この付近に
メッセージ,立ち寄った形跡があります。
改ページ,
立ち絵,立ち絵2.bmp
メッセージ,立ち絵をへんこうしました。
改ページ,
メッセージ,ちょっと話を聞いてみましょう。
改ページ,
選択肢,ちょっと名前を聞いてみる,ガイシャの写を見せる

 シナリオ解析関数の中に

    違えばもし、コマンドが「選択肢」ならば
    	行数=0
    	(選択肢数)
        シナリオ¥番号,回数を「選択肢」の文字高さ取得行数へ選択肢表示。
        行数行数+1
            	
      番号=番号+1
      シナリオ解析

 を、ちょちょいっと加え・・・

*選択肢表示(Sを{数値=0}Yへ)
  表画面のテキストウィンドウX+10,テキストウィンドウY+10+YへSを0でノベルテキスト描画。

 はいっ、選択肢が表示されました~。

 は簡便に、テキストウィンドウに選択肢を表示していますが、表示位置を変更すれば、別に選択肢用のウィンドウを開いて表示するということも可能かと思います。


 選択肢の表示は、遅延表示でなくてもいいかなーと思った結果、ノベルテキスト描画関数にも、ちょっと手を加えました。

 現状では、遅延スピードAが0であっても、遅延表示されてしまう為です。

●ノベルテキスト描画({グループ=?}OBJのX,YへSを{数値=200}Aで)
  もし、A=0ならば
    文字書体は「MS ゴシック|24|太字」。文字色黒色。
    OBJのX+2,Y+2へSを文字描画。
    文字書体は「MS ゴシック|24|太字」。文字色白色。
    OBJのX,YへSを文字描画。
    描画処理反映
     
  違えば、
    XX=X
    (Sの文字数
      Sの回数から1文字抜き出す。
   
      もしそれ=「{CHR(10)}」ならば
        X=XX
        Y=Y+(それ文字高さ取得)
        続ける

      文字書体は「MS ゴシック|24|太字」。文字色黒色。
      OBJのX+2,Y+2へそれ文字描画。
      文字書体は「MS ゴシック|24|太字」。文字色白色。
      OBJのX,Yへそれ文字描画。
      描画処理反映
      (A/1000)秒待つ。
   
      X=X+(それ文字幅取得

 まあ、遅延0ミリ秒が指定されていたら、文字列Sをのまま表示するってだけのことです。


 あ、あと、どうも時々あらぬところで点滅カーソルがチラッと現れるなーと思っていたら、改行の際には「ブリンク」つまり点滅カーソルのアニメーションを停止していなかったことが判明(テキストウィンドウクリアの中で停止していたため)

 「表画面のマウス押した時は~」の判定内で停止するように直しました。


【でし】

 ・・・マヂで、単に選択肢を表示しただけでしたね(汗)

【せんせい】

 はいぃ~;

 どっちかっていうと、シナリオの選択肢のコマンドをどうするか考え中って言うか。

 選択して次のメッセージにジャンプするためには、の状態ではダメなんですよね。

トラックバック - http://nadesiko.g.hatena.ne.jp/snowdrops89/20110216