314研究室
2001年11月09日作成
最終更新日2001年11月14日
以下の説明ではクラスとオブジェクトという言葉を 使用しています。これを混同しないように気をつけて下さい。 オブジェクトは「物」を表わしクラスはその物のタイプを 表わす言葉です。
ですから、ある一つのオブジェクトに注目すると、それには オブジェクト名とクラス名の二つが付いていることになります。
「安達、金子、佐藤、菅原、中野渡、成田、松永、渡邊」が オブジェクト名で「314研究室ゼミメンバー」がクラス名 という感じです。
とりあえずvesma2.batをダブルクリックして起動します。
仮想環境が表示されている部分と、 メッセージが表示されるテキストエリアの間に、 コマンドを入力するテキストフィールドがあります。 そこにコマンドを入力して実行できます。
ためしに、「ls」と入力してエンターキーを押してみて下さい。 メッセージとして同じ部屋の中にあるオブジェクトの名前が表示されます。
VESMAを起動した後になにもしてなければ表示されるのは
transpoter client kenji
のような3つの名前だと思います。transpoterとclientはHiddenオブジェクトなので 画面上では見えませんが、システム内部の仕事をするオブジェクト です。とりあえず気にしなくていいです。kenjiがVESMAにログインした際に 入力した名前です。あなたのアバタを表わしています。
さらに「cat kenji」でkenjiオブジェクトの詳細な情報を表示できます。
cat kenji ac.hiu.j314.elmve.ElmAvatar(kenji):X=-5.0, Y=5.0, Z=0.0 status=RUNNING My parent is ac.hiu.j314.elmve.TopElm(root) //172.17.213.14/ElmVE
kenjiというオブジェクトがac.hiu.j314.elmve.ElmAvatarというクラスの オブジェクトでx,y,z座標が(-5.0,5.0,0.0)であることなどが表示されます。
「pwd」というコマンドを実行すると、自分が現在いる場所が表示されます。 例えば
//172.17.213.14/ElmVE
と表示されます。これは172.17.213.14というIPアドレスが割当てられている マシン上のElmVEという名前のサーバにアバタがいることを示しています。 後で見るように、仮想空間の奥深くに移動すると
//172.17.213.14/ElmVE/building8/room103
のようになっていきます。
VESMAを起動してなにもしてなければ、仮想環境内には自分しかいません。 なにかオブジェクトを作成してみましょう。
オブジェクトを作成するには、まず、どのタイプのオブジェクトを 作成するか指定する必要があります。このとき使用するコマンドは 「cct」です。引数には作成したいオブジェクトのクラス名を指定します。
cct ac.hiu.j314.vesma.Note
と指定すればVESMAのノートオブジェクトが指定されます。 ここで指定できるクラス名のリストをこの文章の一番下に付けておきます。
cctコマンドを実行しても、まだ何も作成されません。 touchコマンドを実行すると実際にオブジェクトが作成されます。
touch note01
上のコマンドを実行すると、自分の背後になにかが新しく作成されたのが わかる思います。note01というのがオブジェクトの名前になります。
重なっていてはわかりずらいので、オブジェクトの場所を移動してみましょう。
locate note01 5.0 5.0 0.0
5.0 5.0 5.0はx,y,zの座標です。適当に変更してみて下さい。
作成したオブジェクトを消去するには「rm」コマンドを使用します。
rm note01
上のコマンドを入力するとnote01オブジェクトが消去されます。
一応、コマンドを説明しましたが、「touch」「rm」「locate」のコマンド はマウス操作で代用できます。マウスの真中ボタン(真中ボタンが 無い場合はAltキー+左ボタン)で背景の部分をクリックすると「touch」、 オブジェクトをクリックすると「rm」の動作をします。 マウスの左ボタンで普通にドラッグすればオブジェクトの場所を 移動できます(「locate」コマンド)。
ELM,VESMAの仮想環境各オブジェクトは、特定のメッセージを受け取って そのメッセージの内容に従って動作します。コマンドラインからメッセージ を送る方法があります。
メッセージの送信を試すためにac.hiu.j314.vesma.Noteクラスのオブジェクトを もう一度作成してみて下さい。「cct」コマンドは一度指定すると、以後 有効なので省略できます。
touch note02 5.0 5.0 0.0
「touch」コマンドの引数として上のようにx,y,z座標を初めから指定する ことも可能です。
note02オブジェクトが作成できたら、次のコマンドラインを入力してみて下さい。
##note02 openCustomizer
最初にシャープ「#」が2個付いているのがみそです。これは、note02という名前の オブジェクトに対してopenCustomizerという名前のメッセージを送るという 意味です。コマンドを実行すると、カスタマイザが開きます。 VESMAのNoteクラスのオブジェクトのカスタマイザはWebブラウザになってます。 デフォルトでVESMAのオブジェクトのページが開かれたと思います。 確認したら[done]ボタンでWebブラウザを閉じて下さい。
こんどは以下のコマンドを入力してnote02オブジェクトに setSourceURLという名前のメッセージを 'http://www.do-johodai.ac.jp/'という引数付きで送ります。
##note02 setSourceURL 'http://www.do-johodai.ac.jp/' &
なにも変化しませんが、もう一度カスタマイザを開くと北海道 情報大学のページに変っているのが確認できます。
実は「openCustomizer」コマンドの実行もマウス操作で代用できます。 カスタマイザを開きたいオブジェクトのアイコンをダブルクリック して下さい。
ELM,VESMAの仮想環境は階層構造になっています。 Windowsなどのファイルシステムのような感じです。 Windowsでは「フォルダ」というものがあって、その中に 他のファイルを保存できますが、VESMAではac.hiu.j314.vesma.Room クラスのオブジェクトの中に、他のオブジェクトを投入できます。
とりあえずac.hiu.j314.vesma.Roomのオブジェクトを作ってみて下さい。
cct ac.hiu.j314.vesma.Room touch room01
ちっちゃな小屋のようなアイコンのオブジェクトが作成されたと思います。 このちっちゃな小屋の中には、また別の仮想空間が存在しています。 この小屋に入ってみましょう。
cd room01
背景が変化してroom01の小屋が消えたと思います。つまりroom01の中の 別の仮想空間に入ったということです。ここでもう一度、部屋を作ります。
touch room02
また、小屋が作られます。さらに、この部屋に入てみます。
cd room02
新しい仮想空間に入ったことが別ります。ここで自分の場所を 表示するコマンド「pwd」を入力してみて下さい。
pwd //172.17.213.14/ElmVE/room01/room02
と表示されます。現在の仮想空間から外に出るには次のように入力します。
cd ..
MS-DOSのコマンドでフォルダを移動する場合と同じです。ここで「pwd」を 実行すれば以下のようになるでしょう。
pwd //172.17.213.14/ElmVE/room01
この「cd」コマンドを入力するかわりに、キーボードのカーソルキーで アバタを移動して小屋に体当りさせてみて下さい。自動的に小屋の中に 入ります。
ここまでは、自分の目の前にあるパソコンの内部だけの話でしたが、 ELM,VESMAはインターネットを利用して他のサーバマシンの中の仮想空間 をのぞくことができます。以下のコマンドを入力して下さい。
go '//v314.do-johodai.ac.jp/ElmVE'
314研究室の中に置いてあるVAIOのマシンのElmVEと名前が付いているサーバに に存在している仮想空間に移動できます。複数の人が、同じ仮想空間に入れば 互いに他のアバタが確認できます。また、次のコマンドで、会話もできます。 (VESMAを使っている場合。ELMでは会話はできません。)
whisperTo ユーザ名 '会話内容'
自分のVESMAの仮想空間に戻るには「goHome」コマンドを使用して下さい。
ac.hiu.j314.vesma.Room ac.hiu.j314.vesma.Link ac.hiu.j314.vesma.Exit ac.hiu.j314.vesma.Note ac.hiu.j314.vesma.Creature ac.hiu.j314.vesma.Examination ac.hiu.j314.vesma.VApplet ac.hiu.j314.vesma.Media ac.hiu.j314.vesma.Music ac.hiu.j314.vesma.Scenshifter ac.hiu.j314.vesma.WhiteBoard ac.hiu.j314.vesma.Counter