Erro no Script
4 participantes
Página 1 de 1
Erro no Script
Estou tendo um erro no Script, (https://www.youtube.com/watch?v=CbXMWFKa0g8) e não sei o que fazer... Se puder me ajudar o mais rápido possível irei agradecer muito
script
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(AudioSource))]
[RequireComponent(typeof(CharacterController))]
public class SonsDosPassos : MonoBehaviour {
public AudioClip Cimento,Agua,Pulo;
private CharacterController controller;
private bool Pulou, Esperando,EstaNaAgua;
private float TempoDeEspera,TempoCorridaENormal = 1;
public float TempoCimento = 0.6f,TempoAgua = 0.6f,TempoPulo = 0.6f,Aceleracao = 1.3f;
//variaveis de movimento da camera
public GameObject CameraDoPlayer;
public float IntensidadeDoMovimento = 1.8f;
private Vector3 PosicaoInicialDaCamera;
private float movimentoDaCamera;
private bool comecarContagem;
public bool AtivarMovimento;
void Start (){
comecarContagem = false;
PosicaoInicialDaCamera = CameraDoPlayer.transform.LocalPosition;
controller = GetComponent<CharacterController> ();
}
void Update (){
RaycastHit hit;
if (Pulou == false) {
if(Physics.Raycast(transform.position,Vector3.down,out hit)){
if(hit.collider.gameObject.CompareTag("CIMENTO") && EstaNaAgua == false){
audio.clip = Cimento;
} else if (EstaNaAgua == true){
audio.clip = Agua;
}
}
if (controller.isGrounded && controller.velocity.magnitude > 0.2f){
if(!audio.isPlaying){
TocarSons ();
if(comecarContagem == false){
movimentoDaCamera += Time.deltaTime;
}
if(comecarContagem == true){
movimentoDaCamera -= Time.deltaTime;
}
}
}
if(!controller.isGrounded || controller.velocity.magnitude <= 0.19f){
audio.Stop ();
CameraDoPlayer.transform.LocalPosition = Vector3.Lerp (CameraDoPlayer.transform.LocalPosition, PosicaoInicialDaCamera + PosicaoInicialDaCamera * 0.25f * IntensidadeDoMovimento, 10*Time.deltaTime);
}
}
//
if(movimentoDaCamera >= TempoDeEspera) {
comecarContagem = true;
}
if(movimentoDaCamera <= 0){
comecarContagem = false;
}
//
if (AtivarMovimento == true && controller.velocity.magnitude > 0.2f){
CameraDoPlayer.transform.LocalPosition = Vector3.Lerp (CameraDoPlayer.transform.LocalPosition, PosicaoInicialDaCamera + PosicaoInicialDaCamera * movimentoDaCamera * IntensidadeDoMovimento, 10*Time.deltaTime);
}
if(Input.GetKey (KeyCode.LeftShift)) {
TempoCorridaENormal = 1/Aceleracao;
} else {
TempoCorridaENormal = 1;
}
//
if (Input.GetKeyDown(KeyCode.Space) && Pulou == false) {
Pulou = true;
audio.clip = Pulo;
if(!audio.isPlaying){
audio.Play ();
}else if (!audio.isPlaying){
audio.Stop ();
audio.Play ();
}
}
//
if (Esperando == true) {
TempoDeEspera -= Time.deltaTime;
}
if (TempoDeEspera <= 0) {
Esperando = false;
}
}
void OnControllerColliderHit (ControllerColliderHit hit){
Pulou = false;
}
void OnTriggerEnter (Collider other){
if(other.gameObject.CompareTag("AGUA")){
EstaNaAgua = true;
}
}
void OnTriggerExit (Collider other){
if(other.gameObject.CompareTag("AGUA")){
EstaNaAgua = false;
}
}
void TocarSons (){
if(Esperando == false) {
audio.Stop ();
if(audio.clip == Cimento){
TempoDeEspera = TempoCimento * TempoCorridaENormal;
Esperando = true;
audio.PlayOneShot(audio.clip);
}
if(audio.clip == Agua){
TempoDeEspera = TempoAgua * TempoCorridaENormal;
Esperando = true;
audio.PlayOneShot(audio.clip);
}
if(audio.clip == Pulo){
TempoDeEspera = TempoPulo * TempoCorridaENormal;
Esperando = true;
audio.PlayOneShot(audio.clip);
}
}
}
}
script
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(AudioSource))]
[RequireComponent(typeof(CharacterController))]
public class SonsDosPassos : MonoBehaviour {
public AudioClip Cimento,Agua,Pulo;
private CharacterController controller;
private bool Pulou, Esperando,EstaNaAgua;
private float TempoDeEspera,TempoCorridaENormal = 1;
public float TempoCimento = 0.6f,TempoAgua = 0.6f,TempoPulo = 0.6f,Aceleracao = 1.3f;
//variaveis de movimento da camera
public GameObject CameraDoPlayer;
public float IntensidadeDoMovimento = 1.8f;
private Vector3 PosicaoInicialDaCamera;
private float movimentoDaCamera;
private bool comecarContagem;
public bool AtivarMovimento;
void Start (){
comecarContagem = false;
PosicaoInicialDaCamera = CameraDoPlayer.transform.LocalPosition;
controller = GetComponent<CharacterController> ();
}
void Update (){
RaycastHit hit;
if (Pulou == false) {
if(Physics.Raycast(transform.position,Vector3.down,out hit)){
if(hit.collider.gameObject.CompareTag("CIMENTO") && EstaNaAgua == false){
audio.clip = Cimento;
} else if (EstaNaAgua == true){
audio.clip = Agua;
}
}
if (controller.isGrounded && controller.velocity.magnitude > 0.2f){
if(!audio.isPlaying){
TocarSons ();
if(comecarContagem == false){
movimentoDaCamera += Time.deltaTime;
}
if(comecarContagem == true){
movimentoDaCamera -= Time.deltaTime;
}
}
}
if(!controller.isGrounded || controller.velocity.magnitude <= 0.19f){
audio.Stop ();
CameraDoPlayer.transform.LocalPosition = Vector3.Lerp (CameraDoPlayer.transform.LocalPosition, PosicaoInicialDaCamera + PosicaoInicialDaCamera * 0.25f * IntensidadeDoMovimento, 10*Time.deltaTime);
}
}
//
if(movimentoDaCamera >= TempoDeEspera) {
comecarContagem = true;
}
if(movimentoDaCamera <= 0){
comecarContagem = false;
}
//
if (AtivarMovimento == true && controller.velocity.magnitude > 0.2f){
CameraDoPlayer.transform.LocalPosition = Vector3.Lerp (CameraDoPlayer.transform.LocalPosition, PosicaoInicialDaCamera + PosicaoInicialDaCamera * movimentoDaCamera * IntensidadeDoMovimento, 10*Time.deltaTime);
}
if(Input.GetKey (KeyCode.LeftShift)) {
TempoCorridaENormal = 1/Aceleracao;
} else {
TempoCorridaENormal = 1;
}
//
if (Input.GetKeyDown(KeyCode.Space) && Pulou == false) {
Pulou = true;
audio.clip = Pulo;
if(!audio.isPlaying){
audio.Play ();
}else if (!audio.isPlaying){
audio.Stop ();
audio.Play ();
}
}
//
if (Esperando == true) {
TempoDeEspera -= Time.deltaTime;
}
if (TempoDeEspera <= 0) {
Esperando = false;
}
}
void OnControllerColliderHit (ControllerColliderHit hit){
Pulou = false;
}
void OnTriggerEnter (Collider other){
if(other.gameObject.CompareTag("AGUA")){
EstaNaAgua = true;
}
}
void OnTriggerExit (Collider other){
if(other.gameObject.CompareTag("AGUA")){
EstaNaAgua = false;
}
}
void TocarSons (){
if(Esperando == false) {
audio.Stop ();
if(audio.clip == Cimento){
TempoDeEspera = TempoCimento * TempoCorridaENormal;
Esperando = true;
audio.PlayOneShot(audio.clip);
}
if(audio.clip == Agua){
TempoDeEspera = TempoAgua * TempoCorridaENormal;
Esperando = true;
audio.PlayOneShot(audio.clip);
}
if(audio.clip == Pulo){
TempoDeEspera = TempoPulo * TempoCorridaENormal;
Esperando = true;
audio.PlayOneShot(audio.clip);
}
}
}
}
gabss_oliveira- Iniciante
- PONTOS : 3418
REPUTAÇÃO : 0
Joaogabrielf13- Avançado
- PONTOS : 3597
REPUTAÇÃO : 7
Respeito as regras :
juansa2- Iniciante
- PONTOS : 3430
REPUTAÇÃO : 4
Respeito as regras :
Re: Erro no Script
Alguns erros básicos:
primeiro:
toda vez que você está lidando com algum componente você tem que citar qual componente é... como eu fiz no vídeo :D
a correção fica assim:
Segundo erro:
como trata-se de um parametro de um transform, o "L" é minusculo...
correção:
no fim das contas o script fica assim ( reformulado para unity 5 )
primeiro:
- Código:
controller = GetComponent ();
toda vez que você está lidando com algum componente você tem que citar qual componente é... como eu fiz no vídeo :D
a correção fica assim:
- Código:
controller = GetComponent<CharacterController> ();
Segundo erro:
- Código:
LocalPosition
como trata-se de um parametro de um transform, o "L" é minusculo...
correção:
- Código:
localPosition
no fim das contas o script fica assim ( reformulado para unity 5 )
- Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(AudioSource))]
[RequireComponent(typeof(CharacterController))]
public class SonsDosPassos : MonoBehaviour {
public AudioClip Cimento,Agua,Pulo;
private CharacterController controller;
private bool Pulou, Esperando,EstaNaAgua;
private float TempoDeEspera,TempoCorridaENormal = 1;
public float TempoCimento = 0.6f,TempoAgua = 0.6f,TempoPulo = 0.6f,Aceleracao = 1.3f;
//variaveis de movimento da camera
public GameObject CameraDoPlayer;
public float IntensidadeDoMovimento = 1.8f;
private Vector3 PosicaoInicialDaCamera;
private float movimentoDaCamera;
private bool comecarContagem;
public bool AtivarMovimento;
void Start (){
comecarContagem = false;
PosicaoInicialDaCamera = CameraDoPlayer.transform.localPosition;
controller = GetComponent<CharacterController> ();
}
void Update (){
RaycastHit hit;
if (Pulou == false) {
if(Physics.Raycast(transform.position,Vector3.down,out hit)){
if(hit.collider.gameObject.CompareTag("CIMENTO") && EstaNaAgua == false){
GetComponent<AudioSource>().clip = Cimento;
} else if (EstaNaAgua == true){
GetComponent<AudioSource>().clip = Agua;
}
}
if (controller.isGrounded && controller.velocity.magnitude > 0.2f){
if(!GetComponent<AudioSource>().isPlaying){
TocarSons ();
if(comecarContagem == false){
movimentoDaCamera += Time.deltaTime;
}
if(comecarContagem == true){
movimentoDaCamera -= Time.deltaTime;
}
}
}
if(!controller.isGrounded || controller.velocity.magnitude <= 0.19f){
GetComponent<AudioSource>().Stop ();
CameraDoPlayer.transform.localPosition = Vector3.Lerp (CameraDoPlayer.transform.localPosition, PosicaoInicialDaCamera + PosicaoInicialDaCamera * 0.25f * IntensidadeDoMovimento, 10*Time.deltaTime);
}
}
//
if(movimentoDaCamera >= TempoDeEspera) {
comecarContagem = true;
}
if(movimentoDaCamera <= 0){
comecarContagem = false;
}
//
if (AtivarMovimento == true && controller.velocity.magnitude > 0.2f){
CameraDoPlayer.transform.localPosition = Vector3.Lerp (CameraDoPlayer.transform.localPosition, PosicaoInicialDaCamera + PosicaoInicialDaCamera * movimentoDaCamera * IntensidadeDoMovimento, 10*Time.deltaTime);
}
if(Input.GetKey (KeyCode.LeftShift)) {
TempoCorridaENormal = 1/Aceleracao;
} else {
TempoCorridaENormal = 1;
}
//
if (Input.GetKeyDown(KeyCode.Space) && Pulou == false) {
Pulou = true;
GetComponent<AudioSource>().clip = Pulo;
if(!GetComponent<AudioSource>().isPlaying){
GetComponent<AudioSource>().Play ();
}else if (!GetComponent<AudioSource>().isPlaying){
GetComponent<AudioSource>().Stop ();
GetComponent<AudioSource>().Play ();
}
}
//
if (Esperando == true) {
TempoDeEspera -= Time.deltaTime;
}
if (TempoDeEspera <= 0) {
Esperando = false;
}
}
void OnControllerColliderHit (ControllerColliderHit hit){
Pulou = false;
}
void OnTriggerEnter (Collider other){
if(other.gameObject.CompareTag("AGUA")){
EstaNaAgua = true;
}
}
void OnTriggerExit (Collider other){
if(other.gameObject.CompareTag("AGUA")){
EstaNaAgua = false;
}
}
void TocarSons (){
if(Esperando == false) {
GetComponent<AudioSource>().Stop ();
if(GetComponent<AudioSource>().clip == Cimento){
TempoDeEspera = TempoCimento * TempoCorridaENormal;
Esperando = true;
GetComponent<AudioSource>().PlayOneShot(GetComponent<AudioSource>().clip);
}
if(GetComponent<AudioSource>().clip == Agua){
TempoDeEspera = TempoAgua * TempoCorridaENormal;
Esperando = true;
GetComponent<AudioSource>().PlayOneShot(GetComponent<AudioSource>().clip);
}
if(GetComponent<AudioSource>().clip == Pulo){
TempoDeEspera = TempoPulo * TempoCorridaENormal;
Esperando = true;
GetComponent<AudioSource>().PlayOneShot(GetComponent<AudioSource>().clip);
}
}
}
}
Tópicos semelhantes
» erro erro e mais erro script de craft
» ERRO NO SCRIPT
» Erro com um Script
» Não Acho o Erro no Script - é um script para o player se mover
» Erro no Script- "The script needs to derived from MonoBehavior"
» ERRO NO SCRIPT
» Erro com um Script
» Não Acho o Erro no Script - é um script para o player se mover
» Erro no Script- "The script needs to derived from MonoBehavior"
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos