bigbanner

Unity マルチプレイオンラインゲーム開発

Unityオンラインゲーム作成【Chapter8】チャットの導入

更新日:

今回はオンラインゲームの一番大事な要素とも言えるチャットを作成していきましょう。

チャットの導入手順

チャット機能自体はPhotonのスクリプトが用意されているので実はとても簡単に実装できます。

導入手順は以下の通りです。

  1. 空のGameObjectを作成し、ChatManagerと名付けます
  2. ChatManagerにInRoomChatスクリプトをアタッチする
    (InRoomChat.csはAsset/Photon Unity Networking/UtilityScriptsフォルダの中にあります)

以上の手順で以下の画像のようなとりあえず動くチャット機能が導入されます。

しかしこのままだと背景色によってはチャットの文字が非常に見づらいのでInRoomChatスクリプトを改変して、簡易なチャットUIを作成しましょう。

簡易チャットUIの実装

InRoomChatを以下のように書き換えましょう。

InRoomChat.csのソースコード

※InChatRoom.csでエラーが出ていたようなので訂正しました(2018/4/12)

 

書き換え後のChatUI構造

プログラムソースコードだけではどのようにUI構造を作成しているか分かりにくいかもしれないので以下の画像を使って少し説明します。

赤色で囲んだ部分がチャットUIウインドウの垂直コントロールグループになります。つまりUIの構造要素を順番に縦に並べるグループとなります。

青色で囲んだ部分がチャットログ表示するためのスクロールビューとフレキシブルスペースとなります。ここに受信したチャットの内容が流れます。

黄色で囲んだ部分が水平のコントロールグループでUIの構造要素を順番に横に並べます。ここでは入力フィールドと範囲・全体チャットのボタンを横に並べています。

照らし合わせながら、順番を変えて表示していただくと、より構造がわかると思いますのでやってみてください。

 

実際に動かしてみましょう

チャットのシステムがうまく機能していることがわかります。

ちなみに白い文字のチャットログが近くにいる人にしか受信されない範囲チャットで、赤文字は同じ部屋にいる全ての人に受信される全体チャットです。

次回予告!!

Chatのシステムは実装できました!!

次回はChatの発言者の頭上に発言内容を表示させるようにします!!

お楽しみに!!

 

rectangle_l

rectangle_l

-Unity, マルチプレイオンラインゲーム開発

Copyright© Uniblo-ゆにブロ- , 2018 All Rights Reserved.