2017-01-28 1 views
0

C#noobのビット。
Websocket CSharpライブラリ http://sta.github.io/websocket-sharp/ を使用してUnityでソケットサーバーを作成しようとしています。
私は次のものをMonobehaviourに変換するにはどうすれば簡単にゲームオブジェクトに接続して実行できますか?
私はMonobehaviourを拡張していますし、それが入れ子になったクラスに来るとき、私は名前空間が、私は私の中に入れてしまうでしょう以下ではどのようなコード、アウェイクスタート更新方法を扱うが、少しファジーています明らかに知っていますメソッドを開始し、すべてを1つの.csファイルに保存するか、クラスごとに1つのファイルを分割する必要があるかどうかを確認します。Unity MonoBehaviourにC#Websocketの例を変換します。

using System; 
using WebSocketSharp; 
using WebSocketSharp.Server; 

namespace Example 
{ 
public class Laputa : WebSocketBehavior 
{ 
protected override void OnMessage (MessageEventArgs e) 
{ 
var msg = e.Data == "BALUS" 
? "I've been balused already..." 
: "I'm not available now."; 

Send (msg); 
} 
} 

public class Program 
{ 
public static void Main (string[] args) 
{ 
var wssv = new WebSocketServer ("ws://dragonsnest.far"); 
wssv.AddWebSocketService<Laputa> ("/Laputa"); 
wssv.Start(); 
Console.ReadKey (true); 
wssv.Stop(); 
} 
} 
} 
+0

ここに、Unity/C#https://github.com/pudility/unityWSでwesocketsを使用する方法のチュートリアルがあります – pudility

答えて

1

まず、MonoBehaviorの先頭にwssv変数をクラス変数として宣言します。

Start()内で初期化(wssvの構築、Start()の呼び出しによる)が行われます。

入力チェック(あなたのConsole.ReadKeyを置き換える)はUpdate()に入ります。 いつ(例えばエスケープ)キーが押されたのかを止めたいなら、Input.GetKeyDown()をチェックしてから、wssvオブジェクトのStopを呼び出したいでしょう。

一般に、Unity3dでは、短い場合でも別々のファイルに別々のクラスを保存します。ですから、私はLaputaクラスを独自のファイルに移動することをお勧めします(MonoBehaviorであってはなりません)。その後、MonoBehaviorファイルには変数宣言Start()とUpdate()があります。非常にきれいな。

関連する問題