Network.time 时间

static var time : double

Description描述

Get the current network time (seconds).

获取带当前网络时间(秒)。

This can, for example, be used to compare with the time returned in NetworkMessageInfo. The example script needs to be attached to an object with a network view and have the network view observe the script. It measures the time it took to send a message which synchronizes the X postion value of the objects transform.

这个可以用来,例如,比较NetworkMessageInfo中返回的时间。这个脚本例子需要附加到一个带有网络视图的物体上,并使网络视图监视这个脚本。它计算时间,发送这个物体的同步X位置消息。

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
	public float something;
	public double transitTime;
	void OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info) {
		float horizontalInput = 0.0F;
		if (stream.isWriting) {
			horizontalInput = transform.position.x;
			stream.Serialize(ref horizontalInput);
		} else {
			transitTime = Network.time - info.timestamp;
			stream.Serialize(ref horizontalInput);
			something = horizontalInput;
		}
	}
	void OnGUI() {
		GUILayout.Label("Last transmission time: " + transitTime);
	}
}
var something : float;
var transitTime: double;
function OnSerializeNetworkView (stream : BitStream,
info : NetworkMessageInfo) {
	var horizontalInput : float = 0.0;
	if (stream.isWriting) {
		// Sending 发送
		horizontalInput = transform.position.x;
		stream.Serialize (horizontalInput);
	} else {
		// Receiving 接收
		transitTime = Network.time - info.timestamp;
		stream.Serialize (horizontalInput);
		something = horizontalInput;
	}
}

function OnGUI() {
	GUILayout.Label("Last transmission time: "+ transitTime);
}
最后修改:2011年4月2日 Saturday 14:29

本脚本参考基于Unity 3.4.1f5

英文部分版权属©Unity公司所有,中文部分© Unity圣典 版权所有,未经许可,严禁转载 。