■演出

メッセージボックスについて

フリー版LiveMakerでは、メッセージボックスはひとつしか使えません。
大抵はこれで支障ないのですが、RPGなどでよくある「上下に表示されるメッセージ枠」等は難しいです。

メッセージボックスについてはプロジェクトオプションで設定します。
数値設定は今は少し分かりにくいので、画像で説明してみるとこんな感じ↓
メッセージボックスの座標指定

メッセージボックスを画像にする場合、その画像自体の高さと顔画像の高さは合わせたほうがいいような。
ただし、バージョン2以降はこのあたりの設定がかなり分かりやすくなって、顔画像の座標も直接指定できるようになったので特に気にしなくともいい気がします。
顔画像の大きささえすべて同じにしておけばいいかと。
#この辺については後日画像つきで説明しようと思います。必要なくなったかも

コントロールの作り方

※この項目はver.02.04.12.02以降用です。

ver.02.04.12.02からはユーザー待望のコントロール機能をつけられるようになりました。
プレイ中に右クリックしなくても、システム画面・セーブ・ロードの呼び出し、オート、スキップ、メッセージボックスを閉じる……といった機能を使えるようにできます。
バージョン2(開発版)の発表後、ついにここまで……! と喜び踊り狂ったユーザーは数知れず。
これらの機能のことをまとめてコントロールと呼びます。コントロールは基本的にメッセージボックスにくっつけるものですが、アイデア次第でいろいろに出来ると思われ。

作り方の例はこちら。画像多用で重いっス。

メッセージボックスを使わない

メッセージボックスを表示させずに文字列を表示する。というのは無理です。
文字列を表示するにはまず[メッセージボックスの表示]コマンドが出た後でないといけません。
では「メッセージボックスを使っていないように見せる」にはどうすればいいかというと、メッセージボックスを「矩形塗りつぶし」で「無色」と設定したものを作っておけばOKです。
[メッセージボックスの変更]コマンドでこの無色ボックスを選び、[メッセージボックスの表示]で表示させてから文字を表示させましょう。

【参考】公式掲示板170あたり

[テキストクリア]コマンド

[テキストクリア]を使うと、勝手に表示した文字列をクリアします。
プレイヤーのクリックなしに次を表示するということ。
使い様によってはいい演出になりますが、読み終わっていないのにクリアされると鬱かも。
「読み終わらないうちにテキストがどんどん消える」演出とか、やりようによっては面白そうですが。

【参考】公式掲示板772あたり

文章をフェードで表示

メッセージボックスに表示される文章をフェードイン、またはフェードアウトさせる方法。
まずは、プロジェクトオプションで、無色のメッセージボックスを作っておきます。
無色以外のメッセージボックスを作ってもいいのですが、扱いにくいです。

<フェードイン>
1.メッセージボックスは表示されていない状態とします。[メッセージボックス変更]で、作っておいた無色メッセージボックスを選択。
2.メッセージボックスは表示させずに、フェードインさせたい文章を表示します。そのままではけっこう時間がかかるので、テキスト全体を[ノーウエイト]表示にしておくといい感じ([標準]に戻すのも忘れずに)。この時点では画面にテキストは表示されません。
3.[メッセージボックス表示]コマンドを置きます。フェードイン時間はお好みで調節。

<フェードアウト>
1.無色メッセージボックスの上でフェードアウトさせたい文章を表示させます。場合によって[クリック待ち]や[ウエイト]を挿入(改ページは駄目です)。
2.[改ページ]を置かずに、[メッセージボックス非表示]コマンドを置きます。フェードアウト時間はお好みで。


【参考】LiveMakerスレッド 233-235

背景色の変更

通常、ゲームの背景色はプロジェクトオプションから1色しか決めることが出来ませんが、ノードごとに背景色を変えたりすることも出来ます。


