Porque esse script não esta funcionando alguém poderia me explicar ??
5 participantes
Página 1 de 1
Porque esse script não esta funcionando alguém poderia me explicar ??
- Código:
using UnityEngine;
using System.Collections;
public class Agua : MonoBehaviour {
public ConfigAnimation AuxNadando;
void OnCollosionEnter ( Collision collision ){
if (collision.transform.tag == "Player")
{
AuxNadando = collision.transform.GetComponent<ConfigAnimation> ();
AuxNadando.VaiNadar = true;
}
// "VaiNadar" e uma variavel bool do script "ConfigAnimation"
}
}
fiz esse script para que quando o objeto com a tag Player (no caso o personagem) colidisse com o objeto no qual esta o script e ativa-se essa variável boleana. alguém poderia me explicar ou resolver o problema do script ?? (observação: o script esta em C#)
Gustavobianco987- Iniciante
- PONTOS : 2507
REPUTAÇÃO : 4
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
Este é o erro
OnCollosionEnter na verdade é OnCollisionEnter
OnCollosionEnter na verdade é OnCollisionEnter
Zecandy- Mestre
- PONTOS : 3508
REPUTAÇÃO : 155
Idade : 42
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
Obrigado amigoZecandy escreveu:Este é o erro
OnCollosionEnter na verdade é OnCollisionEnter
Gustavobianco987- Iniciante
- PONTOS : 2507
REPUTAÇÃO : 4
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
vc não precisa usar tags
pode fazer assim
dentro do collision:
if(collision.gameObject.GetComponent<ConfigAnimation> ()){
//isto é : se colidiu com um obj que tem o script do player o tal do ConfigAnimation,
não sei ao certo se da para fazer pelo transform como vc fez, faço pelo GameObject
}
pode fazer assim
dentro do collision:
if(collision.gameObject.GetComponent<ConfigAnimation> ()){
//isto é : se colidiu com um obj que tem o script do player o tal do ConfigAnimation,
não sei ao certo se da para fazer pelo transform como vc fez, faço pelo GameObject
}
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
Gustavobianco987 escreveu:
- Código:
using UnityEngine;
using System.Collections;
public class Agua : MonoBehaviour {
public ConfigAnimation AuxNadando;
void OnCollosionEnter ( Collision collision ){
if (collision.transform.tag == "Player")
{
AuxNadando = collision.transform.GetComponent<ConfigAnimation> ();
AuxNadando.VaiNadar = true;
}
// "VaiNadar" e uma variavel bool do script "ConfigAnimation"
}
}
fiz esse script para que quando o objeto com a tag Player (no caso o personagem) colidisse com o objeto no qual esta o script e ativa-se essa variável boleana. alguém poderia me explicar ou resolver o problema do script ?? (observação: o script esta em C#)
- Código:
using UnityEngine;
using System.Collections;
public class Agua : MonoBehaviour {
void OnCollisionEnter (Collision collision){
if (collision.gameObject.GetComponent<ConfigAnimation>())
collision.transform.GetComponent<ConfigAnimation>().VaiNadar = true;
}
}
Ps.: Não é preciso declarar uma variável "ConfigAnimation", já que o script já vai pegar ela. Não é preciso colocar {} em um if com apenas 2 linhas.
NKKF- ProgramadorMaster
- PONTOS : 4820
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
Na verdade esse meu script estava em java script ai eu tentei converter :DDom3000 escreveu:vc não precisa usar tags
pode fazer assim
dentro do collision:
if(collision.gameObject.GetComponent<ConfigAnimation> ()){
//isto é : se colidiu com um obj que tem o script do player o tal do ConfigAnimation,
não sei ao certo se da para fazer pelo transform como vc fez, faço pelo GameObject
}
Gustavobianco987- Iniciante
- PONTOS : 2507
REPUTAÇÃO : 4
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
Realmente, não use Js, nas novas versões, ele foi removido
NKKF- ProgramadorMaster
- PONTOS : 4820
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
Certo e que eu estava vendo um tutorial antigo e o conteúdo era o que eu precisava estava em jsSouris escreveu:Realmente, não use Js, nas novas versões, ele foi removido
Gustavobianco987- Iniciante
- PONTOS : 2507
REPUTAÇÃO : 4
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
o script e para colocar no objeto que o player vai colidir certo ?Souris escreveu:Gustavobianco987 escreveu:
- Código:
using UnityEngine;
using System.Collections;
public class Agua : MonoBehaviour {
public ConfigAnimation AuxNadando;
void OnCollosionEnter ( Collision collision ){
if (collision.transform.tag == "Player")
{
AuxNadando = collision.transform.GetComponent<ConfigAnimation> ();
AuxNadando.VaiNadar = true;
}
// "VaiNadar" e uma variavel bool do script "ConfigAnimation"
}
}
fiz esse script para que quando o objeto com a tag Player (no caso o personagem) colidisse com o objeto no qual esta o script e ativa-se essa variável boleana. alguém poderia me explicar ou resolver o problema do script ?? (observação: o script esta em C#)(Juntei os scripts e ajustei algumas coisas)
- Código:
using UnityEngine;
using System.Collections;
public class Agua : MonoBehaviour {
void OnCollisionEnter (Collision collision){
if (collision.gameObject.GetComponent<ConfigAnimation>())
collision.transform.GetComponent<ConfigAnimation>().VaiNadar = true;
}
}
Ps.: Não é preciso declarar uma variável "ConfigAnimation", já que o script já vai pegar ela. Não é preciso colocar {} em um if com apenas 2 linhas.
Gustavobianco987- Iniciante
- PONTOS : 2507
REPUTAÇÃO : 4
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
Sim, que no seu caso, a água.
NKKF- ProgramadorMaster
- PONTOS : 4820
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
mesmo assim não funcionou adicionai ele na água , e iniciei o play mas não aconteceu nada sera que temque especifica o objeto q temque colidir para executar o script por exemplo só os objetos com a tag player executa-se o script ?Souris escreveu:Sim, que no seu caso, a água.
Gustavobianco987- Iniciante
- PONTOS : 2507
REPUTAÇÃO : 4
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
Responda:
1.Você quer que o seu objeto entre na água e execute a animação? ou que ele toque na água e execute a animação?
2.Você colocou o outro script dentro do player?
3.A animação existe?
4.O player possui os Scripts?
5.O Script da Agua está em um collider?
1.Você quer que o seu objeto entre na água e execute a animação? ou que ele toque na água e execute a animação?
2.Você colocou o outro script dentro do player?
3.A animação existe?
4.O player possui os Scripts?
5.O Script da Agua está em um collider?
NKKF- ProgramadorMaster
- PONTOS : 4820
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
bom é o seguinte eu tenho a água normal e um pouco mais embaixo eu tenho uma água com um collider ou seja ela e solida. eu quero que quando o player pisar nessa água solida ative a variável bool "vaiNadar" para então executar a animação nadando. tenho dois scripts desse estilo que estou tentando fazer um ativa a variável quando o player pisar na água solida e outra que desativa a variável quando o player pisar na terra ou seja no terreno o player tem os scripts de animações e também o configAnimation onde esta a variável que quero ativa e desativa .Souris escreveu:Responda:
1.Você quer que o seu objeto entre na água e execute a animação? ou que ele toque na água e execute a animação?
2.Você colocou o outro script dentro do player?
3.A animação existe?
4.O player possui os Scripts?
5.O Script da Agua está em um collider?
Gustavobianco987- Iniciante
- PONTOS : 2507
REPUTAÇÃO : 4
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
Ok,Gustavobianco987 escreveu:bom é o seguinte eu tenho a água normal e um pouco mais embaixo eu tenho uma água com um collider ou seja ela e solida. eu quero que quando o player pisar nessa água solida ative a variável bool "vaiNadar" para então executar a animação nadando. tenho dois scripts desse estilo que estou tentando fazer um ativa a variável quando o player pisar na água solida e outra que desativa a variável quando o player pisar na terra ou seja no terreno o player tem os scripts de animações e também o configAnimation onde esta a variável que quero ativa e desativa .Souris escreveu:Responda:
1.Você quer que o seu objeto entre na água e execute a animação? ou que ele toque na água e execute a animação?
2.Você colocou o outro script dentro do player?
3.A animação existe?
4.O player possui os Scripts?
5.O Script da Agua está em um collider?
Você colocou o Script Agua dentro de um Objeto que possui um collider?
NKKF- ProgramadorMaster
- PONTOS : 4820
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
sim criei um Gameobject e adicionei um box colliderSouris escreveu:Ok,Gustavobianco987 escreveu:bom é o seguinte eu tenho a água normal e um pouco mais embaixo eu tenho uma água com um collider ou seja ela e solida. eu quero que quando o player pisar nessa água solida ative a variável bool "vaiNadar" para então executar a animação nadando. tenho dois scripts desse estilo que estou tentando fazer um ativa a variável quando o player pisar na água solida e outra que desativa a variável quando o player pisar na terra ou seja no terreno o player tem os scripts de animações e também o configAnimation onde esta a variável que quero ativa e desativa .Souris escreveu:Responda:
1.Você quer que o seu objeto entre na água e execute a animação? ou que ele toque na água e execute a animação?
2.Você colocou o outro script dentro do player?
3.A animação existe?
4.O player possui os Scripts?
5.O Script da Agua está em um collider?
Você colocou o Script Agua dentro de um Objeto que possui um collider?
Gustavobianco987- Iniciante
- PONTOS : 2507
REPUTAÇÃO : 4
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
O player possui o Script ConfigAnimation?
NKKF- ProgramadorMaster
- PONTOS : 4820
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
simSouris escreveu:O player possui o Script ConfigAnimation?
Gustavobianco987- Iniciante
- PONTOS : 2507
REPUTAÇÃO : 4
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
Faz um Debug do OnCollisionEnter?
NKKF- ProgramadorMaster
- PONTOS : 4820
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
como assim ?Souris escreveu:Faz um Debug do OnCollisionEnter?
Gustavobianco987- Iniciante
- PONTOS : 2507
REPUTAÇÃO : 4
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
Debug.Log("..."); tipo assim ?Souris escreveu:Faz um Debug do OnCollisionEnter?
Gustavobianco987- Iniciante
- PONTOS : 2507
REPUTAÇÃO : 4
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
Sim.Gustavobianco987 escreveu:Debug.Log("..."); tipo assim ?Souris escreveu:Faz um Debug do OnCollisionEnter?
NKKF- ProgramadorMaster
- PONTOS : 4820
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
Souris escreveu:Sim.Gustavobianco987 escreveu:Debug.Log("..."); tipo assim ?Souris escreveu:Faz um Debug do OnCollisionEnter?
- Código:
using UnityEngine;
using System.Collections;
public class Agua : MonoBehaviour {
public ConfigAnimation VaiNadar;
void Start ()
{
VaiNadar = GetComponent<ConfigAnimation> ();
}
void OnCollisionEnter (Collision collision){
if (collision.gameObject.GetComponent<ConfigAnimation> ())
{
collision.transform.GetComponent<ConfigAnimation> ().VaiNadar = true;
}
if (VaiNadar == true) {
Debug.Log("Test");
}
}
}
fiz esse comando ai deveria aparecer essa mensagem se VaiNadar for True Certo ?
Gustavobianco987- Iniciante
- PONTOS : 2507
REPUTAÇÃO : 4
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
Cara, fazer um Debug é mais pessoal, você decide
NKKF- ProgramadorMaster
- PONTOS : 4820
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
nesse caso especifico não, mas se fosse modificar varias coisas é bom fazer uma variavel para fins praticosSouris escreveu:Gustavobianco987 escreveu:
- Código:
using UnityEngine;
using System.Collections;
public class Agua : MonoBehaviour {
public ConfigAnimation AuxNadando;
void OnCollosionEnter ( Collision collision ){
if (collision.transform.tag == "Player")
{
AuxNadando = collision.transform.GetComponent<ConfigAnimation> ();
AuxNadando.VaiNadar = true;
}
// "VaiNadar" e uma variavel bool do script "ConfigAnimation"
}
}
fiz esse script para que quando o objeto com a tag Player (no caso o personagem) colidisse com o objeto no qual esta o script e ativa-se essa variável boleana. alguém poderia me explicar ou resolver o problema do script ?? (observação: o script esta em C#)(Juntei os scripts e ajustei algumas coisas)
- Código:
using UnityEngine;
using System.Collections;
public class Agua : MonoBehaviour {
void OnCollisionEnter (Collision collision){
if (collision.gameObject.GetComponent<ConfigAnimation>())
collision.transform.GetComponent<ConfigAnimation>().VaiNadar = true;
}
}
Ps.: Não é preciso declarar uma variável "ConfigAnimation", já que o script já vai pegar ela. Não é preciso colocar {} em um if com apenas 2 linhas.
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
deve estar faltando o RigidBody na sua agua,coloque marque como isKinematic para ela nao cair e desative a gravity, acho melhor vc colocar um trigger que vai na agua e cubra toda a area da agua, assim quando o player entrar na agua, ativar a sua bool,
dai em vez de vc usar o collision usa OnTriggerEnter(){}
dai em vez de vc usar o collision usa OnTriggerEnter(){}
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
como adiciono um Trigger ?Dom3000 escreveu:deve estar faltando o RigidBody na sua agua,coloque marque como isKinematic para ela nao cair e desative a gravity, acho melhor vc colocar um trigger que vai na agua e cubra toda a area da agua, assim quando o player entrar na agua, ativar a sua bool,
dai em vez de vc usar o collision usa OnTriggerEnter(){}
Gustavobianco987- Iniciante
- PONTOS : 2507
REPUTAÇÃO : 4
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
Você adiciona o Collider, e depois marca a caixinha isTrigger dentro do componenteGustavobianco987 escreveu:como adiciono um Trigger ?Dom3000 escreveu:deve estar faltando o RigidBody na sua agua,coloque marque como isKinematic para ela nao cair e desative a gravity, acho melhor vc colocar um trigger que vai na agua e cubra toda a area da agua, assim quando o player entrar na agua, ativar a sua bool,
dai em vez de vc usar o collision usa OnTriggerEnter(){}
NKKF- ProgramadorMaster
- PONTOS : 4820
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
- Código:
using UnityEngine;
using System.Collections;
public class Agua : MonoBehaviour {
public ConfigAnimation VaiNadar;
void Start ()
{
VaiNadar = GetComponent<ConfigAnimation> ();
}
void OnTriggerEnter (Collision collision){
if (collision.gameObject.GetComponent<ConfigAnimation> ())
{
collision.transform.GetComponent<ConfigAnimation> ().VaiNadar = true;
}
if (VaiNadar == true) {
Debug.Log("Test");
}
}
}
ai o script Vai ficar assim ?Dom3000 escreveu:deve estar faltando o RigidBody na sua agua,coloque marque como isKinematic para ela nao cair e desative a gravity, acho melhor vc colocar um trigger que vai na agua e cubra toda a area da agua, assim quando o player entrar na agua, ativar a sua bool,
dai em vez de vc usar o collision usa OnTriggerEnter(){}
Gustavobianco987- Iniciante
- PONTOS : 2507
REPUTAÇÃO : 4
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
Amigo, vou te ajudar, e muito:Gustavobianco987 escreveu:
- Código:
using UnityEngine;
using System.Collections;
public class Agua : MonoBehaviour {
public ConfigAnimation VaiNadar;
void Start ()
{
VaiNadar = GetComponent<ConfigAnimation> ();
}
void OnTriggerEnter (Collision collision){
if (collision.gameObject.GetComponent<ConfigAnimation> ())
{
collision.transform.GetComponent<ConfigAnimation> ().VaiNadar = true;
}
if (VaiNadar == true) {
Debug.Log("Test");
}
}
}ai o script Vai ficar assim ?Dom3000 escreveu:deve estar faltando o RigidBody na sua agua,coloque marque como isKinematic para ela nao cair e desative a gravity, acho melhor vc colocar um trigger que vai na agua e cubra toda a area da agua, assim quando o player entrar na agua, ativar a sua bool,
dai em vez de vc usar o collision usa OnTriggerEnter(){}
- Código:
using UnityEngine;
using System.Collections;
public class Agua : MonoBehaviour {
void OnTriggerEnter (Collider other){
Debug.log("OnTriggerEnter está funcionando");
if (other.gameObject.GetComponent<ConfigAnimation> ())
{
Debug.Log("Funcionando Perfeitamente");
other.transform.GetComponent<ConfigAnimation>().VaiNadar = true;
}
if (VaiNadar == true)
Debug.Log("Vai nadar está true");
}
}
Por favor amigo, teste o script e vá aperfeiçoando. Errando é que se aprende. :D Boa sorte.
NKKF- ProgramadorMaster
- PONTOS : 4820
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
Olá pelo que eu entendi quer que quando entrar na água comece nadar, usei isso recente da forma a baixo mas ai vai depender da tua logica e projeto, coloquei o script a baixo no player que geralmente tem o RigidBody, coloca um BoxCollider na agua marca como Trigger e a Tag "Agua"...
Desta forma enquanto o player estiver em contato com a água (Trigger e Tag = "Agua") o parametro Bool "Nadando" do Animator ficara verdadeiro.
- Código:
using UnityEngine;
using System.Collections;
public class Agua : MonoBehaviour {
public Animator anim;
void Start(){
anim = GetComponent<Animator>();
}
void OnTriggerStay (Collider entrou){
if (entrou.gameObject.tag == "Agua")
{
anim.SetBool("Nadando", true);
}
else {
anim.SetBool("Nadando", false);
}
}
}
Desta forma enquanto o player estiver em contato com a água (Trigger e Tag = "Agua") o parametro Bool "Nadando" do Animator ficara verdadeiro.
kalielson- ProgramadorMaster
- PONTOS : 3575
REPUTAÇÃO : 120
Idade : 40
Áreas de atuação : Mestrando em Computação
Respeito as regras :
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
obs: a void OnTriggerStay é extremamente pesada não se deve usar só em ultimos casos até hoje não achei umkalielson escreveu:Olá pelo que eu entendi quer que quando entrar na água comece nadar, usei isso recente da forma a baixo mas ai vai depender da tua logica e projeto, coloquei o script a baixo no player que geralmente tem o RigidBody, coloca um BoxCollider na agua marca como Trigger e a Tag "Agua"...
- Código:
using UnityEngine;
using System.Collections;
public class Agua : MonoBehaviour {
public Animator anim;
void Start(){
anim = GetComponent<Animator>();
}
void OnTriggerStay (Collider entrou){
if (entrou.gameObject.tag == "Agua")
{
anim.SetBool("Nadando", true);
}
else {
anim.SetBool("Nadando", false);
}
}
}
Desta forma enquanto o player estiver em contato com a água (Trigger e Tag = "Agua") o parametro Bool "Nadando" do Animator ficara verdadeiro.
Re: Porque esse script não esta funcionando alguém poderia me explicar ??
Realmente, então, por isso acho que este OnTriggerStay deveria ir para o Player, assim só precisaria ser chamado no Player, e não na Água, inimigos, portas, etc.. :D
NKKF- ProgramadorMaster
- PONTOS : 4820
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Tópicos semelhantes
» Alguem poderia me explicar um pouco sobre GetAxisRaw?
» Alguém poderia me ajudar a entender esse script
» Alguém poderia mudar esse script pra botão
» Alguem sabe explicar o que é o C# Job System e para o que ele serve
» Ajuda Urgente como chamo a animação no script alguém poderia dar uma ajuda???
» Alguém poderia me ajudar a entender esse script
» Alguém poderia mudar esse script pra botão
» Alguem sabe explicar o que é o C# Job System e para o que ele serve
» Ajuda Urgente como chamo a animação no script alguém poderia dar uma ajuda???
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos