Alguém me ajuda com esse script ?
4 participantes
Página 1 de 1
Alguém me ajuda com esse script ?
Pessoal, basicamente to tentando fazer um esquema de objetivo onde o player tem que encontrar uma bateria e levala ate um carro e ai dar load level
para isso criei um script para coletar a bateria que esta funcionando ele coleta e belezinha ...
o meu desafio é leva-la ate o carro e dar load level
alguem pode me ajudar
para isso criei um script para coletar a bateria que esta funcionando ele coleta e belezinha ...
o meu desafio é leva-la ate o carro e dar load level
alguem pode me ajudar
- Código:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
[RequireComponent(typeof(AudioSource))]
public class carro : MonoBehaviour {
public bool NãoFunciona, PrecisoDaBateria;
public AudioClip naoVaidDar;
public float DistanciaParaEntrar;
public Font fonte;
public bool PegouABateria;
public GameObject Jogador;
void Start (){
NãoFunciona = true;
PrecisoDaBateria = true;
Jogador = GameObject.FindWithTag ("Player");
if (NãoFunciona == true) {
PrecisoDaBateria = true;
}
}
void Update (){
if (Vector3.Distance (transform.position, Jogador.transform.position) <= DistanciaParaEntrar) {
NãoFunciona = true;
} else if (Vector3.Distance (transform.position, Jogador.transform.position) > DistanciaParaEntrar) {
NãoFunciona = false;
}
if (PegouABateria == true;) {
PrecisoDaBateria = false;
NãoFunciona = false;
}
if (NãoFunciona == false) {
if(Input.GetKeyDown("e") NãoFunciona == false){
Application.LoadLevel ("final");
}
else if(Input.GetKeyDown("e") NãoFunciona == true){
GetComponent<AudioSource>().PlayOneShot(naoVaidDar);
}
}
}
}
- Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(AudioSource))]
public class bateriaCarro : MonoBehaviour {
public bool PegouABateria;
public float DistanciaDaBateria = 3;
private GameObject Jogador;
public AudioClip somBateria;
void Start () {
PegouABateria = false;
Jogador = GameObject.FindWithTag ("Player");
}
void Update () {
if (Vector3.Distance (transform.position, Jogador.transform.position) < DistanciaDaBateria) {
if (Input.GetKeyDown ("e"))
PegouABateria = true;
GetComponent<MeshRenderer> ().enabled = false;
GetComponent<AudioSource> ().PlayOneShot (somBateria);
Destroy (gameObject, 2.0f);
}
}
}
cosmoplay- Avançado
- PONTOS : 3608
REPUTAÇÃO : 45
Idade : 26
Respeito as regras :
Re: Alguém me ajuda com esse script ?
Boa tarde brow! Ele te dá algum erro ou simplesmente não carrega a nova fase? Você colocou a cena "Final" em Project>BuildSettings?
Abraço!
Abraço!
RenanMSV- Instrutor
- PONTOS : 4297
REPUTAÇÃO : 356
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :
Re: Alguém me ajuda com esse script ?
o problema esta a cima disso cara, eu na verdade não consegui terminar me emrrolei todo kkkdstaroski escreveu:Boa tarde brow! Ele te dá algum erro ou simplesmente não carrega a nova fase? Você colocou a cena "Final" em Project>BuildSettings?
Abraço!
não consigo fazer a conexão dos 2 scripts e não sei mais o que fazer a partir dai
cosmoplay- Avançado
- PONTOS : 3608
REPUTAÇÃO : 45
Idade : 26
Respeito as regras :
Re: Alguém me ajuda com esse script ?
Boa Tarde cosmoplay!
tenta agora:
Qual versão da unity voce está usando? Se for 5.3 ou superior voce deve importar a biblioteca "using UnityEngine.SceneManagement" e no lugar de "Application.LoadLevel" colocar "SceneManager.LoadScene"
tenta agora:
- Código:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
[RequireComponent(typeof(AudioSource))]
public class carro : MonoBehaviour {
public bool NãoFunciona, PrecisoDaBateria;
public AudioClip naoVaidDar;
public float DistanciaParaEntrar;
public Font fonte;
public static bool PegouABateria;
public GameObject Jogador;
void Start (){
NãoFunciona = true;
PrecisoDaBateria = true;
Jogador = GameObject.FindWithTag ("Player");
if (NãoFunciona == true) {
PrecisoDaBateria = true;
}
}
void Update (){
if (Vector3.Distance (transform.position, Jogador.transform.position) <= DistanciaParaEntrar) {
NãoFunciona = true;
} else if (Vector3.Distance (transform.position, Jogador.transform.position) > DistanciaParaEntrar) {
NãoFunciona = false;
}
if (PegouABateria == true;) {
PrecisoDaBateria = false;
NãoFunciona = false;
}
if (NãoFunciona == false) {
if(Input.GetKeyDown("e") NãoFunciona == false){
Application.LoadLevel ("final");
}
else if(Input.GetKeyDown("e") NãoFunciona == true){
GetComponent<AudioSource>().PlayOneShot(naoVaidDar);
}
}
}
}
- Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(AudioSource))]
public class bateriaCarro : MonoBehaviour {
public bool PegouABateria;
public float DistanciaDaBateria = 3;
private GameObject Jogador;
public AudioClip somBateria;
void Start () {
PegouABateria = false;
Jogador = GameObject.FindWithTag ("Player");
}
void Update () {
if (Vector3.Distance (transform.position, Jogador.transform.position) < DistanciaDaBateria) {
if (Input.GetKeyDown ("e"))
PegouABateria = true;
carro.PegouABateria = true;
GetComponent<MeshRenderer> ().enabled = false;
GetComponent<AudioSource> ().PlayOneShot (somBateria);
Destroy (gameObject, 2.0f);
}
}
}
Qual versão da unity voce está usando? Se for 5.3 ou superior voce deve importar a biblioteca "using UnityEngine.SceneManagement" e no lugar de "Application.LoadLevel" colocar "SceneManager.LoadScene"
JohnRambo- Moderador
- PONTOS : 4988
REPUTAÇÃO : 661
Idade : 23
Áreas de atuação : Unity;
Programação;
Música e Sonorização;
Graduado em Análise e Desenvolvimento de Sistemas;
Respeito as regras :
Re: Alguém me ajuda com esse script ?
obrigado John
ta falando que o nome "carro" não existe no contexto ... 21,25
é assim que se chama outro script ? como vc colocou la ?
ta falando que o nome "carro" não existe no contexto ... 21,25
é assim que se chama outro script ? como vc colocou la ?
cosmoplay- Avançado
- PONTOS : 3608
REPUTAÇÃO : 45
Idade : 26
Respeito as regras :
Re: Alguém me ajuda com esse script ?
O primeiro script tem que ter o nome: carro , o segundo script bateriaCarro . Se o nome do seu arquivo script .cs não for igual ao nome antes do : MonoBehaviour (veja, linha 5 do script carro) vai dar erro. :D
Aguardando o resultado;
Aguardando o resultado;
Re: Alguém me ajuda com esse script ?
o nome dos scripts estão corretos.
o erro esta acontecendo no bateriaCarro na linha 21.agora eu já não sei porque
o erro esta acontecendo no bateriaCarro na linha 21.agora eu já não sei porque
cosmoplay- Avançado
- PONTOS : 3608
REPUTAÇÃO : 45
Idade : 26
Respeito as regras :
Re: Alguém me ajuda com esse script ?
qualquer coisa tambem voce tenta trocar o nome do script e colocar letra maiúscula no início:
lembrando que se voce trocar o nome do script depois de o ter criado voce precisa trocar o nome lá na aba project tambem lá onde voce clica pra abrir o script
- Código:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
[RequireComponent(typeof(AudioSource))]
public class Carro : MonoBehaviour {
public bool NãoFunciona, PrecisoDaBateria;
public AudioClip naoVaidDar;
public float DistanciaParaEntrar;
public Font fonte;
public static bool PegouABateria;
public GameObject Jogador;
void Start (){
NãoFunciona = true;
PrecisoDaBateria = true;
Jogador = GameObject.FindWithTag ("Player");
if (NãoFunciona == true) {
PrecisoDaBateria = true;
}
}
void Update (){
if (Vector3.Distance (transform.position, Jogador.transform.position) <= DistanciaParaEntrar) {
NãoFunciona = true;
} else if (Vector3.Distance (transform.position, Jogador.transform.position) > DistanciaParaEntrar) {
NãoFunciona = false;
}
if (PegouABateria == true;) {
PrecisoDaBateria = false;
NãoFunciona = false;
}
if (NãoFunciona == false) {
if(Input.GetKeyDown("e") NãoFunciona == false){
Application.LoadLevel ("final");
}
else if(Input.GetKeyDown("e") NãoFunciona == true){
GetComponent<AudioSource>().PlayOneShot(naoVaidDar);
}
}
}
}
- Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(AudioSource))]
public class BateriaCarro : MonoBehaviour {
public bool PegouABateria;
public float DistanciaDaBateria = 3;
private GameObject Jogador;
public AudioClip somBateria;
void Start () {
PegouABateria = false;
Jogador = GameObject.FindWithTag ("Player");
}
void Update () {
if (Vector3.Distance (transform.position, Jogador.transform.position) < DistanciaDaBateria) {
if (Input.GetKeyDown ("e")){
PegouABateria = true;
Carro.PegouABateria = true;
GetComponent<MeshRenderer> ().enabled = false;
GetComponent<AudioSource> ().PlayOneShot (somBateria);
Destroy (gameObject, 2.0f);
}
}
}
}
lembrando que se voce trocar o nome do script depois de o ter criado voce precisa trocar o nome lá na aba project tambem lá onde voce clica pra abrir o script
JohnRambo- Moderador
- PONTOS : 4988
REPUTAÇÃO : 661
Idade : 23
Áreas de atuação : Unity;
Programação;
Música e Sonorização;
Graduado em Análise e Desenvolvimento de Sistemas;
Respeito as regras :
Re: Alguém me ajuda com esse script ?
Cara, faz a parada que o nosso amigo Rambo falou acima, se por acaso não resolver, quando eu chegar em casa, vou simular certinho pra testar, to no trabalho dai não tenho acesso ao mono e tals,
Abraço!
Abraço!
Re: Alguém me ajuda com esse script ?
Manolo, segue script modificado (simplificado) mas funcionou perfeitamente, fiz os testes aqui.
Esse foi o do carro, segue o da bateria:
Testa ai, depois se modifica o que quiser, abraço!
- Código:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
[RequireComponent(typeof(AudioSource))]
public class carro : MonoBehaviour {
public bool NaoFunciona;
public float DistanciaParaEntrar = 3.0f;
public Font fonte;
public static bool PegouABateria;
public GameObject Jogador;
void Start (){
NaoFunciona = true;
PegouABateria = false;
}
void Update ()
{
if (PegouABateria == true) {
NaoFunciona = false;
}
if (Vector3.Distance (transform.position, Jogador.transform.position) <= DistanciaParaEntrar) {
if (Input.GetKeyDown ("e") && NaoFunciona == true) {
print ("Nao vai dar, pegue a bateria");
}
}
if (Vector3.Distance (transform.position, Jogador.transform.position) <= DistanciaParaEntrar) {
if (Input.GetKeyDown ("e") && NaoFunciona == false) {
Application.LoadLevel ("teste2");
}
}
}
}
Esse foi o do carro, segue o da bateria:
- Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(AudioSource))]
public class bateriaCarro : MonoBehaviour {
public bool PegouABateria;
public float DistanciaDaBateria = 3.0f;
public GameObject Jogador;
void Start () {
PegouABateria = false;
}
void Update () {
if (Vector3.Distance (transform.position, Jogador.transform.position) <= DistanciaDaBateria) {
if (Input.GetKeyDown ("e")){
PegouABateria = true;
carro.PegouABateria = true;
GetComponent<MeshRenderer> ().enabled = false;
Destroy (gameObject, 2.0f);
}
}
}
}
Testa ai, depois se modifica o que quiser, abraço!
Re: Alguém me ajuda com esse script ?
muito abrigado cara
testei aqui e apareceu esse erro
"unexpected symbol 'GetComponent'"
no BateriaCarro 20,44
testei aqui e apareceu esse erro
"unexpected symbol 'GetComponent'"
no BateriaCarro 20,44
cosmoplay- Avançado
- PONTOS : 3608
REPUTAÇÃO : 45
Idade : 26
Respeito as regras :
Re: Alguém me ajuda com esse script ?
Editei ele, removi aquela linha que não sei exatamente o que faz, aqui roda certinho, segue ele:
- Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(AudioSource))]
public class bateriaCarro : MonoBehaviour {
public bool PegouABateria;
public float DistanciaDaBateria = 3.0f;
public GameObject Jogador;
void Start () {
PegouABateria = false;
}
void Update () {
if (Vector3.Distance (transform.position, Jogador.transform.position) <= DistanciaDaBateria) {
if (Input.GetKeyDown ("e")){
PegouABateria = true;
carro.PegouABateria = true;
Destroy (gameObject, 0.2f);
}
}
}
}
Re: Alguém me ajuda com esse script ?
bom fiz isso mas volto pro erro do carro não existe no contexto...
vo da uma olhada pra ver se outros scripts estão atrapalhando
vo da uma olhada pra ver se outros scripts estão atrapalhando
cosmoplay- Avançado
- PONTOS : 3608
REPUTAÇÃO : 45
Idade : 26
Respeito as regras :
Re: Alguém me ajuda com esse script ?
bom não sei o que é,aparentemente esta tudo ok mas sempre que resolve um problema aparece outro.
cosmoplay- Avançado
- PONTOS : 3608
REPUTAÇÃO : 45
Idade : 26
Respeito as regras :
Re: Alguém me ajuda com esse script ?
Pois é cara, dá uma olhada ai, eu fiz aqui uma cena do zero, coloquei um carro, um cubo como bateria e um player FPS, os scripts como te passei e roda certinho, as vezes é só um pequeno detalhe.
Abraço!
Abraço!
cosmoplay- Avançado
- PONTOS : 3608
REPUTAÇÃO : 45
Idade : 26
Respeito as regras :
Re: Alguém me ajuda com esse script ?
Conseguiiiii
o problema por algum motivo estava no objeto que representa a bateria.
afiliei ela a um objeto vazio e retirei o script da bateria e ai o erro desapareceu.
depois coloquei ele no objeto pai da mesh da bateria e funcionou.
mas me fico a dúvida de porque isso ocorreu...
sera um bug ?
do objeto ou da unity ?
bom obrigado a todos !!!!
o problema por algum motivo estava no objeto que representa a bateria.
afiliei ela a um objeto vazio e retirei o script da bateria e ai o erro desapareceu.
depois coloquei ele no objeto pai da mesh da bateria e funcionou.
mas me fico a dúvida de porque isso ocorreu...
sera um bug ?
do objeto ou da unity ?
bom obrigado a todos !!!!
cosmoplay- Avançado
- PONTOS : 3608
REPUTAÇÃO : 45
Idade : 26
Respeito as regras :
Re: Alguém me ajuda com esse script ?
Cara que bom que deu certo!! não faço ideia do que poderia ser, bom o que já aconteceu comigo foi realmente ter que excluir um objeto que dava erro no script e tals, e inserir novamente e configurar, dai funcionou, é estranho, mas o importante é que tá rodando lisinho! Abraço!
Tópicos semelhantes
» Alguém ajuda? queria saber como editar esse script para colocar animação.
» [AJUDA]Quero Ajuda poque esse script so da erro!
» Alguém me ajuda a usar esse plugin
» ALGUEM PODE ME AJUDAR COM ESSE SCRIPT DE LANTERNA
» alguem pode me ajudar com esse script
» [AJUDA]Quero Ajuda poque esse script so da erro!
» Alguém me ajuda a usar esse plugin
» ALGUEM PODE ME AJUDAR COM ESSE SCRIPT DE LANTERNA
» alguem pode me ajudar com esse script
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos