EKsumic's Blog

let today = new Beginning();

Click the left button to use the catalog.

OR

[Unity]Mirror联网插件——基本信息同步(二)

接上一篇:[Unity]Mirror联网插件——基本信息同步(一)

 

新增代码(绿色部分):

using System.Collections;
using UnityEngine;
using Mirror;

public class CommandDemo : NetworkBehaviour
{
    public override void OnStartLocalPlayer()
    {
        base.OnStartLocalPlayer();
        StartCoroutine(__RandomizeColor());
    }

    private void SetColor(Color32 color)
    {
        SpriteRenderer renderer = GetComponent<SpriteRenderer>();
        renderer.color = color;
    }

    private IEnumerator __RandomizeColor()
    {
        WaitForSeconds wait = new WaitForSeconds(1f);

        while (true)
        {
            CmdChangeColor();
            yield return wait;
        }
    }

    [Command]
    private void CmdChangeColor()
    {
        Debug.Log("CmdChangeColor called");

        Color color = Random.ColorHSV(0f,1f,1f,1f,0f,1f,1f,1f);

        SetColor(color);

        RpcChangeColor(color);
    }

    [ClientRpc]
    private void RpcChangeColor(Color32 color)
    {
        Debug.Log("RpcChangeColor called.");
        SetColor(color);
    }

}

新增完代码,查看效果:

完全同步

是的,这样就实现了完全同步。

 

但是还是要注意,以[ClientRpc]开头的方法,最好严格以Rpc开头,就像上面代码写的一样。

为什么要强调这个东西,因为 这 很 重 要 。

 

我们来看看这个同步,原理上讲还是有先后顺序的:

客户端→服务端→客户端

 

由客户端发起的,对服务器的操作指令,发完服务器又立刻返回了相同的方法给自己。

这样看起来,我们和服务器同步了,但实际上还是存在延迟的。

 

下一篇:[Unity]Mirror联网插件——基本信息同步(三)

This article was last edited at 2020-04-13 06:08:06

0773

Bang gang cum shower teenAriia giovanni interracial pornBusty ajgel southern charmss 4 passwordHow can i fist a pussyFree young asian nudesNue teen contestsDeborah kara unger nude picSalma hayek breast implantsMaan seexual performanceGren tumb lawncazre n landscapeMasturbatioon fsrm storiesEmo fuck vidoeTeeen loves vumHoot naked bi thyg menFreee buswty hardcore moviesDownlokad free mp4 pkrn videoNudist young clipsBlowjob aand anal movieTotally free asiian nujde mldel picsJanet mason abal

reply

2024-03-15 18:13:56

* *