1つのシーンと同じ動きを複数のシーンで管理する場合に
NetworkViewを使うのが便利です。
やりたいことは
カメラを上下に動かしてカメラの動きを複数のシーンへ連携させる。
http://youtu.be/beyzL0q8C8c
※大和ちゃんを提供してくれたのは、pixiv絵師の澪りりさん。
かわいい絵をありがとう!
http://www.pixiv.net/member.php?id=5061172
NetworkViewは、以下のようにComponentから追加できます。
動きを連携させたいオブジェクトに追加しましょう。
次に、ローカルIP(127.0.01)指定で接続する為にスクリプトを
ちょこっと書きます。
using UnityEngine;
using System.Collections;
public class NetworkMenu : MonoBehaviour
{
public string connectionIP = "127.0.0.1";
public int portNumber = 8632;
private bool connected = false;
private void OnConnectedToServer()
{
connected = true;
}
private void OnServerInitialized()
{
connected = true;
}
private void OnDisconnectedFromServer()
{
connected = false;
}
private void OnGUI()
{
if (!connected) {
connectionIP = GUILayout.TextField (connectionIP);
int.TryParse (GUILayout.TextField (portNumber.ToString ()), out portNumber);
if (GUILayout.Button ("Connect")){
Network.Connect (connectionIP, portNumber);
}
if (GUILayout.Button ("Host")){
Network.InitializeServer (4, portNumber, true);
}
} else {
GUILayout.Label("connections:" + Network.connections.Length.ToString ());
}
}
}
ポート番号は、参考にした動画に準じました。
使われてなければ、7000でも8000でも問題ないです。
実行の際は、制御したい方をHOST、受け取りたい方をConnectにして下さい。
やっぱりUnityは簡単で便利だなあー。
※これは、カメラの動きようのスクリプト
```C#:MoveCam
using UnityEngine;
using System.Collections;
public class MoveCam : MonoBehaviour {
// Update is called once per frame
void Update () {
if (Input.GetKey(KeyCode.UpArrow))
{
this.transform.position += new Vector3(0, 1, 0);
}
if (Input.GetKey(KeyCode.DownArrow))
{
this.transform.position -= new Vector3(0, 1, 0);
}
}
}
```
以下の動画をNetworkViewの参考にしました。
すごくわかりやすいです。
http://www.youtube.com/watch?v=jjOe5dNOI34
※公式の参考
http://docs-jp.unity3d.com/Documentation/Components/class-NetworkView.html