【ヒューマンバランスさまのコメント・公式掲示板より抜粋】
>今のところ裏技のような扱いなのですが、以下の手順でできます。
> 1)計算ノードを追加
> 2)計算ノードに以下の式を追加
> = SetProp("",PR_COLOR,色)
> = SetProp(BACKSURFACE,PR_COLOR,色)
>「色」の部分には同じ値を入れてください。値の表記は背景色を指定するところに表示されている数値と同じです($BBGGRR)。
>例えば緑に変えるなら以下のようになります。
> = SetProp("",PR_COLOR,$00ff00)
> = SetProp(BACKSURFACE,PR_COLOR,$00ff00)

SetPropはプロパティの値を設定する関数です。大文字小文字の区別ありなので注意。
1番目の引数はコンポーネント名、2番目はプロパティ番号、3番目が設定する値です。
#引数:「ひきすう」と読む。関数名のあとの()の中身。半角コンマで区切ります。

【参考】公式掲示板947あたり

ジャンプ条件の順番

ジャンプ条件
いくつかジャンプを設定して、それぞれに条件をつけるとこんな感じになります。
このノードでは、まずジャンプ[1]の条件がチェックされます。変数sampleが1であれば、シナリオノード「sample1」にジャンプ、1でなければ次の条件のチェックが行われます。
ジャンプ[3]には何も条件がありません。ジャンプ[1]とジャンプ[2]がどちらもFALSEだった場合はここに来ますが、条件がないので問答無用でシナリオノード「SAMPLE3」へ飛びます。
いくつか分岐がある場合、最後の条件は設定してもしなくてもいいのですが、すべてのジャンプ条件に当てはまらなかった場合はそこで止まってしまいますので、よくテストしましょう。心配であればひとつ条件なしのジャンプを作っておくといいです。
ただし、条件なしのジャンプは必ず最後に実行されるようにします。ジャンプ矢印の上で右クリック→[実行の順番を最後に]を選べばOK(すでに最後だった場合は選択できません。そのままでOK)。
右クリックメニュー

変数について

これを使わなければゲームになりません。紙芝居のように分岐もなにもないお話なら出来ますが、それじゃゲーム性ゼロです。
変数については、ぐぐればいくらでも説明が出てきます。
LiveMakerでは変数にいくつか種類があって、「整数を入れるもの」「実数を入れるもの」「フラグを入れるもの」「文字列を入れるもの」の4種です。
整数・実数・文字列はいいとして、フラグって何かというと、文字通り「旗」です。FLAG
このフラグの値はTRUEかFALSEしかありません。旗が立っているか否か。あるいは、スイッチが入っているか否か。
また、文字列変数に文字列を代入する場合は半角のダブルコーテーション(")で囲まないといけません。
大体のことはヘルプを見れば分かるかと思います。
分からなければ、チュートリアルに沿って「選択肢で分岐」「画像選択で分岐」「フラグで分岐」あたりをやってみましょう。
分岐イベントに変数は必須です。
ほかにも使い道はたくさんありますが、それはまた追々。

ランダムに分岐させる

今のところランダムに分岐させる機能はありませんが、計算ノードを使って実現できます。
#ランダム分岐機能はリクエストが出ています。そのうち実装されるかも。
「ランダムに分岐」というのはつまり、「ノードAとBにそれぞれ50%の確率で分岐させる」というようなことです。
プレイするたびに結果が違うわけで、イベント発生前にはよく使われます。「○%の確率でAさんに会うイベント発生」とか。

以下やりかた。
分岐元のノードと、分岐先のノードの間に計算ノードを置きます。中身は

確率 = Random(100)

など適当に。関数Randomは乱数を取得するものです。引数を100にすると、0〜99の範囲でランダムに値をとります。0から始まるところに注意。1〜100じゃないです。
この式の左辺ですが、あらかじめ変数を作っとかないといけません。チャートの[変数]タブあたりで作るのがいいかと思います。
[変数]タブ
↑こんな感じに。ここで作った変数はこのチャート内でしか使えません。ただし、このチャートから[チャート呼び出し]した場合は、呼び出し先のチャートでもここで作った変数が引き継がれます。

分岐先のノードは4つ、ジャンプする確率はそれぞれ 30% 10% 55% 5% とします。
変数「確率」の値が0〜29なら1へ分岐、30〜39なら2へ、40〜94なら3へ、95〜99なら4へ。
設定後のチャート
条件式に注目。ひとつの条件式に a <= X <= b という書き方はできませんので、こうなります。ジャンプを実行する順番にも注意。
出来たらテストしてみてください。

引数は必ずしも100とは限りません。たとえば、

確率 = Random(2)
確率 = Random(10)

などなど。
引数が100ならば確率は(百分率とすると)1%刻みで、分岐先は100個までです。
引数10なら10%刻み、分岐先10個まで。
引数2では「確率」の値は0か1にしかなりませんので、最初の例「ノードAとBにそれぞれ50%の確率で分岐させる」場合に使えます。

【参考】公式掲示板574、626あたり

配列変数の利用

配列変数については、プログラミング入門のページなどで説明があります。詳しく知りたい方はぐぐってみてください。
いくつかのページを読むと、だいたい概念はつかめると思います(LiveMakerでの配列変数の扱いについては、NAG氏のサイトが詳しいです)。
とりあえず、ひとつの変数の中にいくつかデータを入れておける=配列変数 と考えていいと思います。

LiveMakerでの配列変数の作り方。
1.まずは 変数リスト か チャートの[変数]タブ であらかじめ変数を作っておきます。
2.計算ノード内で、1.で作った変数をSetArray関数で配列にします。SetArrayはヘルプの関数のページに載ってます。式は、
 = SetArray( 配列にする変数の名前,配列のサイズ )
3.配列の中身を設定。

「趣味」という変数を作っておいたとして、計算ノードの中身は以下のようにするとします。

= SetArray( 趣味,2 )
趣味[0] = "読書"  ←文字列は"(半角ダブルコーテーション)でくくる
趣味[1] = "パソコン"
趣味[2] = "サッカー"

[]の中の数字は添え字です。添え字は0から始まります。
添え字に変数を使うこともできます。たとえば、「ナンバー」という変数に0〜2の値が入っているとすると、[変数内容表示]コマンドで 趣味[ナンバー] を指定することで、色々な内容を表示できます。

ナンバー == 0 のとき → 「ぼくの趣味は読書です」と表示。
ナンバー == 1 のとき → 「ぼくの趣味はパソコンです」と表示。
ナンバー == 2 のとき → 「ぼくの趣味はサッカーです」と表示。

ステータス変数の利用

変数リストでは、ゲーム全体のどこでも使える変数を管理します。
変数リスト
「動作タイプ」という項目がありますが、変数の動作タイプは「通常」「起動時のみ初期化」「ステータス」の3種あります。
それぞれについて詳しいことはヘルプを参照。

ステータス変数の利用については、LiveMakerのチュートリアル「2回目のプレイで分岐」で触れられています。
あっちではフラグを使って「ゲームをクリアしたか否か」で分岐させていますが、フラグではなく整数タイプの変数を使うと、「何回クリアしたか」数えることが出来ます。
クリア回数が1以上であればTRUEという感じ。
とりあえず、ステータス変数の使い道を思いついた分だけ列挙。

まだまだありそうです。どこかで話題があがれば追加します。

タイトル画面の作り方

タイトル画面の作り方については、公式掲示板でも何度か質問が出ました。
いちばんの教科書はサンプルゲームだと思います。
サンプルゲーム(GTE・SP)のプロジェクトを開いて、タイトル画面のチャートを見てください。大体分かると思います。

応用。
セーブデータがある場合にのみメニューに「つづきから」を出したり、1回以上クリアしている場合にのみ「おまけ」を出したり出来ます。
計算ノードで

n = ListSaveCaption()

とすると変数nにセーブデータの数が入ります。よって、「ロード」「つづきから」などを表示する条件は

n > 0

となります。
おまけの出し方はチュートリアルの「2回目のプレイで分岐」や公式掲示板476を参考にしてください。

追記。
ListSaveCaption()使わなくとも、「ステータス最終セーブ番号」という変数が初めからあるようなので

ステータス最終セーブ番号 >= 0

としておいてもよさげな感じ。
(ただしプレイヤーが手動でセーブデータを削除した場合は、セーブデータがなくてもロードページへの選択肢が出ちゃいます)

【参考】公式掲示板476、641あたり

文字列選択について

もっとも簡単にゲームをインタラクティブにする方法がこれかも。ようするに、分岐です(ランダムで分岐させるのも場合によってはアリですが)。

バージョン04.07.15以降、文字列選択の選択肢に式を使うことができるようになりました。
ということは、選択肢に変数を含めることができます。
式の書き方については、ヘルプの文字列選択のページ(selstr.html)と変数についてのページ(calc.html)にありますので、そちらを参考にしてください。
注意点は、文字列は半角ダブルコーテーションでくくる、変数名はくくらない、文字列と変数を連結するときは++を使う、などなど。

さて、文字列選択ノードのあとには分岐先のノードをいくつか置きますが、そのジャンプ条件を選択番号で指定する場合は少し注意が必要です。
選択番号は設定した選択肢の数で決まるのではなく、プレイ中に実際表示されている数(と順番)で決まるようなので、選択肢の表示を条件で制御している場合(選択肢を表示したりしなかったりできるように設定しているとき)には、ジャンプ条件を選択番号で指定すると、ジャンプ先にずれが生じてしまいます。
(ver.01.04.12.02で修正されました)
これを避けるためにはジャンプ条件を選択値で指定しておきます。選択肢に式を使っている場合は、ジャンプ条件を「選択値==選択肢のキャプションと同じ式」にすればOK。
このへんのことは画像選択でも同じです。

【参考】公式掲示板1271あたり

文字列選択の選択肢を左寄せにする

現在、文字列選択の選択肢は漏れなく中央寄せですが、擬似的に左寄せや右寄せにすることができます。

やりかた。
文字列選択のキャプションを設定するとき、左寄せにしたければ右に、右寄せにしたければ左に、すべてのキャプションの文字数が同じになるよう全角スペースを入れます。
例)□が全角スペースとして、
 選択肢1: おはようございます
 選択肢2: こんばんは□□□□


この場合注意点2つ。
1つはジャンプ条件の設定です。選択値を条件にするときは、選択値 = "こんばんは□□□□"のように全角スペース分も選択値に含めます。
2つめはフォントの選択です。文字列選択のフォントをMSPゴシックやMSP明朝といったプロポーショナルフォントに設定していると、多分表示ががたがたになります。MSゴシックかMS明朝にしておきましょう。設定はプロジェクトオプションから。

【参考】公式掲示板1315あたり

文字列選択にひと工夫

文字列選択のオプションをいじることで可能な表現のサンプルです(しょぼいですが)。
アイデアをお持ちの方はぜひお知らせください。

ひとつひとつの選択肢が枠の中に入っているタイプ。
解説はこちら

くちパクアニメの同期

LiveCinemaなどでくちパクアニメを作ったとします。
これを表示させて台詞を表示させると、台詞が表示し終わってもくちパクし続けてて生暖かい気持ちになりますね。
これを「台詞が表示し終わるまでアニメを表示」する方法は以下の通り。
1.[画像表示]「リピート再生」でくちパクアニメ表示。
2.台詞を表示。
3.[画像変更]アニメしていない普通の画像を表示。
4.[クリック待ち]を挿入。

[顔表示]でもシネマファイルが使えるようになったので同様に出来ます。

【参考】公式掲示板129あたり

