Я пытаюсь узнать об Unet, но у меня возникли проблемы с этим, несмотря на следующие несколько уроков.Unity2D, не удается синхронизировать мой спрайт со всеми клиентами (многопользовательский)
Я делаю 2d-игру, и то, что я сейчас застрял, обновляет способ поворота моего персонажа спрайта (влево или вправо).
Мой игрок сборного имеет: Sprite визуализатор, rigidbody2D, сетевой идентификации (набор для местной власти игрока) и сеть Transform.
Это код прилагается к каждому игроку:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
public class CharController : NetworkBehaviour {
public float maxSpeed = 1f;
[SyncVar]
bool facingRight = true;
Animator anim;
// Use this for initialization
void Start() {
anim = GetComponent<Animator>();
}
// Update is called once per frame
void Update() {
}
void Moving()
{
float move = Input.GetAxis("Horizontal");
GetComponent<Rigidbody2D>().velocity = new Vector2(move * maxSpeed, GetComponent<Rigidbody2D>().velocity.y);
if(move > 0 && !facingRight)
{
RpcFlip();
}
else if(move < 0 && facingRight)
{
RpcFlip();
}
anim.SetFloat("MovingSpeed", Mathf.Abs(move));
}
private void FixedUpdate()
{
if (!isLocalPlayer)
{
return;
}
// handle input here...
Moving();
}
[ClientRpc]
void RpcFlip()
{
if (isLocalPlayer)
{
//facingRight = !facingRight;
//currentSprite.flipX = !currentSprite.flipX;
}
facingRight = !facingRight;
Vector3 theScale = transform.localScale;
theScale.x *= -1;
transform.localScale = theScale;
}
}
Я знаю, что это, скорее всего, что-то супер просто я делаю неправильно, что только добавляет больше боли, чтобы просить, но любая помощь очень ценится! Спасибо
Редактировать: Как моя игра настроена, один из игроков - это как хост, так и клиент, я не знаю, делает ли это труднее, но это именно то, как это делает единство, когда вы играете локально ,
Хороший совет - поместить ваш клиентский и серверный код в * совершенно разные файлы *. Вы часто видите пример кода, в котором он находится в одном файле. Это на самом деле проще и логичнее для начинающих, если вы просто используете два отдельных файла. – Fattie
Спасибо, но попытка ответа на мой вопрос была бы более полезна;) – Fross
fross - достаточно честный, но я просто не мог беспокоиться. и я знал, что вы это выясните :) – Fattie