ひよんとふがどんな風に動いているのかを簡単に説明しています。
ひよんとふには JavaScript ファイルが大きく分けて三種類使われています。
main/js/src/
以下に配置されたアプリケーションのために書かれた JavaScript ファイル- 設定ファイル
main/hiyontof.conf.js
main/js/lib/
以下に配置されたアプリケーションが利用しているライブラリ
ここではアプリケーションのために書かれた JavaScript ファイルと hiyontof.conf.js
について説明します。
ユーティリティファイルです。 最新の JavaScript ではより良い書き方が可能であり、不必要な場合もありますが、 一部のブラウザへの対応や当初書いた時の私の認識不足などによって使われているものがあります。
どどんとふにアクセスするためのファイルです。 このファイルに書かれているクラスと関数をつかってどどんとふの情報を取得したり、どどんとふに情報を送ったりしています。
ログイン時に表示されるサーバ一覧を扱うためのファイルです。 設定ファイルで用意されたサーバ及び、ユーザが各々入力したサーバを管理します。 ユーザが一度入力し、利用したどどんとふサーバはブラウザのローカルストレージに格納され、 次回以降のアクセスでは一覧に表示されるようになります。
アプリケーションのエントリーポイントとなるファイルです。
必要な情報がすべて入力されているかを確認し、
入力されていれば tofApp.js
の内容を実行、
入力されていなければユーザに入力を促す画面を表示します。
どどんとふを利用するための各クラスを起動するためのファイルです。ここから各機能が呼び出されます。
tofClient.js
内に書かれたどどんとふの各部屋へアクセスするためのクラスを各機能に挿入しています。
どどんとふのチャットにアクセスするためのファイルです。 以下に分かれています。
com.hiyoko.tofclient.Chat
:tofChat
に含まれるクラス全体を管理するクラスですcom.hiyoko.tofclient.Chat.Display
: どどんとふのログを表示するためのクラスですcom.hiyoko.tofclient.Chat.Status
: どどんとふとの通信状況を表示するためのクラスですcom.hiyoko.tofclient.Chat.InputArea
: 送信するチャットメッセージを受け付けるためのクラスですcom.hiyoko.tofclient.Chat.InputArea.Input
: 標準的なチャットメッセージを送るためのクラスですcom.hiyoko.tofclient.Chat.InputArea.History
: 過去の入力履歴を利用してチャットメッセージを送るためのクラスですcom.hiyoko.tofclient.Chat.InputArea.Secret
: 非公開発言を行うためのクラスです
com.hiyoko.tofclient.Chat.SubMenu
: 画面左上に表示されるサブメニューを扱うクラスです
原則として、 InputArea
以下のクラスや SubMenu
からイベントを受け取り、
Chat
がそれに応じた動きを行う、という動作を行います。
どどんとふの Map を扱うクラスです。
jquery.pep.js
を使い、コマの移動をサポートしています。
キャラクターを動かすとキャラクターから移動イベントが発され、
com.hiyoko.tofclient.Map
がそれをキャッチしてどどんとふに反映する、という方法でコマの配置を扱っています。
どどんとふのイニシアティブ表を扱うクラスです。 同表の参照のみならず、更新もできるようになっています。
また、キャラクターの追加もここで行っています。
共有メモの表示と更新を行うためのクラスです。
各メモがイベントを発し、com.hiyoko.tofclient.Memo
がどどんとふへの反映を行っています。
メモは二種類のクラスで表現されており、 1.48.15 未満のメモを表現する com.hiyoko.tofclient.Memo.SimpleMemo
と
それ以降を表現する com.hiyoko.tofclient.Memo.TabedMemo
があります。
先述の通り、 main/hiyontof.conf.js
が設定ファイルです。
現在存在する設定項目は以下のものです。
ひよんとふを開いたとき、レコメンドされるどどんとふサーバの一覧です。 URL を KEY とし、サーバ名を VALUE とする json の形式になっています。
ここによく使われるサーバを登録しておけば、入力の手間が省け楽になるかもしれません。
com.hiyoko.tofclient.ServerList.SERVER_LIST
に登録されているサーバ以外への
アクセスを認めるか認めないかを設定します。
false
であれば、登録されているサーバ以外にもアクセスできるようになります。
true
にしておけば、登録されているサーバ以外にはアクセスできなくなります。
自鯖用のひよんとふとして設置したいのであれば、 true
にした上で
com.hiyoko.tofclient.ServerList.SERVER_LIST
に自鯖だけを登録しておけばよいでしょう。
com.hiyoko.tofclient.App.MIN_UPDATE_INTERVAL
は自動更新の最小間隔を設定します。
初期値は10です。初期値の場合、ユーザは望んでも自動更新間隔を10秒より短くすることはできません。
この値を小さくすることでより頻繁な自動更新をユーザに認めることになります。 しかし、その分端末は頻繁に通信を行い、どどんとふは頻繁にリクエストを処理することになります。 あまりに小さな値にすることは勧められません。
ひよんとふは URL の Query 部分を利用してユーザの入力した設定項目を読み取っています。
逆に言えば、正しく設定された URL を共有すれば、他人にひよんとふを即座に使わせることも可能です。
設定項目を一つ一つ確認していきましょう。
どどんとふの URL です。例えば https://www.taruki.com/DodontoF_srv1/DodontoF.swf
です。
ある程度入力に対して柔軟に対応できるようにしてはいますが、限界があるので DodontoF.swf
で終わるものを利用することをお勧めします。
どどんとふの部屋番号です。
どどんとふの部屋に入るためのパスワードです。
チャット及びイニシアティブ表の更新頻度をミリ秒で記述します。 10,000 (=10秒) 以上でなければ無効となります。
タイムスタンプをチャットに表示するか否かを設定します。
ひよんとふの URL に room
を指定せず、 url
だけを指定してひよんとふにアクセスした場合、
最初からどどんとふの URL 欄に指定した URL が記述された状態でひよんとふの入室画面が表示されます。
例えば、ひよんとふの設置アドレスが
http://shunshun94.web.fc2.com/tofChatProto.html
であれば
http://shunshun94.web.fc2.com/tofChatProto.html?url=https://www.taruki.com/DodontoF_srv1/DodontoF.swf
へユーザを誘導してみてください。
自鯖用としてユーザに使わせたい時には便利です。
見学可能な部屋に入室する場合、 パスワードが要求されていたとしてもひよんとふで入室できます。
その場合、一見、任意のチャットタブで発言が可能に見えますが、 実際には見学タブにしか発言できないようになっています。
このあたりの機能は近日中に修正し、わかりやすくすることを考えています。
どどんとふサーバの1つとして知られている どどんとふむせる ですが、 ひよんとふではアクセスできません。
ひよんとふはどどんとふが持つ機能の1つである WEBIF を利用して作られています。 しかし、どどんとふむせるは WEBIF が使えないように設定されているためです。
また、他にも WEBIF が使えないどどんとふがあれば、そのどどんとふにもひよんとふでは接続ができません。