壁紙設定の使い道

バージョン03.11.17からは[壁紙設定]コマンドが使えるようになりました。
指定した画面をデスクトップの壁紙に設定できます。その際、「中央に表示」「並べて表示」拡大して表示」を選べます(プレイヤーは選べません)。
クリア後のおまけなどで壁紙コーナーを作っておけば、プレイヤーのクリックで即座に壁紙に設定するようにも出来るわけです。
LivePreviewMenuなどでサムネイルをボタンとして作っておいて、分岐先で大きい画像を壁紙に設定して戻る。
また、そのときのゲーム画面を壁紙に設定することも出来ます。
ほかにも使い方がありましたら、メールなどで教えていただければ追加します。

【参考】公式掲示板130あたり

シネマをクリックで中断

あまりにも長いシネマ・ムービーは、1回見れば十分ということもあります。クリックで中断できるようにしておくと親切です。

1.シネマを「通常再生」で表示。
2.[再生終了待ち]を挿入して、終了を待つ部品を選択。「クリックで中断」にチェック。
3.シネマファイルを消去。

「効果音をクリックで中断」も参照してください。

【参考】公式掲示板497あたり

クリックでURLを開くシネマ

ゲームのマスターを作成して実行してみると、最初にLiveMakerのロゴが出ます。
あれのリンクをクリックするとブラウザが立ち上がってLiveMakerのサイトに飛べるのですが、そういうシネマの作り方。
長いこと放置していましたが、親切な方に教えてもらえますた。感謝。
用意するものは3つです。

  1. 再生するシネマファイル(*.lcm等)
  2. リンクに使用する画像(URLのテキスト画像だとそれらしくなります)
  3. 2.を使って選択肢を設定した画像選択ファイル(*.lpm)



「ロゴ表示」ノードでシネマ再生、画像選択ノードには用意したlpmファイルを指定・制限時間内にリンク画像を選択したら「URLジャンプ」ノードへ。
こんな感じのチャートを開始チャートに指定すれば、ゲーム起動後にシネマ表示→リンク画像表示→クリックでURL移動、ってな流れ完成。
画像選択ノードで制限時間を設定しないとゲーム本編が始まらないので注意。
lpmファイルを作るとき、マウスオーバー時の画像やカーソルまで設定してやるとよりリンクっぽくなります。
「URLジャンプ」ノードでは[URLジャンプ]コマンドしか設定してません。

「ロゴ表示」ノードの中身は下のようになってます。


説明不足な部分があればメルフォから言ってやってください(´д`)

カーソルを変更する

今のところ、オプションなどからカーソルを変更することは出来ませんが、システム変数を使えばなんとかいけます。
ただし今後のバージョンで通用するか保障できないので、マスター作成前にきちんとテスト・確認してください。

やりかた。
プロジェクト内の適当な場所にカーソルファイルを置き、カーソル変更したい箇所の計算ノードで

@Cursor = "カーソルの場所"

とします。「カーソルの場所」というのはたとえば"グラフィック\\カーソル.cur"という感じ。
ゲーム中どこでも変更可能です。

【参考】公式掲示板1013あたり

システム画像のカスタマイズ

ここでいう「システム画像」とは、オプションなどから設定できない画像を指しています。
たとえば、ゲーム終了時にでてくるボタン。
 とか  とか。
これらは、プロジェクトフォルダの中の「ノベルシステム\画像」というフォルダに入っています。
これらの画像を直接差し替えることで、通常は出来ないカスタマイズをすることが出来ます。無保証ですが。
ちなみに、デフォルトのセーブ・ロード画面用画像やスクロールバーの画像などもここに入っていますので、オプションをいじることなくこうした画像の変更が可能です。
繰り返しますが、自己責任で。どこかにバックアップを取っておくのがいいでしょう。


※バージョン2以降は、こういった画像をオプションから変更可能です。

【参考】LiveMakerスレッド 80

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送