1.
在一个c#类中调用类“PlayerManager”中的方法 : PlayerManager.Instance.SyncAnimation(userId, "Shot", 1);
在PlayerManager类中
public static PlayerManager Instance {
get {
return instance;
}
}
void Awake() {
instance = this;
}
2.
在一个c#类中调用类“NetworkTransform”中的方法 NetworkTransform.FromTransform(thisTransform);
在“NetworkTransform”类中:
public static NetworkTransform FromTransform(Transform transform) {
NetworkTransform trans = new NetworkTransform();
trans.position = transform.position;
trans.angleRotation = transform.localEulerAngles;
return trans;
}
3.
ScriptName other;
other = gameObject.GetComponent("ScriptName") as ScriptName;
other.DoSomething();
4.通过SendMessage方法调用
private void CheckRaycastWithEnemy() {
Ray ray = Camera.main.ViewportPointToRay(new Vector3(0.5f, 0.5f, 0));
RaycastHit hit;
if (Physics.Raycast (ray, out hit, Mathf.Infinity, 1<<(int)GameLayers.TargetLayer)) {
hit.collider.SendMessage("RaycastMessage", SendMessageOptions.DontRequireReceiver);
}
}
在Enemy类中有方法“RaycastMessage”:
void RaycastMessage() {
timeSinceLastRaycast = 0;
}
本文介绍了几个C#游戏开发中的具体实例,包括如何在PlayerManager类中实现动画同步,怎样从Transform创建NetworkTransform对象,如何获取并调用游戏对象上的脚本方法,以及通过SendMessage发送消息的具体应用。

4853

被折叠的 条评论
为什么被折叠?



