[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
![[TUTORIAL] Seleçao de personagens no Photon. 2018%2B-%2B1](https://lh3.googleusercontent.com/-JWqBddbc7bQ/WwqAB43C1WI/AAAAAAAACR0/6dbr35gEF5s9j6P3ocAEz67BXXfqkDQngCJoC/w530-h353-n/2018%2B-%2B1)
2
![[TUTORIAL] Seleçao de personagens no Photon. 2018%2B-%2B1](https://lh3.googleusercontent.com/-ay-lMuInbXc/Wwp_utUauNI/AAAAAAAACRk/Uy7xGBZgj7k_BGGC1MwjSKkCQtNcHOxEgCJoC/w530-h353-n/2018%2B-%2B1)
3
![[TUTORIAL] Seleçao de personagens no Photon. 2018%2B-%2B1](https://lh3.googleusercontent.com/-NNnwXOjj82U/WwqAgZBX8TI/AAAAAAAACSI/q-B8GgEj9XAn4r9TYl4qcmJ-_6ekl16AwCJoC/w530-h353-n/2018%2B-%2B1)
4
![[TUTORIAL] Seleçao de personagens no Photon. 2018%2B-%2B1](https://lh3.googleusercontent.com/--OEARIEYSuU/WwqBz_45J_I/AAAAAAAACSg/i6YHvp7PxYEjUVkylJGtbAlNJtHzc3iEwCJoC/w530-h353-n/2018%2B-%2B1)
5
![[TUTORIAL] Seleçao de personagens no Photon. 2018%2B-%2B1](https://lh3.googleusercontent.com/-kKzN08_z6yQ/WwqDeCLomuI/AAAAAAAACTQ/i-BAXumLfUcwQkFr02NODvbe-b7ke3yYwCJoC/w424-h318-n/2018%2B-%2B1)
6
![[TUTORIAL] Seleçao de personagens no Photon. 2018%2B-%2B2](https://lh3.googleusercontent.com/-WWXnhXEdchw/WwqDeCcX2SI/AAAAAAAACTQ/yGBnv0G8iCALhvUrnbp_GAvtvfQ2K4NnwCJoC/w424-h318-n/2018%2B-%2B2)
7
![[TUTORIAL] Seleçao de personagens no Photon. 2018%2B-%2B1](https://lh3.googleusercontent.com/-PMOIOJ4dXv8/WwqDh2dQn_I/AAAAAAAACTQ/P9OyE_em25EE27tP4EEgea46xAGnaazSACJoC/w530-h796-n/2018%2B-%2B1)
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 : 3366
REPUTAÇÃO : 240
Idade : 18
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 : 2882
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 : 4394
REPUTAÇÃO : 574
Idade : 18
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
NyanHeavyBR- MembroAvançado
- PONTOS : 2882
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 : 2216
REPUTAÇÃO : 14
Idade : 24
Áreas de atuação : Design, animação, programação básica.
Respeito as regras :

» 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