[RESOLVIDO] Erro na troca de script do personagem
2 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Erro na troca de script do personagem
Estava usando o script do first person que é da unity, para controlar o personagem, dai eu troquei por outro script para controlá-lo, porem começou a dar erro no meu script de MenuPausa. Gostaria de saber qual é o erro que está ocorrendo.
Esse é o script do personagem!!
Esse é o script do MenuPausa e está dando erro nas linhas: 4, 8, 23.
Esse é o script do personagem!!
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[RequireComponent(typeof(CharacterController))]
public class MSFPSControllerFree : MonoBehaviour {
GameObject cameraFPS;
Vector3 moveDirection = Vector3.zero;
CharacterController controller;
MSSceneControllerFree sceneControllerMS;
JoystickFree joystickMoveFPS;
JoystickFree joystickRotateFPS;
float rotationX = 0.0f;
float rotationY = 0.0f;
float moveInputMSForward;
float moveInputMSSide;
float rotateInputMSx;
float rotateInputMSy;
void Start () {
transform.tag = "Player";
cameraFPS = GetComponentInChildren (typeof(Camera)).transform.gameObject;
cameraFPS.transform.localPosition = new Vector3 (0, 1, 0);
cameraFPS.transform.localRotation = Quaternion.identity;
cameraFPS.tag = "MainCamera";
controller = GetComponent<CharacterController> ();
joystickMoveFPS = transform.Find("Canvas/JoystickMFPS").GetComponent<JoystickFree>();
joystickRotateFPS = transform.Find("Canvas/JoystickRFPS").GetComponent<JoystickFree>();
sceneControllerMS = FindObjectOfType(typeof(MSSceneControllerFree)) as MSSceneControllerFree;
}
void OnEnable(){
EnableControls ();
}
void EnableControls(){
if (sceneControllerMS) {
if (sceneControllerMS.selectControls == MSSceneControllerFree.ControlTypeFree.mobileButton) {
joystickMoveFPS.gameObject.SetActive (true);
joystickRotateFPS.gameObject.SetActive (true);
} else {
joystickMoveFPS.gameObject.SetActive (false);
joystickRotateFPS.gameObject.SetActive (false);
}
}
}
void Update () {
#region getInputs
if (sceneControllerMS.selectControls == MSSceneControllerFree.ControlTypeFree.mobileButton) {
if(!joystickMoveFPS.isActiveAndEnabled || !joystickRotateFPS.isActiveAndEnabled){
EnableControls();
}
if(joystickMoveFPS){
moveInputMSForward = joystickMoveFPS.joystickVertical;
moveInputMSSide = joystickMoveFPS.joystickHorizontal;
}
if(joystickRotateFPS){
rotateInputMSx = joystickRotateFPS.joystickHorizontal;
rotateInputMSy = joystickRotateFPS.joystickVertical;
}
}
else{
if(joystickMoveFPS.isActiveAndEnabled || joystickRotateFPS.isActiveAndEnabled){
EnableControls();
}
if(joystickMoveFPS){
moveInputMSForward = Input.GetAxis("Vertical");
moveInputMSSide = Input.GetAxis("Horizontal");
}
if(joystickRotateFPS){
rotateInputMSx = Input.GetAxis ("Mouse X");
rotateInputMSy = Input.GetAxis ("Mouse Y");
}
}
#endregion
Vector3 forwardDirection = new Vector3 (cameraFPS.transform.forward.x, 0, cameraFPS.transform.forward.z);
Vector3 sideDirection = new Vector3 (cameraFPS.transform.right.x, 0, cameraFPS.transform.right.z);
forwardDirection.Normalize ();
sideDirection.Normalize ();
forwardDirection = forwardDirection * moveInputMSForward;
sideDirection = sideDirection * moveInputMSSide;
Vector3 finalDirection = forwardDirection + sideDirection;
if (finalDirection.sqrMagnitude > 1) {
finalDirection.Normalize ();
}
if (controller.isGrounded) {
moveDirection = new Vector3 (finalDirection.x, 0, finalDirection.z);
moveDirection *= 6.0f;
if (Input.GetButton ("Jump")) {
moveDirection.y = 8.0f;
}
}
moveDirection.y -= 20.0f * Time.deltaTime;
controller.Move (moveDirection * Time.deltaTime);
FPSCamera ();
}
void FPSCamera(){
rotationX += rotateInputMSx * 5.0f;
rotationY += rotateInputMSy * 5.0f;
rotationX = ClampAngleFPS (rotationX, -360, 360);
rotationY = ClampAngleFPS (rotationY, -80, 80);
Quaternion xQuaternion = Quaternion.AngleAxis (rotationX, Vector3.up);
Quaternion yQuaternion = Quaternion.AngleAxis (rotationY, -Vector3.right);
Quaternion finalRotation = Quaternion.identity * xQuaternion * yQuaternion;
cameraFPS.transform.localRotation = Quaternion.Lerp (cameraFPS.transform.localRotation, finalRotation, Time.deltaTime * 10.0f);
}
float ClampAngleFPS(float angle, float min, float max){
if (angle < -360) {
angle += 360;
}
if (angle > 360) {
angle -= 360;
}
return Mathf.Clamp (angle, min, max);
}
}
Esse é o script do MenuPausa e está dando erro nas linhas: 4, 8, 23.
- Código:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityStandardAssets.Characters.FirstPerson;
using UnityEngine.SceneManagement;
using System.Collections.Generic;
using System.Linq;
[RequireComponent(typeof(FirstPersonController))]
public class MenuPause : MonoBehaviour {
public Button BotaoRetornarAoJogo,BotaoOpcoes,BotaoVoltarAoMenu;
[Space(20)]
public Slider BarraVolume;
public Toggle CaixaModoJanela;
public Dropdown Resolucoes, Qualidades;
public Button BotaoVoltar, BotaoSalvarPref;
[Space(20)]
public Text textoVol;
public string nomeCenaMenu = "Menu";
private float VOLUME;
private int qualidadeGrafica, modoJanelaAtivo, resolucaoSalveIndex;
private bool telaCheiaAtivada, menuParte1Ativo, menuParte2Ativo;
private Resolution[] resolucoesSuportadas;
private FirstPersonController controlador;
void Awake(){
resolucoesSuportadas = Screen.resolutions;
controlador = GetComponent<FirstPersonController> ();
}
void Start () {
Opcoes (false,false);
ChecarResolucoes ();
AjustarQualidades ();
Time.timeScale = 1;
AudioListener.volume = 1;
BarraVolume.minValue = 0;
BarraVolume.maxValue = 1;
menuParte1Ativo = menuParte2Ativo = false;
if (PlayerPrefs.HasKey ("RESOLUCAO")) {
int numResoluc = PlayerPrefs.GetInt ("RESOLUCAO");
if (resolucoesSuportadas.Length <= numResoluc) {
PlayerPrefs.DeleteKey ("RESOLUCAO");
}
}
//=============== SAVES===========//
if (PlayerPrefs.HasKey ("VOLUME")) {
VOLUME = PlayerPrefs.GetFloat ("VOLUME");
BarraVolume.value = VOLUME;
} else {
PlayerPrefs.SetFloat ("VOLUME", 1);
BarraVolume.value = 1;
}
//=============MODO JANELA===========//
if (PlayerPrefs.HasKey ("modoJanela")) {
modoJanelaAtivo = PlayerPrefs.GetInt ("modoJanela");
if (modoJanelaAtivo == 1) {
Screen.fullScreen = false;
CaixaModoJanela.isOn = true;
} else {
Screen.fullScreen = true;
CaixaModoJanela.isOn = false;
}
} else {
modoJanelaAtivo = 0;
PlayerPrefs.SetInt ("modoJanela", modoJanelaAtivo);
CaixaModoJanela.isOn = false;
Screen.fullScreen = true;
}
//========RESOLUCOES========//
if (modoJanelaAtivo == 1) {
telaCheiaAtivada = false;
} else {
telaCheiaAtivada = true;
}
if (PlayerPrefs.HasKey ("RESOLUCAO")) {
resolucaoSalveIndex = PlayerPrefs.GetInt ("RESOLUCAO");
Screen.SetResolution(resolucoesSuportadas[resolucaoSalveIndex].width,resolucoesSuportadas[resolucaoSalveIndex].height,telaCheiaAtivada);
Resolucoes.value = resolucaoSalveIndex;
} else {
resolucaoSalveIndex = (resolucoesSuportadas.Length -1);
Screen.SetResolution(resolucoesSuportadas[resolucaoSalveIndex].width,resolucoesSuportadas[resolucaoSalveIndex].height,telaCheiaAtivada);
PlayerPrefs.SetInt ("RESOLUCAO", resolucaoSalveIndex);
Resolucoes.value = resolucaoSalveIndex;
}
//=========QUALIDADES=========//
if (PlayerPrefs.HasKey ("qualidadeGrafica")) {
qualidadeGrafica = PlayerPrefs.GetInt ("qualidadeGrafica");
QualitySettings.SetQualityLevel(qualidadeGrafica);
Qualidades.value = qualidadeGrafica;
} else {
QualitySettings.SetQualityLevel((QualitySettings.names.Length-1));
qualidadeGrafica = (QualitySettings.names.Length-1);
PlayerPrefs.SetInt ("qualidadeGrafica", qualidadeGrafica);
Qualidades.value = qualidadeGrafica;
}
// =========SETAR BOTOES==========//
BotaoVoltarAoMenu.onClick = new Button.ButtonClickedEvent();
BotaoOpcoes.onClick = new Button.ButtonClickedEvent();
BotaoRetornarAoJogo.onClick = new Button.ButtonClickedEvent();
BotaoVoltar.onClick = new Button.ButtonClickedEvent();
BotaoSalvarPref.onClick = new Button.ButtonClickedEvent();
//
BotaoVoltarAoMenu.onClick.AddListener(() => VoltarAoMenu());
BotaoOpcoes.onClick.AddListener(() => Opcoes(false,true));
BotaoRetornarAoJogo.onClick.AddListener(() => Opcoes(false,false));
BotaoVoltar.onClick.AddListener(() => Opcoes(true,false));
BotaoSalvarPref.onClick.AddListener(() => SalvarPreferencias());
}
void Update(){
if (Input.GetKeyDown (KeyCode.Escape)) {
if (menuParte1Ativo == false && menuParte2Ativo == false) {
menuParte1Ativo = true;
menuParte2Ativo = false;
Opcoes (true, false);
Time.timeScale = 0;
AudioListener.volume = 0;
} else if (menuParte1Ativo == true && menuParte2Ativo == false) {
menuParte1Ativo = menuParte2Ativo = false;
Opcoes (false, false);
Time.timeScale = 1;
AudioListener.volume = VOLUME;
}
else if (menuParte1Ativo == false && menuParte2Ativo == true) {
menuParte1Ativo = true;
menuParte2Ativo = false;
Opcoes (true, false);
Time.timeScale = 0;
AudioListener.volume = 0;
}
}
if (menuParte1Ativo == true || menuParte2Ativo == true) {
Cursor.visible = true;
controlador.enabled = false;
} else {
Cursor.visible = false;
controlador.enabled = true;
}
}
//=========VOIDS DE CHECAGEM==========//
private void ChecarResolucoes(){
Resolution[] resolucoesSuportadas = Screen.resolutions;
Resolucoes.options.Clear ();
for(int y = 0; y < resolucoesSuportadas.Length; y++){
Resolucoes.options.Add(new Dropdown.OptionData() { text = resolucoesSuportadas[y].width + "x" + resolucoesSuportadas[y].height });
}
Resolucoes.captionText.text = "Resolucao";
}
private void AjustarQualidades(){
string[] nomes = QualitySettings.names;
Qualidades.options.Clear ();
for(int y = 0; y < nomes.Length; y++){
Qualidades.options.Add(new Dropdown.OptionData() { text = nomes[y] });
}
Qualidades.captionText.text = "Qualidade";
}
private void Opcoes(bool ativarOP, bool ativarOP2){
BotaoVoltarAoMenu.gameObject.SetActive (ativarOP);
BotaoOpcoes.gameObject.SetActive (ativarOP);
BotaoRetornarAoJogo.gameObject.SetActive (ativarOP);
//
textoVol.gameObject.SetActive (ativarOP2);
BarraVolume.gameObject.SetActive (ativarOP2);
CaixaModoJanela.gameObject.SetActive (ativarOP2);
Resolucoes.gameObject.SetActive (ativarOP2);
Qualidades.gameObject.SetActive (ativarOP2);
BotaoVoltar.gameObject.SetActive (ativarOP2);
BotaoSalvarPref.gameObject.SetActive (ativarOP2);
if (ativarOP == true && ativarOP2 == false) {
menuParte1Ativo = true;
menuParte2Ativo = false;
}
else if (ativarOP == false && ativarOP2 == true) {
menuParte1Ativo = false;
menuParte2Ativo = true;
}
else if (ativarOP == false && ativarOP2 == false) {
menuParte1Ativo = false;
menuParte2Ativo = false;
Time.timeScale = 1;
AudioListener.volume = VOLUME;
}
}
//=========VOIDS DE SALVAMENTO==========//
private void SalvarPreferencias(){
if (CaixaModoJanela.isOn == true) {
modoJanelaAtivo = 1;
telaCheiaAtivada = false;
} else {
modoJanelaAtivo = 0;
telaCheiaAtivada = true;
}
PlayerPrefs.SetFloat ("VOLUME", BarraVolume.value);
PlayerPrefs.SetInt ("qualidadeGrafica", Qualidades.value);
PlayerPrefs.SetInt ("modoJanela", modoJanelaAtivo);
PlayerPrefs.SetInt ("RESOLUCAO", Resolucoes.value);
resolucaoSalveIndex = Resolucoes.value;
AplicarPreferencias ();
}
private void AplicarPreferencias(){
VOLUME = PlayerPrefs.GetFloat ("VOLUME");
QualitySettings.SetQualityLevel(PlayerPrefs.GetInt ("qualidadeGrafica"));
Screen.SetResolution(resolucoesSuportadas[resolucaoSalveIndex].width,resolucoesSuportadas[resolucaoSalveIndex].height,telaCheiaAtivada);
}
private void VoltarAoMenu(){
SceneManager.LoadScene (nomeCenaMenu);
}
}
Edivandro2706- Avançado
- PONTOS : 2088
REPUTAÇÃO : 4
Respeito as regras :
Re: [RESOLVIDO] Erro na troca de script do personagem
Que erro o Console Mostra ?
Magnatah- Instrutor
- PONTOS : 3547
REPUTAÇÃO : 209
Idade : 24
Áreas de atuação : Dєรєиvσlvєdσя Wєb(Fяσит-єиd), Blєиdєя, υиiтy, C#, ρнρ є Jαvαรcяiρт.
Respeito as regras :
Re: [RESOLVIDO] Erro na troca de script do personagem
Na linha 4:Magnatah escreveu:Que erro o Console Mostra ?
Assets\MSVehicleSystem(FreeVersion)\Script atirar\MenuPause.cs(4,7): error CS0246: The type or namespace name 'UnityStandardAssets' could not be found (are you missing a using directive or an assembly reference?)
Na linha 8:
Assets\MSVehicleSystem(FreeVersion)\Script atirar\MenuPause.cs(8,26): error CS0246: The type or namespace name 'FirstPersonController' could not be found (are you missing a using directive or an assembly reference?)
Na linha 23:
Assets\MSVehicleSystem(FreeVersion)\Script atirar\MenuPause.cs(23,10): error CS0246: The type or namespace name 'FirstPersonController' could not be found (are you missing a using directive or an assembly reference?)
Edivandro2706- Avançado
- PONTOS : 2088
REPUTAÇÃO : 4
Respeito as regras :
Re: [RESOLVIDO] Erro na troca de script do personagem
vc Excluiu a pasta Standard Assets ou algo dentro dessa pasta ?
Magnatah- Instrutor
- PONTOS : 3547
REPUTAÇÃO : 209
Idade : 24
Áreas de atuação : Dєรєиvσlvєdσя Wєb(Fяσит-єиd), Blєиdєя, υиiтy, C#, ρнρ є Jαvαรcяiρт.
Respeito as regras :
Re: [RESOLVIDO] Erro na troca de script do personagem
Magnatah escreveu:vc Excluiu a pasta Standard Assets ou algo dentro dessa pasta ?
Muito obrigado, consegui resolver baixando o pacote do standart assets denovo!!!
Edivandro2706- Avançado
- PONTOS : 2088
REPUTAÇÃO : 4
Respeito as regras :
Tópicos semelhantes
» como resolver esse bug em um script de troca de personagem?
» [RESOLVIDO] ERRO , SCRIPT
» [RESOLVIDO] ERRO SCRIPT!
» [RESOLVIDO] Erro SCRIPT C# com Objeto (Script need's to derive from MonoBehaviour)
» [RESOLVIDO] Erro ao Copilar: Bug no personagem.
» [RESOLVIDO] ERRO , SCRIPT
» [RESOLVIDO] ERRO SCRIPT!
» [RESOLVIDO] Erro SCRIPT C# com Objeto (Script need's to derive from MonoBehaviour)
» [RESOLVIDO] Erro ao Copilar: Bug no personagem.
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos