ひまわりユーザー プログラム掲示板 バックアップ
注意
ひまわりのススメ  □ ひまわり本家Home  □ 新着記事  □ 新規投稿  □ SEARCH  □ 参考プログラム集
ツリー表示

MESSAGE ★2/27物語作成ツール/トップ /北神 陽太 (02/02/12(Tue) 11:51) [444]
......MESSAGE ★感想(一般ユーザー、参加表明) /北神 陽太 (02/02/12(Tue) 11:54) [447]
............MESSAGE Re[2]: 参加表明 /yuk (02/02/13(Wed) 00:26) [448]
..................MESSAGE (削除) / (02/02/13(Wed) 09:07) [450]
..................MESSAGE 参加第一号ありがとう /北神 陽太 (02/02/13(Wed) 19:39) [454]
............MESSAGE どうでしょう? /kobachi (02/02/14(Thu) 01:52) [457]
..................MESSAGE すでに /北神 陽太 (02/02/14(Thu) 13:51) [458]
........................MESSAGE もしやおさそい? /kobachi (02/02/15(Fri) 00:04) [462]
..............................MESSAGE Re[5]: もしやおさそい? /北神 陽太 (02/02/15(Fri) 02:18) [464]
............MESSAGE 参加表明 /doraza (02/02/16(Sat) 16:37) [474]
............MESSAGE Re[2]: ★感想(一般ユーザー、参加表明) /にゃんこ (02/02/19(Tue) 02:15) [491]
..................MESSAGE (削除) / (02/02/19(Tue) 09:15) [492]
......MESSAGE ★シナリオ(開発スタッフ) /北神 陽太 (02/02/12(Tue) 11:52) [446]
............MESSAGE (削除) / (02/02/13(Wed) 11:42) [451]
..................MESSAGE (削除) / (02/02/13(Wed) 15:15) [453]
............MESSAGE Re[2]: 浩子★シナリオ育てる_幼児(開発.. /浩子 (02/02/15(Fri) 15:20) [466]
..................MESSAGE Re[3]: ★シナリオ 力丸成長編 /浩子 (02/02/19(Tue) 11:33) [494]
......MESSAGE ★3/8プログラム(開発スタッフ) /北神 陽太 (02/02/12(Tue) 11:52) [445]
............MESSAGE (削除) / (02/02/14(Thu) 01:37) [456]
..................MESSAGE (削除) / (02/02/14(Thu) 14:26) [459]
............MESSAGE (削除) / (02/02/17(Sun) 23:09) [479]
..................MESSAGE (削除) / (02/02/18(Mon) 09:54) [485]
............MESSAGE (削除) / (02/02/18(Mon) 18:06) [487]
............MESSAGE (削除) / (02/02/22(Fri) 19:11) [503]
............MESSAGE (削除) / (02/02/27(Wed) 17:48) [537]
............MESSAGE ストーリーボードエディタ 0.1.5 beta /kobachi (02/03/03(Sun) 01:14) [555]
..................MESSAGE うひゃ〜 /北神 陽太 (02/03/04(Mon) 10:45) [561]
........................MESSAGE Re[4]: うひゃ〜 /kobachi (02/03/05(Tue) 00:57) [565]
..............................MESSAGE Re[5]: うひゃ〜 /yuk (02/03/05(Tue) 01:47) [566]
..............................MESSAGE ツリー表示に一票 /北神 陽太 (02/03/05(Tue) 10:41) [569]
..............................MESSAGE れ[5]: うひゃ〜 /ドラザエモン (02/03/06(Wed) 16:57) [574]
............MESSAGE 3/8 メインシステム R5 /北神 陽太 (02/03/08(Fri) 18:33) [584]


親記事 / ▼[ 447 ] ▼[ 446 ] ▼[ 445 ]
NO.444  ★2/27物語作成ツール/トップ
□投稿者/ 北神 陽太 -(2002/02/12(Tue) 11:51:01)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
2002/02/27更新

●ご注意

 このスレッドは、「物語作成ツールプロジェクト」の、多人数共同作業を実現するために作成されています。つまり、完成版ではなく、作成途中の素材がUPされています。

 作成途中のプログラム本体は、下のスレッドにありますが、未完成の素材を見てしまうと、ゲームとして楽しめません(開発スタッフも、もちろん楽しめません。作る楽しみで堪能してください)

●2/27開発スタッフへお知らせ

 メインプログラム、選択肢型プロトタイプR4をUPしました。
 簡易の背景画像マクロを追加。戻るボタン復活など。

 メインシステムだけで、500行ほどになりそうなので、BBSの制限で作っていたストーリーを、無制限にして作成しています。

 シナリオスタッフのみなさん、それまで、マクロでどんな演出ができるか練習してみてください。

●スレッドの構成について

 開発スタッフ用と、一般ユーザー用に分かれていますので、書き込みには注意してください。また、この構成は随時更新されます。

 現在、見にくくなったため、不要なスレッドは削除しています。開発スタッフ間ではメールで連絡し、決定原稿のみを私からUPします。

トップ

|-プログラム(開発スタッフ、最新バージョン)
| |-メイン、各種ツール

|-シナリオ(開発スタッフ、最新バージョン)
| |-担当者別素材

|-感想(一般ユーザー用)
  |-こちらに感想を書き込んでください(参加表明もこちら)

●参加スタッフ募集

 今のところ、プログラム、シナリオ、の基本部分だけで、現物が見えないのですが、大きくなったらグラフィック、デバッグ、宣伝・広報、などなど、考えたいと思います。
 ただし、ギャラはありません。スタッフロールに名前が載る程度です。

 とりあえず、募集するのは、
1)シナリオ部門

 ある程度完成したら、
2)プログラム部門
 シナリオエディタ、オープニング、エンディング、イベント

 グラフィックは・・・、どうしようか思案中・・・。

 参加表明は、「感想」スレッドにタイトル「参加します!」と書き込んでください。
(何を担当したいかもお願いします)

●現在の開発スタッフ(敬称略)

プロデュース、メインシステム 北神 陽太
シナリオエディター      kobachi
シナリオ           浩子(原作)
シナリオ           yuk
シナリオ           dorazaemon

参加思案中?         にゃんこ

(間違い、表記を変更したい場合、ご連絡ください)

●企画の経緯

 浩子さんの「物語作成ツール」をきっかけに、ちょっと作ってみたところ、「ひまわりする」という便利な命令が、このツールにぴったりであることが判明。

 しかも、ひとつのモジュール(お話)が単独で動くので、多人数で作っても、共通項目(アイテムなど)さえ決めておけば(なくてもいいですけど)、シナリオのストーリーは誰でも参加できるなぁ・・・。というのが企画の始まりです。どうなることやら。



▲[ 444 ] / ▼[ 448 ] ▼[ 457 ] ▼[ 474 ] ▼[ 491 ]
NO.447  ★感想(一般ユーザー、参加表明)
□投稿者/ 北神 陽太 -(2002/02/12(Tue) 11:54:28)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
 一般ユーザー向けテスト用です。このスレッドの下に、参加表明をお願いします。



▲[ 447 ] / ▼[ 450 ] ▼[ 454 ]
NO.448  Re[2]: 参加表明
□投稿者/ yuk -(2002/02/13(Wed) 00:26:20)
□U R L/
シナリオづくり、参加させていただきたいです。
後、他にも出来ることがあるのなら。
初心者なので、システム作りの根幹に関わることは出来ないと思いますが、
協力させてください。



▲[ 448 ] / 返信無し
NO.450  (削除)
□投稿者/ -(2002/02/13(Wed) 09:07:34)
□U R L/
この記事は削除されました



▲[ 448 ] / 返信無し
NO.454  参加第一号ありがとう
□投稿者/ 北神 陽太 -(2002/02/13(Wed) 19:39:33)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
 システムは、私のほうで設計しますので、まず、プログラムスレッドのプロトタイプを実行してみてください。

 この物語データ部分を作ることになりますので、シナリオスレッドのデータ仕様を確認しましょう。(非常に簡単で、お話の内容と、次の場面の名前を指定するだけです)

 なお、第一回目のプロジェクトは、シナリオそのものの企画ではなく、昔話をいかに表現するか? という習作のつもりで作りましょう。

 お知らせも含めて、随時更新していきますので、ご協力をお願いします。



▲[ 447 ] / ▼[ 458 ]
NO.457  どうでしょう?
□投稿者/ kobachi -(2002/02/14(Thu) 01:52:10)
□U R L/ http://plaza.across.or.jp/~kobachi/
お話作成用のスクリプトを作ってみるって言うのはどうでしょう?例えば、

  #背景画像は、「竹林.jpg」。←ひまわりの命令には「#」をつけて識別。
  さぬきのみやつこ:なんと不思議な竹じゃ。←テキストは、場所やオブジェクトを指定しなくても、自動で特定の場所に表示。

つまり、物語表示ツールが事前に準備しておき、内部的に利用する各種オブジェクト(「背景画像」・「メッセージ表示部」等々。これらのオブジェクトの位置は変更できるが破壊はできないようにしておく。)に対して、ひまわりの命令を使わずに物語の表示等ができるようにし、それ以外の動作はサポートしない(ひまわりの命令で各自追加してもらう)というような仕様で作成してはどうでしょうか。

現状では、物語を作成するために、ひまわりのプログラムと同じ事をする必要がありますが、このような「超簡易スクリプト」を用意すると、シナリオももっと簡単に作れるかと思います。



▲[ 457 ] / ▼[ 462 ]
NO.458  すでに
□投稿者/ 北神 陽太 -(2002/02/14(Thu) 13:51:58)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
 考えてありまして、メッセージの中に文字マクロを組み込み、「ひまわりする」という手なんですが、初心者に説明するのが・・・。
 ということで、今回はプログラムよりも、完成させることに重点をおきたいと思います。ところで、シナリオエディタどうですか?



▲[ 458 ] / ▼[ 464 ]
NO.462  もしやおさそい?
□投稿者/ kobachi -(2002/02/15(Fri) 00:04:56)
□U R L/ http://plaza.across.or.jp/~kobachi/
もしや、シナリオエディタを作れというご指令ですか!?いやぁ、一瞬シナリオエディタが既に公開されているのかと、プログラム掲示板を探し回ってしまいました。よく考えたら、このプログラム掲示板でエディタを公開したのは、HTMLエディタのmoka氏と、ニセメモ帳の私しかいませんでした…。

仕様書をじーっと見つめてみました。ひまわりエディタのように、ラベルを一覧できるといいですね。しかも、階層付で。フローチャートができると面白いのですが、無理な予感がします。技術的なチャレンジ…そうですねー。やってみましょうか。もし、へんてこなエディタができたらごめんなさい。

金・土・日の三日かけて完成させたいなぁと思います。



▲[ 462 ] / 返信無し
NO.464  Re[5]: もしやおさそい?
□投稿者/ 北神 陽太 -(2002/02/15(Fri) 02:18:04)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
 私が作るのが一番手っ取り早いのですが、今回はプロデュースに専念します。

 仕様は、「ラベル」と「内容」、次に実行する「ラベルの名前」が基本。それぞれが、どのような構造になっているかわかるといいんですが、問題は、条件分岐の場合です。

 これは、仕様をかためたほうがいいかな? 今週は忙しいので、来週あたりに固めたいと思います。



