ajuda com sincronização jogo de botão
Página 1 de 1
ajuda com sincronização jogo de botão
pessoal preciso da ajuda de voces.
não consigo sincronizar meu jogo corretamente o movimento fica tremido igual neste video
gostaria de deixar o movimento melhor este e meu codigo alguma coisa que possa fazer. esta e a parte da sincronização.
private void LateUpdate()
{
sendUnitVelocity();
}
private void sendUnitVelocity()
{
if (is_online && gameController.GetComponent<GlobalGameManager30>().myShootTurn)
{
//int ping = PhotonNetwork.GetPing();
//Rigidbody component = GetComponent<Rigidbody>();
Vector3 vector = base.gameObject.GetComponent<Rigidbody>().velocity;
Vector3 a = base.gameObject.transform.position;
object[] eventContent = new object[3]
{
vector,
a,
base.gameObject.name,
};
RaiseEventOptions raiseEventOptions = new RaiseEventOptions
{
Receivers = ReceiverGroup.Others
};
SendOptions sendOptions = default(SendOptions);
sendOptions.Reliability = false;
SendOptions sendOptions2 = sendOptions;
PhotonNetwork.RaiseEvent(unit_pos_code, eventContent, raiseEventOptions, sendOptions2);
}
}
public void OnEvent(EventData photonEvent)
{
if (photonEvent.Code == unit_pos_code)
{
object[] obj = (object[])photonEvent.CustomData;
Vector3 vector = (Vector3)obj[0];
Vector3 a = (Vector3)obj[1];
object obj2 = obj[2];
if (fixedCounter == 1)
{
if (obj2.ToString().Contains("PlayerUnit"))
{
obj2 = obj2.ToString().Replace("PlayerUnit", "Player2Unit");
}
else if (obj2.ToString().Contains("Player2Unit"))
{
obj2 = obj2.ToString().Replace("Player2Unit", "PlayerUnit");
}
GameObject gameObject = GameObject.Find((string)obj2);
gameObject.GetComponent<Rigidbody>().velocity = vector;
gameObject.GetComponent<Rigidbody>().position = a;
gameObject.transform.position = gameObject.transform.position;
http://gameObject.transform.position = a + vector * Time.deltaTime;
}
if (!gameController.GetComponent<GlobalGameManager30>().myShootTurn)
{
fixedCounter++;
}
if (fixedCounter >1)
{
fixedCounter = 1;
}
}
}
ja tentei de tudo qualquer ajuda e bem vinda ja to a mais de 1 ano tentando deixar o jogo liso (obs no jogo cada pessoa sai com 5 botoes eles ja estão na cena tentei via photon transform mas ai o que acontece e que todos os botoes vão para o mesmo local ficam todos agrupados)
não consigo sincronizar meu jogo corretamente o movimento fica tremido igual neste video
gostaria de deixar o movimento melhor este e meu codigo alguma coisa que possa fazer. esta e a parte da sincronização.
private void LateUpdate()
{
sendUnitVelocity();
}
private void sendUnitVelocity()
{
if (is_online && gameController.GetComponent<GlobalGameManager30>().myShootTurn)
{
//int ping = PhotonNetwork.GetPing();
//Rigidbody component = GetComponent<Rigidbody>();
Vector3 vector = base.gameObject.GetComponent<Rigidbody>().velocity;
Vector3 a = base.gameObject.transform.position;
object[] eventContent = new object[3]
{
vector,
a,
base.gameObject.name,
};
RaiseEventOptions raiseEventOptions = new RaiseEventOptions
{
Receivers = ReceiverGroup.Others
};
SendOptions sendOptions = default(SendOptions);
sendOptions.Reliability = false;
SendOptions sendOptions2 = sendOptions;
PhotonNetwork.RaiseEvent(unit_pos_code, eventContent, raiseEventOptions, sendOptions2);
}
}
public void OnEvent(EventData photonEvent)
{
if (photonEvent.Code == unit_pos_code)
{
object[] obj = (object[])photonEvent.CustomData;
Vector3 vector = (Vector3)obj[0];
Vector3 a = (Vector3)obj[1];
object obj2 = obj[2];
if (fixedCounter == 1)
{
if (obj2.ToString().Contains("PlayerUnit"))
{
obj2 = obj2.ToString().Replace("PlayerUnit", "Player2Unit");
}
else if (obj2.ToString().Contains("Player2Unit"))
{
obj2 = obj2.ToString().Replace("Player2Unit", "PlayerUnit");
}
GameObject gameObject = GameObject.Find((string)obj2);
gameObject.GetComponent<Rigidbody>().velocity = vector;
gameObject.GetComponent<Rigidbody>().position = a;
gameObject.transform.position = gameObject.transform.position;
http://gameObject.transform.position = a + vector * Time.deltaTime;
}
if (!gameController.GetComponent<GlobalGameManager30>().myShootTurn)
{
fixedCounter++;
}
if (fixedCounter >1)
{
fixedCounter = 1;
}
}
}
ja tentei de tudo qualquer ajuda e bem vinda ja to a mais de 1 ano tentando deixar o jogo liso (obs no jogo cada pessoa sai com 5 botoes eles ja estão na cena tentei via photon transform mas ai o que acontece e que todos os botoes vão para o mesmo local ficam todos agrupados)
claudiano2020- Avançado
-
PONTOS : 1585
REPUTAÇÃO : 38
Idade : 37
Respeito as regras :
Re: ajuda com sincronização jogo de botão
claudiano2020 escreveu:pessoal preciso da ajuda de voces.
não consigo sincronizar meu jogo corretamente o movimento fica tremido igual neste video
gostaria de deixar o movimento melhor este e meu codigo alguma coisa que possa fazer. esta e a parte da sincronização.
private void LateUpdate()
{
sendUnitVelocity();
}
private void sendUnitVelocity()
{
if (is_online && gameController.GetComponent<GlobalGameManager30>().myShootTurn)
{
//int ping = PhotonNetwork.GetPing();
//Rigidbody component = GetComponent<Rigidbody>();
Vector3 vector = base.gameObject.GetComponent<Rigidbody>().velocity;
Vector3 a = base.gameObject.transform.position;
object[] eventContent = new object[3]
{
vector,
a,
base.gameObject.name,
};
RaiseEventOptions raiseEventOptions = new RaiseEventOptions
{
Receivers = ReceiverGroup.Others
};
SendOptions sendOptions = default(SendOptions);
sendOptions.Reliability = false;
SendOptions sendOptions2 = sendOptions;
PhotonNetwork.RaiseEvent(unit_pos_code, eventContent, raiseEventOptions, sendOptions2);
}
}
public void OnEvent(EventData photonEvent)
{
if (photonEvent.Code == unit_pos_code)
{
object[] obj = (object[])photonEvent.CustomData;
Vector3 vector = (Vector3)obj[0];
Vector3 a = (Vector3)obj[1];
object obj2 = obj[2];
if (fixedCounter == 1)
{
if (obj2.ToString().Contains("PlayerUnit"))
{
obj2 = obj2.ToString().Replace("PlayerUnit", "Player2Unit");
}
else if (obj2.ToString().Contains("Player2Unit"))
{
obj2 = obj2.ToString().Replace("Player2Unit", "PlayerUnit");
}
GameObject gameObject = GameObject.Find((string)obj2);
gameObject.GetComponent<Rigidbody>().velocity = vector;
gameObject.GetComponent<Rigidbody>().position = a;
gameObject.transform.position = gameObject.transform.position;
http://gameObject.transform.position = a + vector * Time.deltaTime;
}
if (!gameController.GetComponent<GlobalGameManager30>().myShootTurn)
{
fixedCounter++;
}
if (fixedCounter >1)
{
fixedCounter = 1;
}
}
}
ja tentei de tudo qualquer ajuda e bem vinda ja to a mais de 1 ano tentando deixar o jogo liso (obs no jogo cada pessoa sai com 5 botoes eles ja estão na cena tentei via photon transform mas ai o que acontece e que todos os botoes vão para o mesmo local ficam todos agrupados)
claudiano2020- Avançado
-
PONTOS : 1585
REPUTAÇÃO : 38
Idade : 37
Respeito as regras :
![-](https://2img.net/i/empty.gif)
» (Ajuda) Som do jogo
» Ajuda ai meu 1 jogo :D
» Ajuda na criação de um jogo de Xadrez 3D
» Ajuda - jogo ritmico
» [Ajuda] Testar jogo
» Ajuda ai meu 1 jogo :D
» Ajuda na criação de um jogo de Xadrez 3D
» Ajuda - jogo ritmico
» [Ajuda] Testar jogo
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos