Skip to content
This repository has been archived by the owner on Oct 16, 2022. It is now read-only.

Latest commit

 

History

History
179 lines (111 loc) · 9.06 KB

HOW_HIYONTOF_WORKS.md

File metadata and controls

179 lines (111 loc) · 9.06 KB

ひよんとふがどんな風に動いているのか

ひよんとふがどんな風に動いているのかを簡単に説明しています。

.js ファイルの一覧と解説

ひよんとふには JavaScript ファイルが大きく分けて三種類使われています。

  • main/js/src/ 以下に配置されたアプリケーションのために書かれた JavaScript ファイル
  • 設定ファイル main/hiyontof.conf.js
  • main/js/lib/ 以下に配置されたアプリケーションが利用しているライブラリ

ここではアプリケーションのために書かれた JavaScript ファイルと hiyontof.conf.js について説明します。

hiyokoUtilV1.js

ユーティリティファイルです。 最新の JavaScript ではより良い書き方が可能であり、不必要な場合もありますが、 一部のブラウザへの対応や当初書いた時の私の認識不足などによって使われているものがあります。

tofClient.js

どどんとふにアクセスするためのファイルです。 このファイルに書かれているクラスと関数をつかってどどんとふの情報を取得したり、どどんとふに情報を送ったりしています。

tofServerList.js

ログイン時に表示されるサーバ一覧を扱うためのファイルです。 設定ファイルで用意されたサーバ及び、ユーザが各々入力したサーバを管理します。 ユーザが一度入力し、利用したどどんとふサーバはブラウザのローカルストレージに格納され、 次回以降のアクセスでは一覧に表示されるようになります。

tofInit.js

アプリケーションのエントリーポイントとなるファイルです。 必要な情報がすべて入力されているかを確認し、 入力されていれば tofApp.js の内容を実行、 入力されていなければユーザに入力を促す画面を表示します。

tofApp.js

どどんとふを利用するための各クラスを起動するためのファイルです。ここから各機能が呼び出されます。 tofClient.js 内に書かれたどどんとふの各部屋へアクセスするためのクラスを各機能に挿入しています。

tofChat.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 がそれに応じた動きを行う、という動作を行います。

tofMap.js

どどんとふの Map を扱うクラスです。 jquery.pep.js を使い、コマの移動をサポートしています。

キャラクターを動かすとキャラクターから移動イベントが発され、 com.hiyoko.tofclient.Map がそれをキャッチしてどどんとふに反映する、という方法でコマの配置を扱っています。

tofTable.js

どどんとふのイニシアティブ表を扱うクラスです。 同表の参照のみならず、更新もできるようになっています。

また、キャラクターの追加もここで行っています。

tofMemo.js

共有メモの表示と更新を行うためのクラスです。 各メモがイベントを発し、com.hiyoko.tofclient.Memo がどどんとふへの反映を行っています。

メモは二種類のクラスで表現されており、 1.48.15 未満のメモを表現する com.hiyoko.tofclient.Memo.SimpleMemo と それ以降を表現する com.hiyoko.tofclient.Memo.TabedMemo があります。

設定ファイル

先述の通り、 main/hiyontof.conf.js が設定ファイルです。 現在存在する設定項目は以下のものです。

com.hiyoko.tofclient.ServerList.SERVER_LIST

ひよんとふを開いたとき、レコメンドされるどどんとふサーバの一覧です。 URL を KEY とし、サーバ名を VALUE とする json の形式になっています。

ここによく使われるサーバを登録しておけば、入力の手間が省け楽になるかもしれません。

com.hiyoko.tofclient.ServerList.RESTRICTION

com.hiyoko.tofclient.ServerList.SERVER_LIST に登録されているサーバ以外への アクセスを認めるか認めないかを設定します。 false であれば、登録されているサーバ以外にもアクセスできるようになります。 true にしておけば、登録されているサーバ以外にはアクセスできなくなります。

自鯖用のひよんとふとして設置したいのであれば、 true にした上で com.hiyoko.tofclient.ServerList.SERVER_LIST に自鯖だけを登録しておけばよいでしょう。

com.hiyoko.tofclient.App.MIN_UPDATE_INTERVAL

com.hiyoko.tofclient.App.MIN_UPDATE_INTERVAL は自動更新の最小間隔を設定します。 初期値は10です。初期値の場合、ユーザは望んでも自動更新間隔を10秒より短くすることはできません。

この値を小さくすることでより頻繁な自動更新をユーザに認めることになります。 しかし、その分端末は頻繁に通信を行い、どどんとふは頻繁にリクエストを処理することになります。 あまりに小さな値にすることは勧められません。

ひよんとふの URL

ひよんとふは URL の Query 部分を利用してユーザの入力した設定項目を読み取っています。

逆に言えば、正しく設定された URL を共有すれば、他人にひよんとふを即座に使わせることも可能です。

設定項目を一つ一つ確認していきましょう。

url (必須)

どどんとふの URL です。例えば https://www.taruki.com/DodontoF_srv1/DodontoF.swf です。 ある程度入力に対して柔軟に対応できるようにしてはいますが、限界があるので DodontoF.swf で終わるものを利用することをお勧めします。

room (必須)

どどんとふの部屋番号です。

pass

どどんとふの部屋に入るためのパスワードです。

reload

チャット及びイニシアティブ表の更新頻度をミリ秒で記述します。 10,000 (=10秒) 以上でなければ無効となります。

time

タイムスタンプをチャットに表示するか否かを設定します。

その他の使い方

どどんとふを指定して入室画面を表示

ひよんとふの 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 が使えないどどんとふがあれば、そのどどんとふにもひよんとふでは接続ができません。