▲[ 447 ] / 返信無し
NO.474  参加表明
□投稿者/ doraza -(2002/02/16(Sat) 16:37:03)
□U R L/ http://www.geocities.jp/skyquarters/
シナリオづくり、是非参加させてください。
ここらでいっちょやってみるか、って思ったりした(笑
仕事は遅いと思いますが、どうぞよろしく。



▲[ 447 ] / ▼[ 492 ]
NO.491  Re[2]: ★感想(一般ユーザー、参加表明)
□投稿者/ にゃんこ -(2002/02/19(Tue) 02:15:03)
□U R L/
ここに、カキコで、良いのかなぁ・・・
チョコチョコ、今のように、元気なのに時間があったりするので、そうゆう時間を使ってで、良いのなら、参加させて頂きたいなぁと。。。
ですが、正直言って、ここのスレッド一通り、拝読しましたが、一体何をしたら、良いのやら・・・
もし、私で、お手伝い出来る事がありそうなら、メールでもOKなので、具体的にリストアップしてくださいM(._.)M



▲[ 491 ] / 返信無し
NO.492  (削除)
□投稿者/ -(2002/02/19(Tue) 09:15:39)
□U R L/
この記事は削除されました



▲[ 444 ] / ▼[ 451 ] ▼[ 466 ]
NO.446  ★シナリオ(開発スタッフ)
□投稿者/ 北神 陽太 -(2002/02/12(Tue) 11:52:58)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
2002/02/13 更新

●このスレッドについて

 参加表明をしてくれた人は、まずこの下に自分のスレッドをひとつ作ってください。(下記参照)

 参加表明をしてくれた人ごとに、個人別のシナリオ素材を保管します。シナリオの最新版を、プログラム本体に私が組み込みます。
 他の人のシナリオを見て、意見がある場合、その人のスレッドに書き込んでください。

シナリオ(開発スタッフ)

|-浩子
|-yuk
|-:
|-:

●シナリオの分担

 まだ、メインの「お話」がありませんので、分担できないのですが、シーン(幕)ごとにそれぞれ分担していただきます。

●シナリオの骨格

 浩子さんの書き込みから、いきなり大風呂敷を広げるのではなく、誰にでも楽しめる「昔話」がいいのでは? と思います。
 以下、現在考えている骨格です。

起:
 おじいさんとおばあさんが、捨て子を拾う。
 捨て子の名前は力丸(リキマル)、一緒に母からの手紙と「お守り」が・・。

承:
 力丸は、異常なスピードで成長。
 ある日、おばあさんは力丸の頭に異常(角がある)を見つけ、帽子をかぶせることに。
 しかし、ふつうの子供として育てていきます。

 ある日、村の子供たちに、帽子を取られ、角があることがバレてしまいます。
 結局、いじめられ、苦悩します。

転:
 ある日、村が鬼に襲われ、人がさらわれてしまいます。(おばあさんか女の子?)
 いじめられていても、心やさしい力丸は、村を救おうと、鬼に立ち向かいます。

結:
 鬼との戦い。ちょっとRPG風。
 最後の鬼を退治するには、アイテムの「お守り」(手紙と一緒に持っている)を使います。

 鬼を退治し、村に帰ると、力丸は感謝され、仲良く暮らす日々が訪れます。
 しかし、まだ鬼に不信を抱く村人のため、鬼のいる山へ向かいます。

 行って見ると、そこは荒れ果てた廃墟でした。
 廃墟のひとつに張り紙を見つけます。「力丸へ」と書かれた手紙です。


 鬼は、自分を捨てた「母親」だったのです。

 いじめられている我が子を救うために、「力丸が村を救えば、人間と仲良く暮らせる」と
考えた母の芝居だったことを力丸は知ります・・・。


●データ記述仕様

 メインプログラムからは、「ひまわりする」で各シーンが呼び出されます。
 シナリオの1ページは、「ラベル」から、「待機」までとなります。

ラベルの命名規則:
 これが、このシステムの最大の特徴です。ラベルはグループ、階層化されているので、他の人のシナリオと、完全に分離しています。

 ラベルの名前は、*場面_階層1_階層2_階層3・・・

 というように、「_」アンダースコアで区切ります。たとえば、「始まり_手紙」なら、この階層(手紙)で、ある条件を満たさなければ、次に進まない。といったことが可能です。

 別の人のシナリオだと、「*育てる」といった場面から始まりますので、担当している最後に、次の人のラベル(場面)を指定するだけで、ストーリがつながります。

 選択などのローカルイベントは、サンプルで、プログラムに記載する予定です。

禁止事項:
 「飛ぶ」を使って1ページの外へ出てはいけません。

例:

*始まり
'画面の文字数制限□30文字x10行まで□□□□□□□□□□□□□■
内容=「(ここにお話を書きます)」。

'次の場面のラベルを指定
 場面=「始まり_手紙」
 お話を、呼ぶ。
待機。

●他の人との相互関係

 「持ち物」を共通のアイテムとして使用できます。が、どのように利用するかは、相互で話し合ってください。(自分の場面内だけで利用するのは問題なし)



▲[ 446 ] / ▼[ 453 ]
NO.451  (削除)
□投稿者/ -(2002/02/13(Wed) 11:42:35)
□U R L/
この記事は削除されました



▲[ 451 ] / 返信無し
NO.453  (削除)
□投稿者/ -(2002/02/13(Wed) 15:15:42)
□U R L/
この記事は削除されました



▲[ 446 ] / ▼[ 494 ]
NO.466  Re[2]: 浩子★シナリオ育てる_幼児(開発スタッフ)
□投稿者/ 浩子 -(2002/02/15(Fri) 15:20:22)
□U R L/ http://www11.tok2.com/home/tanhiroko/
浩子です。こんな感じで続ければいいのかな。
続けやすいところから始めました。

*育てる_幼児
内容=「
力丸:<ふんぎゃー! ふんぎゃー!>
おじいさん:さて、お腹でも減ったようじゃな。ばあさん、<おっぱいじゃ!>
おばあさん:・・・で、出るわけないでしょ。おじいさん・・・

おじいさん:う〜む・・・、どうしたものか・・・。
おばあさん:そうじゃ。近所に<お竜>という赤ん坊を産んだばかりの<女>がいましたよ
おじいさん:早速頼んでみよう。」

'次の場面
場面=「育てる_お竜の家」
お話を、呼ぶ。
待機。

*育てる_お竜の家

内容=「
おばあさん:そういうわけで<おっぱい>を飲ませてやってくれないかねえ
お竜:私でよければお安い御用です。
お竜は力丸にお乳を飲ませた。
力丸は美味しそうにお乳を飲んだ。
おばあさん:よかったねえ。当分頼みますよ。
お竜:あれ、この子の<頭に固い芯>のようなのがあるよ。
おじいさん:どれどれ。ほんとうじゃ。なんじゃろう?
頭に触ると何だか力が湧いてくるようじゃ。不思議な子じゃのう。」


'次の場面
場面=「成長」
お話を、呼ぶ。
*成長
内容=「
力丸は異常な早さで成長した。
ある日、おばあさんは力丸の頭に<角が生えている>のを見つけた。
何じゃろうと思ったが、近所の子にいじめられてはと、<帽子>を
作ってあげた。
そのまま普通の子供として育てることにした。」


 '次の場面
 場面=「物語を終わる」
 お話を、呼ぶ。

待機。



▲[ 466 ] / 返信無し
NO.494  Re[3]: ★シナリオ 力丸成長編
□投稿者/ 浩子 -(2002/02/19(Tue) 11:33:52)
□U R L/ http://www11.tok2.com/home/tanhiroko/
浩子です。物語の中盤です。
力丸のアイテムはどうしましょうか?
どなたか地図や背景の絵を描いてくださいな。
原作の題名ですが、力丸鬼伝説はいかがでしょう?

*成長

力丸は異常な早さで成長した。
ある日、おばあさんは力丸の頭に<角が生えている>のを見つけた。
驚いたが、近所の子にいじめられてはと、<帽子>を作ってあげた。
そのまま普通の子供として育てることにした。


*悪だくみ

村の子供1:力丸はどうしていつも<帽子をかぶってる>のかな?
村の子供2:帽子を取ってやろうか・・・・
村の子供3:力丸をかくれんぼに誘おうよ
村の子供1:力丸、一緒にかくれんぼをして遊ぼうよ
力丸:うん。
村の子供2:ジャンケンポン。力丸が鬼だよ。目をつぶって10数えるんだよ
力丸:1、2、3、・・・・
村の子供3:今だ。かかれ。
力丸:ワアアー!やめろー!
村の子供たち:ワー!、キャー!<力丸の頭に角>があるー」


*苦悩

村の子供たち:やーい。力丸の鬼っ子
力丸:・・・・こぶしを握り締める
力丸:どうして自分にだけ<角>なんか生えるんだ・・・
おじいさん:力丸や、今に<頭の角>が役立つ時が来るから、それまでの辛抱じゃ。
おばあさん:おまえの<持ち物>を調べたら、この<笛>が出てきましたよ。
寂しくなったら吹くがよい。
力丸はその<笛>を吹いた。<心が落ち着いてきた>。

*決意

おじいさん:力丸、大変じゃ。<村が鬼に襲われ>て、<お絹>という<娘>が
さらわれたらしい
おばあさん:力丸や。この村を救っておくれ
力丸:もちろんです。おじいさん、僕に<小刀>か<金棒>を作ってください。
おじいさん:そうじゃな。鬼と戦う武器が必要じゃ。<鬼のいる島の地図>はどこかな。
おばあさん:私は<おにぎり>をたんと作るとしよう。<薬草>もつんでこなくては。

こうして、いじめられていても、心やさしい力丸は、村を救おうと、鬼に立ち向かう
決意を固めた

戦闘へ続く。



▲[ 444 ] / ▼[ 456 ] ▼[ 479 ] ▼[ 487 ] ▼[ 503 ] ▼[ 537 ] ▼[ 555 ] ▼[ 584 ]
NO.445  ★3/8プログラム(開発スタッフ)
□投稿者/ 北神 陽太 -(2002/02/12(Tue) 11:52:02)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
'2002/03/08 版
 BBSにアップできないサイズになってしまいましたので、追加した機能だけ
になってしまいました。
 背景画像をかなり追加しました。もうアイデアの限界?



▲[ 445 ] / ▼[ 459 ]
NO.456  (削除)
□投稿者/ -(2002/02/14(Thu) 01:37:20)
□U R L/
この記事は削除されました



▲[ 456 ] / 返信無し
NO.459  (削除)
□投稿者/ -(2002/02/14(Thu) 14:26:00)
□U R L/
この記事は削除されました



▲[ 445 ] / ▼[ 485 ]
NO.479  (削除)
□投稿者/ -(2002/02/17(Sun) 23:09:21)
□U R L/
この記事は削除されました



▲[ 479 ] / 返信無し
NO.485  (削除)
□投稿者/ -(2002/02/18(Mon) 09:54:49)
□U R L/
この記事は削除されました



▲[ 445 ] / 返信無し
NO.487  (削除)
□投稿者/ -(2002/02/18(Mon) 18:06:29)
□U R L/
この記事は削除されました



▲[ 445 ] / 返信無し
NO.503  (削除)
□投稿者/ -(2002/02/22(Fri) 19:11:25)
□U R L/
この記事は削除されました



▲[ 445 ] / 返信無し
NO.537  (削除)
□投稿者/ -(2002/02/27(Wed) 17:48:49)
□U R L/
この記事は削除されました



▲[ 445 ] / ▼[ 561 ]
NO.555  ストーリーボードエディタ 0.1.5 beta
□投稿者/ kobachi -(2002/03/03(Sun) 01:14:56)
□U R L/ http://plaza.across.or.jp/~kobachi/
{--
■バージョンアップ内容■

○刻々とバージョンアップするメインシステムに別開発のエディタがどうやって対応するか、いろいろ検討したのですが、メインシステムを別ファイルとして保存し、それを読み込むことにしました。メインシステムの取り込み方法が決定したので、「ひまわりプログラムとして保存」や「物語を再生」「現在のシーンを表示」などのコマンドが利用できるようになりました。

○また、メインシステムに搭載された拡張コマンドにも対応しました。「ExCommands.ini」に命令を書き込んで保存すれば、拡張コマンドをプログラム中に簡単に挿入できるようになります。「ExCommands.ini」に書き込んであれば、自分の作った命令であろうがなんだろうが、とにかく挿入できます。

○テンプレートに対応しました。「Template.hmw」が存在すれば、「新しいシーンを追加」したときに初期状態としてその内容が保存されます!いつも同じ文章をコピーしてはり付けしたりという作業が減り、物語の作成に集中できます。

○上記の二つのファイル「ExCommands.ini」と「Template.hmw」はストーリーボードエディタと同じ場所に保存してください。また、ファイルを作成しなくても、ストーリボードエディタは問題なく動作します。

○独自形式のファイルですが、ヘッダを少し改造して、ひまわりでは実行できないようにしました。「このファイルは実行できません」と表示されて、終了します。これで、誤ってファイルをダブルクリックしても、変な動作にならずに済みます。


■追伸■
2週間ほどWindows Scripting Hostに浮気してました。もしかしたら、IEの右クリックから、ひまわりスクリプトが実行できるようになるかもしれません。

--}


*InitializeFunction
AppName=「ストーリーボード エディタ」;AppVersion=「0.1.5 beta」;
Extension1=「ストーリボード(*.hmw)|*.hmw|テキスト文書(*.txt)|*.txt|全てのファイル(*.*)|*.*」;
Extension2=「ひまわりスクリプト(*.hmw)|*.hmw|テキスト文書(*.txt)|*.txt|全てのファイル(*.*)|*.*」;
INIFile=「openprod.ini」;TemplateFile=「template.hmw」;ExCommandFile=「ExCommands.ini」;
HEADER=『{!StoryBoard}言(「このファイルは実行できません。」);終;』;
CRLF=「\n」;null=「」;
レジストリ開く(HKEY_CURRENT_USER,『Control Panel\Colors』);
レジストリ読む(『ButtonFace』);『 』で,区切る;ButtonFace=RGB(それ#0,それ#1,それ#2);
レジストリ閉じる;


*CreateApplicationMenu
メニュー作成(FileMenu);その,テキスト=「ファイル(&F)」;
メニュー追加(FileMenu,m_CreateNewStoryBoard);
   その,テキスト=「ストーリボードの新規作成(&N)」;
   その,イベント=CreateNewStoryBoard;
メニュー追加(FileMenu,m_FileMenuHR01);その,テキスト=「-」;
メニュー追加(FileMenu,m_OpenStoryBoard);
   その,テキスト=「ストーリボードを開く(&O)...」;
   その,ショートカットキー=「Ctrl+O」;
   その,イベント=OpenStoryBoard;
メニュー追加(FileMenu,m_SaveStoryBoard);
   その,テキスト=「ストーリーボードの上書き保存(&S)」;
   その,ショートカットキー=「Ctrl+S」;
   その,イベント=SaveStoryBoard;
メニュー追加(FileMenu,m_SaveStoryBoardAs);
   その,テキスト=「ストーリボードに名前をつけて保存(&A)...」;
   その,イベント=SaveStoryBoardAs;
メニュー追加(FileMenu,m_FileMenuHR02);その,テキスト=「-」;
メニュー追加(FileMenu,m_SelectCoreScript);
   その,テキスト=「物語プログラムのコアを選択(&L)...」;
   その,イベント=SelectCoreScript;
メニュー追加(FileMenu,m_ExportHIMAWARIScriptAs);
   その,テキスト=「ひまわりスクリプトとして保存(&E)...」;
   その,イベント=ExportHIMAWARIScriptAs;
メニュー追加(FileMenu,m_FileMenuHR03);その,テキスト=「-」;
メニュー追加(FileMenu,m_ExitApplication);
   その,テキスト=「{AppName} の終了(&X)\tAlt+F4」;
   その,イベント=ExitApplication;

メニュー作成(EditMenu);
   その,テキスト=「編集(&E)」;
メニュー追加(EditMenu,m_Undo);
   その,テキスト=「元に戻す(&U)\tCtrl+Z」;
   その,イベント=Undo;
メニュー追加(EditMenu,m_EditMenuHR01);その,テキスト=「-」;
メニュー追加(EditMenu,m_Cut);
   その,テキスト=「切り取り(&X)\tCtrl+X」;
   その,イベント=Cut;
メニュー追加(EditMenu,m_Copy);
   その,テキスト=「コピー(&C)\tCtrl+C」;
   その,イベント=Copy;
メニュー追加(EditMenu,m_Paste);
   その,テキスト=「貼り付け(&P)\tCtrl+V」;
   その,イベント=Paste;

メニュー作成(StoryBoardMenu);
   その,テキスト=「ストーリーボード(&S)」;
メニュー追加(StoryBoardMenu,m_AddNewScene);
   その,テキスト=「新しいシーンの追加(&C)...」;
   その,ショートカットキー=「Ctrl+N」;
   その,イベント=AddNewScene;
メニュー追加(StoryBoardMenu,m_RenameCurrentScene);
   その,テキスト=「シーン名の変更(&R)...」;
   その,イベント=RenameCurrentScene;
メニュー追加(StoryBoardMenu,m_ExchangeScenes);
   その,テキスト=「シーン順序の交換(&E)...」;
   その,イベント=ExchangeScenes;
   その,有効=オフ;
   メニュー追加(StoryBoardMenu,m_DeleteCurrentScene);
   その,テキスト=「現在のシーンを削除(&D)」;
   その,ショートカットキー=「Ctrl+Delete」;
   その,イベント=DeleteCurrentScene;
   その,有効=オフ;
メニュー追加(StoryBoardMenu,m_StoryBoardMenuHR01);その,テキスト=「-」;
メニュー追加(StoryBoardMenu,m_PreviewScene);
   その,テキスト=「現在のシーンを表示(&V)」;
   その,イベント=PreviewCurrentScene;
メニュー追加(StoryBoardMenu,m_StoryBoardMenuHR02);その,テキスト=「-」;
メニュー追加(StoryBoardMenu,m_PlayStory);
   その,テキスト=「物語の再生(&P)」;
   その,ショートカットキー=「Ctrl+P」;
   その,イベント=PlayStory;

メニュー作成(ToolMenu);
   その,テキスト=「ツール(&T)」;
メニュー追加(ToolMenu,m_ListupCharacters);
   その,テキスト=「登場人物の一覧表示(&L)」;
   その,ショートカットキー=「Ctrl+L」;
   その,イベント=ListupCharacters;
   その,有効=オフ;
メニュー追加(ToolMenu,m_InsertExExCommand);
   その,テキスト=「拡張命令の挿入(&X)...」;
   その,ショートカットキー=「Ctrl+R」;
   その,イベント=InsertExExCommand;
メニュー追加(ToolMenu,m_InsertHIMAWARIExCommand);
   その,テキスト=「ひまわり命令の挿入(&I)...」;
   その,ショートカットキー=「Ctrl+I」;
   その,イベント=InsertHIMAWARIExCommand
   その,有効=オフ;
メニュー追加(ToolMenu,m_ToolMenuHR01);その,テキスト=「-」;
メニュー追加(ToolMenu,m_ImpordWizard);
   その,テキスト=「テキスト文書のインポート(&T)...」;
   その,イベント=ImportWizard;
   その,有効=オフ;

メニュー作成(ViewMenu);
   その,テキスト=「表示(&V)」;
メニュー追加(ViewMenu,m_ChangeWindowFont);
   その,テキスト=「表示フォントの変更(&F)...」;
   その,イベント=ChangeWindowFont。

メニュー作成(HelpMenu);
   その,テキスト=「ヘルプ(&H)」;
メニュー追加(HelpMenu,m_ShowVersionInformation);
   その,テキスト=「{AppName} について(&A)...」;
   その,イベント=ShowVersionInformation;


*SetWindowStyle
母艦の,タイトル=「{AppName}」;
母艦の,背景色=ButtonFace;
INIFileが,存在するか;' 基本環境設定ファイルの読み込み
もし,(それ=はい)なら(
   INIBufferに,INIFileを,読む;
   INIBufferを,『=』で、区切る;
   母艦の,X=それ#2;母艦の,Y=それ#4;母艦の,幅=それ#6;母艦の,高さ=それ#8;
   文字書体=それ#10;文字サイズ=それ#12;CoreScript=それ#14;)
でなければ(
   文字書体=『MS UI Gothic』;文字修飾=null;文字サイズ=9;CoreScript=null;
   「物語作成プログラムのシステム(コア)を選択してください。」と,言う;
   SelectCoreScript;)
TemplateFileが,存在するか;' 初期テンプレートの読み込み
もし,(それ=はい)なら(
   読む(Template,TemplateFile);)
でなければ(
   Template=『お話=「」』;)
ExCommandFileが,存在するか;' 拡張コマンド一覧の読み込み
もし,(それ=はい)なら(
   読む(ExCommandList,ExCommandFile);)
でなければ(
   m_InsertExExCommandの,有効=オフ;)
ExitApplicationに,終了処理設定;

作成(SceneListLabel,ラベル);
その,テキスト=「シーン一覧:」;
その,フォント書体=「{文字書体}|太字」;
作成(SceneList,リスト);
その,クリックした時=SelectScene;
作成(SceneEditorLabel,ラベル);
その,テキスト=「シーンの内容:」;
その,フォント書体=「{文字書体}|太字」;
作成(SceneEditor,メモ);
その,スクロールバー=縦;
その,変更した時=SaveSceneBuffer;
母艦の,変更した時=ResizeObjects;

File=null;
SceneListBuffer=null;
母艦浮上;
待機;





' Window Message Hack ==========================================================
*ResizeObjects
母艦の,変更した時=DoNothing;
SceneListLabelの,サイズ=(0,0,100,文字サイズ*4/3+2);
SceneListの,サイズ=(0,文字サイズ*4/3+2,(母艦の,幅)*0.30,(母艦の,高さ));
SceneEditorLabelの,サイズ=((母艦の,幅)*0.30+5,0,(母艦の,幅)*0.30+100,文字サイズ*4/3+2);
SceneEditorの,サイズ=((母艦の,幅)*0.30+5,文字サイズ*4/3+2,(母艦の,幅),(母艦の,高さ));
母艦の,変更した時=ResizeObjects;
画面クリア(ButtonFace);
戻る;


*SelectScene
SceneNo=イベントオブジェクトの,値;
SceneEditorの,変更した時=DoNothing;
ひまわりする(「SceneEditorの,テキスト=SceneBuffer_{SceneNo};」);
SceneEditorの,変更した時=SaveSceneBuffer;
戻る;


*SaveSceneBuffer
ひまわりする(「SceneBuffer_{SceneNo}=SceneEditorの,テキスト;」);
もし,(File=null)なら,(
   母艦の,タイトル=「新規ストーリボード* - {AppName}」;)
でなければ,(
   母艦の,タイトル=「{File}* - {AppName}」;)
EditFlag=オン;
戻る;


*DoNothing
' This is Dummy Process
戻る;





' Sub Routines =================================================================
*OpenStoryBoard
読み込みファイル選択(Extension1);
もし,(それ=「」)なら,戻る;でなければ,File=それ;
読む(FileBuffer,File);
もし,(FileBuffer#0<>HEADER)なら,FileFormatErrorへ,飛ぶ;' 特定のヘッダを持たなければエラー
SceneListBuffer=null;SceneNo=-1;
iを,1から,(要素数(FileBuffer)-1)まで,繰り返す(
   もし,(LEFT(FileBuffer#i,1)=『*』)なら(
      SceneListBuffer=SceneListBuffer&FileBuffer#i&CRLF;
      SceneNo=SceneNo+1;
      ひまわりする(「SceneBuffer_{SceneNo}=null;」);)
   でなければ(
      ひまわりする(「SceneBuffer_{SceneNo}=SceneBuffer_{SceneNo}&FileBuffer#i&CRLF;」);))
SceneNo=0;
SceneListの,アイテム=SceneListBuffer;
SceneListの,値=0;
SceneEditorの,テキスト=SceneBuffer_0;
母艦の,タイトル=「{File} - {AppName}」;
EditFlag=オフ;
戻る;


*FileFormatError
「このファイルは、{AppName} 用のファイルではありません。」と,言う;
戻る;


*SaveStoryBoard
もし,(File=null)なら,SaveStoryBoardAsへ,飛ぶ;' 名前がついていなければファイル名選択
FileBuffer=HEADER;
iを,0から,(要素数(SceneList)-1)まで,繰り返す(
   ひまわりする(「FileBuffer=FileBuffer&CRLF&SceneListBuffer#i&CRLF&SceneBuffer_{i}」;);)
保存(FileBuffer,File);
母艦の,タイトル=「{File} - {AppName}」;
EditFlag=オフ;
戻る;


*SaveStoryBoardAs
書き込みファイル選択(Extension1);
もし,(それ=null)なら,戻る;でなければ,File=それ;
SaveStoryBoardへ,飛ぶ;' 名前を付ければ後は上書き保存と同じ


*SelectCoreScript
読み込みファイル選択(Extension2);
もし,(それ=null)でなければ,CoreScript=それ;
もし,(CoreScript=null)なら,SelectCoreScriptへ,飛ぶ;' 必ず選択させる
戻る;


*ExportHIMAWARIScriptAs
もし,(EditFlag=オン)なら,SaveStoryBoard;' 編集されていれば保存
もし,(CoreScript=null)なら,SelectCoreScript;' コアが選択されていなければ選択
開く(FileBuffer,CoreScript);
iを,0から,(要素数(SceneList)-1)まで,繰り返す(
   ひまわりする(「FileBuffer=FileBuffer&CRLF&SceneListBuffer#i&CRLF&SceneBuffer_{i}」;);)
書き込みファイル選択(Extension2);もし,(それ=null)なら,戻る;
保存(FileBuffer,それ);
戻る;


*ExitApplication
INIBuffer=「[{AppName}]
WindowPostionX={母艦の,X}\nWindowPositionY={母艦の,Y}
WindowWidth={母艦の,幅}\nWindowHeight={母艦の,高さ}
Font={文字書体}\nFontSize={文字サイズ}
CoreScript={CoreScript}」;
INIBufferを,INIFileへ,保存;
終わる;


*Undo
注目(SceneEditor);キー送信(AppName,『^z』)
戻る;


*Cut
注目(SceneEditor);キー送信(AppName,『^x』)
戻る;


*Copy
注目(SceneEditor);キー送信(AppName,『^c』)
戻る;


*Paste
注目(SceneEditor);キー送信(AppName,『^v』)
戻る;


*AddNewScene
「シーンの名前を指定してください。」と,尋ねる;
もし,(それ=null)なら,戻る;
もし,(LEFT(それ,1)<>『*』)なら,それ=『*』&それ;
SceneNo=(要素数(SceneListBuffer));
SceneListBuffer#SceneNo=それ;
SceneListの,アイテム=SceneListBuffer;
ひまわりする(「SceneBuffer_{SceneNo}=Template;」);
ひまわりする(「SceneEditorの,テキスト=SceneBuffer_{SceneNo};」);
戻る;


*RenameCurrentScene
「シーンの名前を指定してください。」と,尋ねる;
もし,(それ=null)なら,戻る;
もし,(LEFT(それ,1)<>『*』)なら,それ=『*』&それ;
SceneListBuffer#SceneNo=それ;
SceneListの,アイテム=SceneListBuffer;
戻る;


*PreviewCurrentScene
もし,(CoreScript=null)なら,SelectCoreScript;' コアが選択されていなければ選択
開く(FileBuffer,CoreScript);
ひまわりする(「FileBuffer=FileBuffer&CRLF&SceneListBuffer#SceneNo&CRLF&SceneBuffer_{SceneNo}」;);
保存(FileBuffer,「storyboard.bak」);『himawari.exe storyboard.bak』を,起動;
戻る;


*PlayStory
もし,(CoreScript=null)なら,SelectCoreScript;' コアが選択されていなければ選択
開く(FileBuffer,CoreScript);
iを,0から,(要素数(SceneList)-1)まで,繰り返す(
   ひまわりする(「FileBuffer=FileBuffer&CRLF&SceneListBuffer#i&CRLF&SceneBuffer_{i}」;);)
保存(FileBuffer,「storyboard.bak」);『himawari.exe storyboard.bak』を,起動;
戻る;


*InsertExExCommand
リストから選択(「挿入する命令を選択してください。」,ExCommandList);
もし,(それ=null)なら,戻る;でなければ,(
   SceneEditorの,変更した時=DoNothing;
   SceneEditorの,選択文字列=それ;
   SceneEditorの,変更した時=SaveSceneBuffer;)
戻る;


*ChangeWindowFont
フォント選択;もし,(それ=null)なら,戻る;でなければ,FontFace=それ;
判別して切り取る(FontFace,『|』,『|』);文字書体=それ;
判別して切り取る(FontFace,『|』,『|』);文字修飾=それ;
判別して切り取る(FontFace,『|』,『|』);文字サイズ=それ;
SceneListLabelの,フォント書体=「{文字書体}|太字|{文字サイズ}」;
SceneListの,フォント書体=「{文字書体}|{文字サイズ}」;
SceneEditorLabelの,フォント書体=「{文字書体}|太字|{文字サイズ}」;
SceneEditorの,フォント書体=「{文字書体}|{文字サイズ}」;
戻る。


*ShowVersionInformation
「{AppName} Version {AppVersion}\nCopyright(C) by open.doc\n
Powered by 物語作成プロジェクト」と,言う;
戻る;



▲[ 555 ] / ▼[ 565 ]
NO.561  うひゃ〜
□投稿者/ 北神 陽太 -(2002/03/04(Mon) 10:45:21)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
 kobachiさん、すごすぎ。「取り込む」命令で、hmw外部ファイルは取り込めますので、いくらでも分割できますので、外部をすべて「取り込む」「ひまわりする」で本体に内蔵しなくてもOKだと思います。

 で、一番のネックは「階層構造の連結」部分だと思うんですよ。たとえば、
  親シーン
  親シーン_子シーン1
  親シーン_子シーン2
のとき、親シーンが選択されていれば、子シーンnの選択肢ボタンの登録・削除・変更ができると、いいですね。

 リストボックス内の操作なので、検索キーが「親シーン」で、「_子シーンn_」を抽出、操作するだけで可能ですよね。(下層シーンにのみ有効、どこから移動したかは、親シーンに依存するので、親シーンの名前が変わっても影響はないと思います。)

 ちょっと複雑ですね。基本操作部分を作ってみます。



▲[ 561 ] / ▼[ 566 ] ▼[ 569 ] ▼[ 574 ]
NO.565  Re[4]: うひゃ〜
□投稿者/ kobachi -(2002/03/05(Tue) 00:57:39)
□U R L/ http://plaza.across.or.jp/~kobachi/
 なるほど。了解しました。リストを使った「無理やりツリー表示」と共に挑戦してみます。おそらく、ツリー構造をプログラムが解析できれば、選択肢を一覧表示させることは簡単だと思います。

 しかしながら残念なことに、今週はちょっと忙しいので、来週の日曜(17日)前後に完成させたいと思います。


■無理やりツリー表示の例

    *親シーン
    ├*子シーン1
    ├*子シーン2
    │├*子子シーン1
    │└*子子シーン2
    └*子シーン3

それとも、

    *親シーン
     *子シーン1
     *子シーン2
      *子子シーン1
      *子子シーン2
     *子シーン3


のように、何もない方がすっきりしていいでしょうか。ご意見をお聞かせください。



▲[ 565 ] / 返信無し
NO.566  Re[5]: うひゃ〜
□投稿者/ yuk -(2002/03/05(Tue) 01:47:38)
□U R L/
線が表示される方に一票。
あんまり間が空きすぎると、わからなくなってしまうと思うので。



▲[ 565 ] / 返信無し
NO.569  ツリー表示に一票
□投稿者/ 北神 陽太 -(2002/03/05(Tue) 10:41:35)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
 VBですが、sakura用のSIVで実現してますので、ツリーでしょうね。キレイに表示するには、イメージ部品のグラフィックで!?(いや〜そこまでしなくても、まったく問題ないです)



▲[ 565 ] / 返信無し
NO.574  れ[5]: うひゃ〜
□投稿者/ ドラザエモン -(2002/03/06(Wed) 16:57:29)
□U R L/ http://www.geocities.jp/skyquarters/
テストが終わって一安心なので久しぶりにカキコさせて頂きます。
このままじゃ幽霊スタッフなので(笑

僕も罫線ありのツリー表示がいいです。整理しやすそう。

いつの間にか大幅にバージョンアップ・・・
ついていかねば。



▲[ 445 ] / 返信無し
NO.584  3/8 メインシステム R5
□投稿者/ 北神 陽太 -(2002/03/08(Fri) 18:33:49)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
'2002/03/08 版
{---プログラム掲示板投稿フォーム---
【ソフト名】物語作成ツール (バージョン プロトタイプ R5)
【作 成 者】物語作成ツールプロジェクト
プロデュース、メインシステム 北神 陽太(連絡先:y-kitagami@nifty.ne.jp)
        http://homepage1.nifty.com/kitagami/index.htm
シナリオエディター      kobachi
シナリオ           浩子(原作)(hiro_5@nifty.com)
シナリオ           yuk
シナリオ           dorazaemon

【種  別】フリーソフトウェア
【ひまわりのバージョン】ver.1.31
【転  件】可(転載条件:ご連絡があると喜びます)
【ひまわり本体への梱包】不可(未完成です)
【実行時に利用作成するファイル】無
【コメント】

 共同作成プロジェクトのプロトタイプ R5です。

---投稿フォームここまで---}

'■物語作成ツールプロジェクト メインシステム■

DSW=オフ'オン。'デバッグスイッチ オフにすると、アニメ処理が入ります

母艦の、タイトルは、「物語作成ツール プロトタイプR5」
 その、サイズは、(187,154,827,535)。
 その、リサイズは、オフ。
BW=母艦の、幅。BH=母艦の、高さ。
黒色で、画面クリア。

文字書体は、『MS ゴシック|太字』。
文字サイズ=10。

コマンドボタンを、ボタンとして、作成。
 その、サイズは、(0,0,100,24)
 その、テキストは、「コマンド」。
 その、イベントは、コマンド。

持ち物ボタンを、ボタンとして、作成。
 その、サイズは、(100,0,200,24)
 その、テキストは、「持ち物」。
 その、イベントは、持ち物使用。


イメージ効果を、イメージとして、作成。
 その、可視は、オフ。
 その、サイズは、(0,0,827,535)。
 その、透過処理は、オフ。

もし、DSW=オンなら、(コンボ0を、コンボとして、作成。
 その、サイズは、(205,2,640,24)
 その、編集は、オフ。
 ジャンプを、ボタンとして、作成。
 その、サイズは、(540,24,640,48)
 その、イベントは、(場面=コンボ0。もし、場面<>「」なら、メインを、呼ぶ。)
)

文字サイズ=12。

ラベル0を、ラベルとして、作成。
 その、可視は、オフ。
 その、サイズは、(0,0,0,0)
 その、テキストは、「あ」
 FW=ラベル0の、幅。'フォントの幅を取得

'初期場面
持ち物=「」'アイテム
背景色=RGB(255,255,255)。
場面=「始まり」。
ラベル0=「始まり」。
場面ログ配列=「{場面}\n」。
母艦浮上。

メインへ、飛ぶ。

*母艦クリック
 MSGSPD=0
再お話へ、飛ぶ。


*メイン
 「{場面}」を、ひまわりする。
待機。

*コマンド
 'コマンドを表示し、現在の場面を記録
 '戻るボタンの表示
 場面リストの中で、「←戻る」が、何文字目。
 もし、それ=0なら、(場面ログ配列の、要素数。
  もし、それ>1なら、場面リスト=「{場面リスト}\n←戻る」。
)。
 文字色=青色。
 場面メッセージを、場面リストの、ボタンで選択。
 もし、それ=「」なら、戻る。'コマンドへ、飛ぶ。

 '戻る場合のみ
 もし、それ=「←戻る」なら、(
  場面ログ配列の、要素数。
  場面ログ配列の、(それ-1)行目を、行削除。
  場面ログ配列=それ。
  場面ログ配列の、要素数。
  場面=場面ログ配列#(それ-1)。
  もし、DSW=オンなら、コンボ0の、アイテムを、場面ログ配列に、設定。
  メインへ、飛ぶ。)

 もし、場面=「」なら、場面=それ。
   違えば、場面=場面&「_{それ}」。

 場面ログ配列=「{場面ログ配列}{場面}\n」。
もし、DSW=オンなら、(コンボ0の、アイテムを、場面ログ配列に、設定。
   ラベル0の、テキストは、場面。)。
メインへ、飛ぶ。

*持ち物使用
 文字色=青色。
 「使う持ち物を選択してください」を、持ち物の、リストから選択。
 アイテム=それ。
戻る。

*持ち物追加
'重複したアイテムを追加しない処理
 持ち物を、反復(もし、それ=追加アイテムなら、戻る。)。
 もし、持ち物=「」なら、持ち物=追加アイテム。
  違えば、持ち物=持ち物&「\n{追加アイテム}」。
 「{追加アイテム}を手に入れました。」と、言う。
戻る。


*お話
 コマンドボタンの、有効は、オフ。
 持ち物ボタンの、有効は、オフ。
 もし、DSW=オフなら、0.5で、画面フェードアウト。
 内容=「{内容}▼」。
内容の、文字数。長さ=それ+1。x=FW。y=40。
 '標準の設定
 MSGSPD=0.05'デフォルトメッセージ速度
 F文字色=RGB(0,0,255)。'背景色=RGB(255,255,255)。初期化しない

 'もし、DSW=オフなら、0.5で、画面フェードイン。
 '違えば、白色で、画面クリア。
 背景色で、画面クリア。

 i=-1'
 母艦クリックの、イベントを、母艦クリックに、設定。
 長さ回(
'母艦クリックの戻り先
*再お話
 i=i+1。
内容の中で、iから、1つ、MID。MSG=それ。
  もし、MSG=「@」なら、マクロを、呼ぶ。
  '影文字
  '背景色と、RGB(255,255,255)の、XOR。
  'もし、(背景色>RGB(0,128,255))なら、文字色=RGB(64,64,64)。
  '  違えば、文字色=RGB(192,192,192)。

  もし、MSG>CHR(31)なら、(
   文字色=RGB(224,224,224)。(x-1,y-1)へ、移動。MSGを、表示。'3D
   文字色=RGB(32,32,32)。(x+1,y+1)へ、移動。MSGを、表示。
   文字色=F文字色。
   (x,y)へ、移動。MSGを、表示。
  )。

  もし、MSG<>「」なら、x=x+FW。'次の位置へ
  '改行
  もし、MSG=CHR(13)なら、(x=0。y=y+24。)
  もし、MSG=「▼」なら、抜ける。
  もし、DSW=オフなら、((MSGSPD)秒、待つ)
)
 母艦クリックの、イベントを、「」に、設定。
 コマンドボタンの、有効は、オン。
 持ち物ボタンの、有効は、オン。

戻る


*マクロ
 内容の中で、(i+1)から、2つ、MID。CMD=それ。
 内容の中で、(i+3)から、2つ、MID。PRM=それ。
 i=i+4。MSG=「」
 '内容の中で、(i)から、1つ、MID。MSG=それ。'マクロを飛ばし、次の文字。
 CMDで、条件分岐。
  「速度」の時(MSGSPD=PRM*0.01。)'メッセージスピード 00〜99(00でノーウェイト)
  「文字」の時(色取得マクロを、呼ぶ。F文字色=色。)
  「壁色」の時(色取得マクロを、呼ぶ。背景色=色。背景色で、画面クリア)'背景色
  「効果」の時(視覚効果マクロを、呼ぶ。)'視覚効果
  「背景」の時(背景マクロを、呼ぶ。)
戻る

*視覚効果マクロ
 PRMで、条件分岐。
  '地震
  「地震」の時(WX=(母艦の、X)。WY=(母艦の、Y)。
   20回(0.1秒、待つ。母艦の、Xは、WX+INT(RND*50)。母艦の、Yは、WY+INT(RND*50)。)
   母艦の、Xは、WX。母艦の、Yは、WY)

  '振動
  「振動」の時(WY=(母艦の、Y)。
  3回(iY=50。
   5回(iY=iY-10。
     0.1秒、待つ。母艦の、Yは、WY+iY。
     0.1秒、待つ。母艦の、Yは、WY-iY。)
     )母艦の、Yは、WY
    )

  '落下
  「落下」の時(WY=(母艦の、Y)。iY=WY。
  Step=INT((デスクトップの高さ-WY)/10)
  10回(iY=iY+(回数*20)。
     0.05秒、待つ。母艦の、Yは、iY。
     )1秒、待つ。母艦の、Yは、WY)

  '雷
  「落雷」の時(イメージ効果の、可視は、オン。ペン太さ=1。
   3回(0.08秒、待つ。塗り色=黄色。イメージ効果の、(0,0)から、(827,535)へ、四角形描画。描画処理反映。
     0.08秒、待つ。塗り色=黒色。イメージ効果の、(0,0)から、(827,535)へ、四角形描画。描画処理反映。)
   イメージ効果の、可視は、オフ。)

  '毒
  「猛毒」の時(イメージ効果の、可視は、オン。ペン太さ=1。
   3回(0.08秒、待つ。塗り色=赤色。イメージ効果の、(0,0)から、(827,535)へ、四角形描画。描画処理反映。
     0.08秒、待つ。塗り色=黒色。イメージ効果の、(0,0)から、(827,535)へ、四角形描画。描画処理反映。)
   イメージ効果の、可視は、オフ。)

  '切る
  「切る」の時(イメージ効果の、可視は、オン。塗り色=黒色。ペン色=黄色。ペン太さ=1。
   イメージ効果の、(0,0)から、(827,535)へ、四角形描画。描画処理反映。ペン太さ=10。
   0.2秒、待つ。イメージ効果の、(600,50)から、(100,350)へ、線描画。描画処理反映。
   0.2秒、待つ。イメージ効果の、(250,150)から、(450,300)へ、線描画。描画処理反映。
   0.5秒、待つ。イメージ効果の、可視は、オフ。)

  '反転
  「反転」の時(母艦を、ネガポジ反転。描画処理反映。)。

戻る

*色取得マクロ
 PRMで、条件分岐。
  「明赤」の時(色=RGB(255,32,32))
  「明緑」の時(色=RGB(32,255,32))
  「明青」の時(色=RGB(32,32,255))
  「暗赤」の時(色=RGB(96,0,0))
  「暗緑」の時(色=RGB(0,96,0))
  「暗青」の時(色=RGB(0,0,96))

  「黒色」の時(色=RGB(0,0,0))
  「白色」の時(色=RGB(255,255,255))

  「黄色」の時(色=RGB(255,255,0))
  「紫色」の時(色=RGB(255,0,255))
  「灰色」の時(色=RGB(128,128,128))
  「水色」の時(色=RGB(0,255,255))
  「茶色」の時(色=RGB(128,0,0))
  「肌色」の時(色=RGB(255,192,128))
  「オ色」の時(色=RGB(255,128,0))
戻る

*背景マクロ
ペン太さ=1。
 PRMで、条件分岐。
  「洞窟」の時((RGB(128,0,0))で、画面クリア。
   128回(ペン色=RGB((128-回数),0,0)。塗り色=ペン色。'描画処理反映。
   x1=(BW*0.5)-(255-回数)。x2=(BW*0.5)+(255-回数)。
   y1=(BH*0.5)-(255-回数)。y2=(BH*0.5)+(255-回数)。
   (x1,y1+50)から、(x2,y2+50)へ、円形。))。

  「あめ」の時((RGB(192,192,192))で、画面クリア。
   60回(C=INT(RND*100)+128
    wx=INT(RND*BW)。wy=INT(RND*BH)。ペン色=RGB(C,C,C+27)
    (wx,wy)へ、移動。(wx-40,wy+120)へ、線。)。)。

  「はる」の時((RGB(255,192,255))で、画面クリア。
   60回(C=INT(RND*100)+155
    wx=INT(RND*BW)。wy=INT(RND*BH)。ペン色=RGB(255,C,255)。塗り色=RGB(255,C-10,255)
    (wx,wy)から、(wx+10,wy+10)へ、円形。
    (wx+5,wy-5)から、(wx+15,wy+5)へ、円形。
    (wx-5,wy+5)から、(wx+5,wy-5)へ、円形。)。)。

  「なつ」の時((RGB(192,255,255))で、画面クリア。
   塗り色=茶色。(BW-100,0)から、(BW-10,BH)へ、四角形。
   60回(C=INT(RND*100)+155
    wx=INT(RND*BW)。wy=INT(RND*BH)。ペン色=RGB(C,255,255)。塗り色=RGB(C-10,255,255)
    (wx-5,wy+5)から、(wx+5,wy-5)へ、円形。)。
   塗り色=RGB(64,0,0)。ペン色=黒色。
   (600,100)から、(610,110)へ、円形。'セミ
   (590,100)から、(600,110)へ、円形。
   (595,110)から、(605,135)へ、円形。塗り色=RGB(96,0,0)。
   (600,110)から、(610,130)へ、円形。
   (590,110)から、(600,130)へ、円形。)。

  「あき」の時((RGB(255,255,168))で、画面クリア。
   60回(C=INT(RND*100)+155
    wx=INT(RND*BW)。wy=INT(RND*BH)。ペン色=RGB(255,255,C)。塗り色=RGB(255,C-10,255)
    (wx,wy)から、(wx+10,wy+10)へ、円形。
    (wx+5,wy+5)から、(wx+15,wy+5)へ、円形。
    (wx+10,wy+10)から、(wx+20,wy+20)へ、円形。)。
   塗り色=赤色。ペン色=茶色。
   (400,100)から、(410,110)へ、円形。'トンボ
   (400,110)から、(410,120)へ、円形。
   (410,107)から、(450,113)へ、円形。
   (410,110)から、(417,80)へ、円形。
   (417,110)から、(424,80)へ、円形。
   (410,110)から、(417,140)へ、円形。
   (417,110)から、(424,140)へ、円形。)。

  「ふゆ」の時((RGB(224,224,224))で、画面クリア。
   60回(C=INT(RND*50)+205
    wx=INT(RND*BW)。wy=INT(RND*BH)。ペン色=RGB(C-10,C-10,C-10)。塗り色=RGB(C,C,C)
    (wx,wy)から、(wx+10,wy+10)へ、円形。ペン色=RGB(C-15,C-15,C-15)。塗り色=RGB(C-10,C-10,C-10)
    (wx+5,wy-5)から、(wx+15,wy-15)へ、円形。ペン色=RGB(C-20,C-20,C-20)。塗り色=RGB(C,C,C)
    (wx+10,wy-10)から、(wx+20,wy-20)へ、円形。)。
   塗り色=白色。ペン色=灰色。
   (480,190)から、(570,280)へ、円形。
   (500,150)から、(550,200)へ、円形。塗り色=RGB(128,128,128)。ペン色=RGB(96,96,96)
   (510,170)から、(520,180)へ、円形。
   (530,170)から、(540,180)へ、円形。
   (520,185)から、(530,190)へ、四角形。)。

  「やま」の時((RGB(224,224,224))で、画面クリア。
  塗り色=RGB(224,255,224)。ペン色=RGB(255,255,255)。
  (0,300)から、(BW,BH)へ、四角形。
  ペン色=RGB(192,192,192)。
  10回(wx=INT(RND*(BW))。wy=INT(RND*(100))+200。
   100回(z=INT(RND*5)+1。wy=wy+1。
    (wx-回数-z,wy)へ、移動。(wx+回数+z,wy)へ、線。)。)。
   )。

  「森林」の時((RGB(224,224,224))で、画面クリア。
  塗り色=RGB(128,128,0)。ペン色=RGB(255,255,255)。
  (0,300)から、(BW,BH)へ、四角形。
  ペン色=RGB(0,128,0)。
  10回(wx=INT(RND*(BW))。wy=INT(RND*(100))+200。
   100回(z=INT(RND*回数*0.5)。wy=wy+1。
    (wx-z,wy)へ、移動。(wx+z,wy)へ、線。)。)。
   )。

  「草原」の時((RGB(224,224,255))で、画面クリア。
  塗り色=RGB(0,128,0)。ペン色=RGB(255,255,255)。
  (0,300)から、(BW,BH)へ、四角形。
  ペン色=RGB(0,128,0)。ペン太さ=3。
  300回(wx=INT(RND*(BW))。wy=INT(RND*(20))+290。C=INT(RND*100)+100。
   z=INT(RND*50)。v=INT(RND*16)-8。ペン色=RGB(0,C,0)。
    (wx,wy)へ、移動。(wx+v,wy-z)へ、線。)。
   )。

  「月夜」の時((RGB(0,0,64))で、画面クリア。
   50回(ペン色=RGB((RND*255),(RND*255),(RND*255))
    wx=INT(RND*640)。wy=INT(RND*250)。
    (wx,wy)へ、移動。(wx,wy+5)へ、線。
    (wx-2,wy+2)へ、移動。(wx+3,wy+2)へ、線。) 。
   ペン色=黒色。塗り色=黄色。(560,50)から、(610,100)へ、円形。)。

  「集中」の時(白色で、画面クリア。RAD=3.1415。ペン太さ=3
   120回(ペン色=RGB((RND*50)+200,128,(RND*50)+200)。
 wx1=(BW*0.5)+INT(SIN(回数*RAD*640)*50)
 wy1=(BH*0.5)+INT(COS(回数*RAD*640)*50)
 wx2=(BW*0.5)+INT(SIN(回数*RAD*640)*1000)
 wy2=(BH*0.5)+INT(COS(回数*RAD*640)*1000)
    (wx1,wy1)へ、移動。(wx2,wy2)へ、線。) 。)。


  「牢屋」の時((黒色)で、画面クリア。wx=0。
   8回(C=200。wx=wx+80。
    20回(ペン色=RGB(C,C,C)。C=C-10。
    (wx+回数,0)へ、移動。(wx+回数,BH)へ、線。)。)。)。



戻る

'=============ここから物語データです========================


*始まり
'画面の文字数制限□30文字x10行まで□□□□□□□□□□□□□■

 内容=「トップページです。
今回のサンプルは、新たに追加した<背景画像マクロ>について
その効果を確認するために作成されています。

@文字明赤ご注意:このシステムの<戻る>は、選択したストーリー
を戻るためで、メニューを戻るのではありません。」。

 '次の場面
 場面メッセージ=「効果を選択してください?」。
 場面=「」。'最初の階層を指定するには、空白にしてリストで指定。
 場面リスト=「視覚効果\n背景表示」。
 お話を、呼ぶ。
待機。


*視覚効果
'画面の文字数制限□30文字x10行まで□□□□□□□□□□□□□■
内容=「@壁色白色 今回の<目玉>です。
グラフィックが簡単に用意できない分。視覚効果を作ってみました。
コマンドボタンで、効果を確かめてください。」

 '次の場面
 場面メッセージ=「効果を選択してください」。
 場面=「視覚効果」。'最初の階層を指定するには、空白にしてリストで指定。
 場面リスト=「\n地震\n振動\n落下\n雷\n毒\n切る\n反転」。
 お話を、呼ぶ。
待機。

*視覚効果_地震
'画面の文字数制限□30文字x10行まで□□□□□□□□□□□□□■
内容=「@壁色白色 な・・・、なにか揺れて@効果地震 地震だぁ〜!!!」

 '次の場面
 場面メッセージ=「戻ります」。
 場面リスト=「」
 お話を、呼ぶ。
待機。

*視覚効果_振動
'画面の文字数制限□30文字x10行まで□□□□□□□□□□□□□■
内容=「@壁色白色 な、なにか近づいて@効果振動 ゴヂラだぁ〜!!!」

 '次の場面
 場面メッセージ=「戻ります」。
 場面リスト=「」
 お話を、呼ぶ。
待機。

*視覚効果_落下
'画面の文字数制限□30文字x10行まで□□□□□□□□□□□□□■
内容=「@壁色白色 しまったっ!!!、@効果落下 落とし穴のトラップ!?

 ちょっとドッキリ(^^;」

 '次の場面
 場面メッセージ=「戻ります」。
 場面リスト=「」
 お話を、呼ぶ。
待機。

*視覚効果_雷
'画面の文字数制限□30文字x10行まで□□□□□□□□□□□□□■
内容=「@壁色白色 夕立だっ!!!、@効果落雷 近くに雷が落ちた!?」

 '次の場面
 場面メッセージ=「戻ります」。
 場面リスト=「」
 お話を、呼ぶ。
待機。

*視覚効果_毒
'画面の文字数制限□30文字x10行まで□□□□□□□□□□□□□■
内容=「@壁色白色 うわっ!!!、@効果猛毒 ダメージを受けた!?」

 '次の場面
 場面メッセージ=「戻ります」。
 場面リスト=「」
 お話を、呼ぶ。
待機。
*視覚効果_切る
'画面の文字数制限□30文字x10行まで□□□□□□□□□□□□□■
内容=「@壁色白色 くらえっ!!!、@効果切る 敵を切り裂いた!!!」

 '次の場面
 場面メッセージ=「戻ります」。
 場面リスト=「」
 お話を、呼ぶ。
待機。

*視覚効果_反転
'画面の文字数制限□30文字x10行まで□□□□□□□□□□□□□■
内容=「@壁色白色 !、@効果反転 電気が切れた!!!」

 '次の場面
 場面メッセージ=「戻ります」。
 場面リスト=「」
 お話を、呼ぶ。
待機。

*背景表示
'画面の文字数制限□30文字x10行まで□□□□□□□□□□□□□■
内容=「@壁色白色 今回の<目玉> プログラムで簡易の背景を作ります。
背景色と同時には使えません。背景を選択してください。」

 '次の場面
 場面メッセージ=「背景を選択してください?」。
 場面=「背景表示」。'最初の階層を指定するには、空白にしてリストで指定。
 場面リスト=「洞窟\nあめ\nはる\nなつ\nあき\nふゆ\nやま\n森林\n草原\n月夜\n集中\n牢屋」
 お話を、呼ぶ。
待機。

*背景表示_洞窟
内容=「@壁色暗赤 @文字白色 @背景洞窟 こっ! ここは? 洞窟?」

 '次の場面
 場面メッセージ=「戻ってください」。
 場面リスト=「」
 お話を、呼ぶ。
待機。
*背景表示_あめ
内容=「@背景あめ 冷たい雨が・・・。」

 '次の場面
 場面メッセージ=「戻ってください」。
 場面リスト=「」
 お話を、呼ぶ。
待機。
*背景表示_はる
内容=「@背景はる もうすぐお花見・・・。」

 '次の場面
 場面メッセージ=「戻ってください」。
 場面リスト=「」
 お話を、呼ぶ。
待機。
*背景表示_なつ
内容=「@背景なつ セミ取りやったなぁ・・・。」

 '次の場面
 場面メッセージ=「戻ってください」。
 場面リスト=「」
 お話を、呼ぶ。
待機。
*背景表示_あき
内容=「@背景あき 赤とんぼ・・・。」

 '次の場面
 場面メッセージ=「戻ってください」。
 場面リスト=「」
 お話を、呼ぶ。
待機。
*背景表示_ふゆ
内容=「@背景ふゆ 雪だるま・・・。」

 '次の場面
 場面メッセージ=「戻ってください」。
 場面リスト=「」
 お話を、呼ぶ。
待機。
*背景表示_やま
内容=「@背景やま 田舎の山奥・・・。」

 '次の場面
 場面メッセージ=「戻ってください」。
 場面リスト=「」
 お話を、呼ぶ。
待機。
*背景表示_森林
内容=「@背景森林 ちょっと数が少ない・・・。」

 '次の場面
 場面メッセージ=「戻ってください」。
 場面リスト=「」
 お話を、呼ぶ。
待機。
*背景表示_草原
内容=「@背景草原 ただの道にも見える・・・。」

 '次の場面
 場面メッセージ=「戻ってください」。
 場面リスト=「」
 お話を、呼ぶ。
待機。
*背景表示_集中
内容=「@背景集中 集中線・・・。」

 '次の場面
 場面メッセージ=「戻ってください」。
 場面リスト=「」
 お話を、呼ぶ。
待機。
*背景表示_牢屋
内容=「@背景牢屋 ここを出られるの・・・。」

 '次の場面
 場面メッセージ=「戻ってください」。
 場面リスト=「」
 お話を、呼ぶ。
待機。

*背景表示_月夜
内容=「@背景月夜 @文字黄色 いい月夜だねぇ・・・。」

 '次の場面
 場面メッセージ=「戻ってください」。
 場面リスト=「」
 お話を、呼ぶ。
待機。



- Child Tree -