[TUTORIAL] Seleçao de personagens no Photon.
+2
Phph09
Callyde Jr
6 participantes
Página 1 de 1
[TUTORIAL] Seleçao de personagens no Photon.
Heae amigos estou aqui trazendo um sistema para seleçao de personagens no Photon.
E bem simples no momento colocarei so os scripts.
Sao 3 scenes Menu vai o 1 script,SelectPersonagens 2 acript e Jogo o 3 script
1
2
3
4
5
6
7
E bem simples no momento colocarei so os scripts.
Sao 3 scenes Menu vai o 1 script,SelectPersonagens 2 acript e Jogo o 3 script
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class roomMan : Photon.MonoBehaviour {//Script do menu principal coloque em um objecto vazil
public string verNum = "v0.2";
public string roomName = "room01";
public bool isConnected = false;
public Text mensagemText;
public string nomeScene;
public static roomMan roo;
void Awake(){
roo = this;
}
// Use this for initialization
void Start () {
conmectionPhoton();
DontDestroyOnLoad(gameObject);
}
public void conmectionPhoton()
{
roomName = "Room" + Random.Range(0,999);
if(PhotonNetwork.ConnectToRegion (CloudRegionCode.sa, verNum)){ // Conecta ao servidor de São Paulo
mensagemText.text = "Conectando".ToString();
Debug.Log("Conectando");
}else{
PhotonNetwork.ConnectToBestCloudServer(verNum);
mensagemText.text = "Conectando".ToString();
Debug.Log("Conectando");
}
}
public void GameStart(){
PhotonNetwork.automaticallySyncScene = true;
SceneManager.LoadScene(nomeScene);
}
// Update is called once per frame
public void OnJoinedLobby (){
PhotonNetwork.JoinOrCreateRoom(roomName,null,null); //Criando uma sala
mensagemText.text = "Loading".ToString();
Debug.Log("Loading");
}
public void OnJoinedRoom(){//Entrar em sala
isConnected = true;
mensagemText.text = "Conectado".ToString();
Debug.Log("Conectado");
GameStart();
}
void OnConnectionFail() {
mensagemText.text = "Região Invalida";
Debug.Log ("Região Invalida");
}
}
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class SelectPersonagem : Photon.MonoBehaviour {//Script da celeçao de personagens aqui so coloquei 3 coloque em outra scene em um object vazil
public Button player1Button;
public Button player2Button;
public Button player3Button;
public int avatarIndex = 0;
public string nomeScene;
public static SelectPersonagem sp;
void Awake(){
sp = this;
}
// Use this for initialization
void Start () {
//Seleçao de personagens//
player1Button.onClick.AddListener (delegate {AvatarPicker (player1Button.name);});
player2Button.onClick.AddListener (delegate {AvatarPicker (player2Button.name);});
player3Button.onClick.AddListener (delegate {AvatarPicker (player3Button.name);});
DontDestroyOnLoad(gameObject);
}
// Update is called once per frame
void Update () {
}
public void AvatarPicker(string buttonName)//Adicione essa funçao em cada butao com seus nomes
{
switch (buttonName)
{
case "Player1":
avatarIndex = 0;
break;
case "Player2":
avatarIndex = 1;
break;
case "Player3":
avatarIndex = 2;
break;
}
}
public void GameStart(){//Adicione essa funçao em cada butao
if(roomMan.roo.isConnected == true){
StartCoroutine(LoadLevel());
}
}
IEnumerator LoadLevel(){
yield return new WaitForSeconds(3f);
PhotonNetwork.automaticallySyncScene = true;
SceneManager.LoadScene(nomeScene);
}
}
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using System;
public class spawPlayer : Photon.MonoBehaviour {//Script para instanciar os personagens escolhidos esse deve ficar no Scene do jogo
public Transform spawPoint;//Esse e um object
public GameObject personagem1,personagem2,personagem3;
public int Selected;
public Transform[] spawPoints;//Objectque ficam dentro do spawPoint fazendo ele spawnar em locais diferentes
void Awake(){
Selected = SelectPersonagem.sp.avatarIndex;
}
// Use this for initialization
void Start () {
spawPoint = GameObject.FindWithTag("spawPoint").transform;
if(roomMan.roo.isConnected == true){
PlayerSpawn();
}
}
// Update is called once per frame
void Update () {
}
[PunRPC]
public void PlayerSpawn()
{
switch(Selected){
case 0:{
GameObject pl = PhotonNetwork.Instantiate(personagem1.name,spawPoint.position,spawPoint.rotation,0) as GameObject;
pl.GetComponent<UseInput>().enabled = true;
break;
}
case 1:{
GameObject pl = PhotonNetwork.Instantiate(personagem2.name,spawPoint.position,spawPoint.rotation,0) as GameObject;
pl.GetComponent<UseInput>().enabled = true;
break;
}
case 2:{
GameObject pl = PhotonNetwork.Instantiate(personagem3.name,spawPoint.position,spawPoint.rotation,0) as GameObject;
pl.GetComponent<UseInput>().enabled = true;
break;
}
}
}
}
1
2
3
4
5
6
7
Última edição por Callyde Jr em Dom maio 27, 2018 8:08 am, editado 4 vez(es)
Re: [TUTORIAL] Seleçao de personagens no Photon.
Muito Bom Amigo
Phph09- Profissional
- PONTOS : 3788
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Re: [TUTORIAL] Seleçao de personagens no Photon.
Parabéns ai cara! vai ajudar muito a galera!Callyde Jr escreveu:Heae amigos estou aqui trazendo um sistema para celeçao de personagens no Photon.
E bem simples no momento colocarei so os scripts.
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class roomMan : Photon.MonoBehaviour {//Script do menu principal coloque em um objecto vazil
public string verNum = "v0.2";
public string roomName = "room01";
public bool isConnected = false;
public Text mensagemText;
public string nomeScene;
public static roomMan roo;
void Awake(){
roo = this;
}
// Use this for initialization
void Start () {
conmectionPhoton();
DontDestroyOnLoad(gameObject);
}
public void conmectionPhoton()
{
roomName = "Room" + Random.Range(0,999);
if(PhotonNetwork.ConnectToRegion (CloudRegionCode.sa, verNum)){ // Conecta ao servidor de São Paulo
mensagemText.text = "Conectando".ToString();
Debug.Log("Conectando");
}else{
PhotonNetwork.ConnectToBestCloudServer(verNum);
mensagemText.text = "Conectando".ToString();
Debug.Log("Conectando");
}
}
public void GameStart(){
PhotonNetwork.automaticallySyncScene = true;
SceneManager.LoadScene(nomeScene);
}
// Update is called once per frame
public void OnJoinedLobby (){
PhotonNetwork.JoinOrCreateRoom(roomName,null,null); //Criando uma sala
mensagemText.text = "Loading".ToString();
Debug.Log("Loading");
}
public void OnJoinedRoom(){//Entrar em sala
isConnected = true;
mensagemText.text = "Conectado".ToString();
Debug.Log("Conectado");
GameStart();
}
void OnConnectionFail() {
mensagemText.text = "Região Invalida";
Debug.Log ("Região Invalida");
}
}
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class SelectPersonagem : Photon.MonoBehaviour {//Script da celeçao de personagens aqui so coloquei 3 coloque em outra scene em um object vazil
public Button player1Button;
public Button player2Button;
public Button player3Button;
public int avatarIndex = 0;
public string nomeScene;
public static SelectPersonagem sp;
void Awake(){
sp = this;
}
// Use this for initialization
void Start () {
//Seleçao de personagens//
player1Button.onClick.AddListener (delegate {AvatarPicker (player1Button.name);});
player2Button.onClick.AddListener (delegate {AvatarPicker (player2Button.name);});
player3Button.onClick.AddListener (delegate {AvatarPicker (player3Button.name);});
DontDestroyOnLoad(gameObject);
}
// Update is called once per frame
void Update () {
}
public void AvatarPicker(string buttonName)
{
switch (buttonName)
{
case "Player1":
avatarIndex = 0;
break;
case "Player2":
avatarIndex = 1;
break;
case "Player3":
avatarIndex = 2;
break;
}
}
public void GameStart(){
if(roomMan.roo.isConnected == true){
StartCoroutine(LoadLevel());
}
}
IEnumerator LoadLevel(){
yield return new WaitForSeconds(3f);
PhotonNetwork.automaticallySyncScene = true;
SceneManager.LoadScene(nomeScene);
}
}
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using System;
public class spawPlayer : Photon.MonoBehaviour {//Script para instanciar os personagens escolhidos esse deve ficar no Scene do jogo
public Transform spawPoint;//Esse e um object
public GameObject personagem1,personagem2,personagem3;
public int Selected;
public Transform[] spawPoints;//Objectque ficam dentro do spawPoint fazendo ele spawnar em locais diferentes
void Awake(){
Selected = SelectPersonagem.sp.avatarIndex;
}
// Use this for initialization
void Start () {
spawPoint = GameObject.FindWithTag("spawPoint").transform;
if(roomMan.roo.isConnected == true){
PlayerSpawn();
}
}
// Update is called once per frame
void Update () {
}
[PunRPC]
public void PlayerSpawn()
{
switch(Selected){
case 0:{
GameObject pl = PhotonNetwork.Instantiate(personagem1.name,spawPoint.position,spawPoint.rotation,0) as GameObject;
pl.GetComponent<UseInput>().enabled = true;
break;
}
case 1:{
GameObject pl = PhotonNetwork.Instantiate(personagem2.name,spawPoint.position,spawPoint.rotation,0) as GameObject;
pl.GetComponent<UseInput>().enabled = true;
break;
}
case 2:{
GameObject pl = PhotonNetwork.Instantiate(personagem3.name,spawPoint.position,spawPoint.rotation,0) as GameObject;
pl.GetComponent<UseInput>().enabled = true;
break;
}
}
}
}
Re: [TUTORIAL] Seleçao de personagens no Photon.
primeiramente muito bom seu script, uma perguntinha rápida, pretendo criar um jogo online, você acha mais fácil criar o jogo já implementando o online ou depois de já ter um projeto pronto?
NyanHeavyBR- MembroAvançado
- PONTOS : 3304
REPUTAÇÃO : 32
Respeito as regras :
Re: [TUTORIAL] Seleçao de personagens no Photon.
Olá, eu prefiro criar desde o início, pois haverá muitas mudanças, o que é meio chato fazer tudo de novo.
NKKF- ProgramadorMaster
- PONTOS : 4817
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
NyanHeavyBR- MembroAvançado
- PONTOS : 3304
REPUTAÇÃO : 32
Respeito as regras :
Re: [TUTORIAL] Seleçao de personagens no Photon.
O melhor é fazer tudo de uma unica vez, pq depois vai ser muito chato ficar editando scripts e tudo maisNyanHeavyBR escreveu:primeiramente muito bom seu script, uma perguntinha rápida, pretendo criar um jogo online, você acha mais fácil criar o jogo já implementando o online ou depois de já ter um projeto pronto?
thiagotmi- Avançado
- PONTOS : 2638
REPUTAÇÃO : 14
Idade : 25
Áreas de atuação : Design, animação, programação básica.
Respeito as regras :
Tópicos semelhantes
» Seleção de Personagens
» [TUTORIAL] Photon Networking Part.1 (Configurando o photon)
» Sistema de rondas // Seleção de Personagens
» [TUTORIAL] Atributo de Propriedade para Seleção de Tags.
» Seleção de Personagens - 2 players mesmo teclado
» [TUTORIAL] Photon Networking Part.1 (Configurando o photon)
» Sistema de rondas // Seleção de Personagens
» [TUTORIAL] Atributo de Propriedade para Seleção de Tags.
» Seleção de Personagens - 2 players mesmo teclado
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos