Oque tem de errado nesse skript ele nao esta voltando a ficar off
5 participantes
Página 1 de 1
Oque tem de errado nesse skript ele nao esta voltando a ficar off
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Teste : MonoBehaviour
{
public GameObject car;
public string Car;
void Start ()
{
Debug.Log("Esta funcionando");
}
void Update () {
if (Input.GetKeyDown(KeyCode.F)) {
(car. GetComponent(Car) as MonoBehaviour).enabled = false;
}
else if (Input.GetKeyDown(KeyCode.F)) {
(car. GetComponent(Car) as MonoBehaviour).enabled = true;
}
}
}
ELE ESTA CORRETO?
COLOQUEI VARIAS FORMAS DE ELSE IF ATE TIREI O ELSE E COLOQUEI LA EM CIMA E NAO FUNCIONA DA ERRO
NO CASSO ESSE SKRIPT AI QUE TA AGORA ELE TA FUNCIONANDO A PRIMEIRA OPÇAO QUE É DESLIGAR O SKRIPT CARRO MAS NAO TA LIGANDO DE VOLTA.
Felipe42- Avançado
- PONTOS : 2029
REPUTAÇÃO : 1
Respeito as regras :
Re: Oque tem de errado nesse skript ele nao esta voltando a ficar off
ESTA DANDO ESTE ERRO: https://prnt.sc/qsz2e7
Felipe42- Avançado
- PONTOS : 2029
REPUTAÇÃO : 1
Respeito as regras :
Re: Oque tem de errado nesse skript ele nao esta voltando a ficar off
no caso nao esta dando nenhum erro mas tambem nao funciona
Felipe42- Avançado
- PONTOS : 2029
REPUTAÇÃO : 1
Respeito as regras :
Re: Oque tem de errado nesse skript ele nao esta voltando a ficar off
Felipe, com todo respeito, parece que você está apertando botões aleatoriamente torcendo pro código funcionar.
Para um pouco, tira uma semana pra estudar C#, o Marcos mesmo tem uma série de C# voltado pra Unity. Garanto que depois disso você vai ter ao menos uma noção do que procurar pra fazer as coisas funcionarem.
Para um pouco, tira uma semana pra estudar C#, o Marcos mesmo tem uma série de C# voltado pra Unity. Garanto que depois disso você vai ter ao menos uma noção do que procurar pra fazer as coisas funcionarem.
Fagner- Moderador
- PONTOS : 4443
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Re: Oque tem de errado nesse skript ele nao esta voltando a ficar off
'-'
Está fazendo a condição ser a tecla F no IF e depois no else ser a mesma tecla? Isso não faz sentido.
O else serve justamente para ser a outra opção, caso a verificação no IF não retorne true, colocar o mesmo comando nas duas expressões é estranho e não vai funcionar mesmo.
Acredito que você deseje que o objeto ative e desative pressionando a tecla F, não é mesmo?
Caso for esse o seu desejo, coloque o script abaixo em um objeto vazio da cena, e no inspector, coloque através da variável "car" o objeto do carro que quer desativar/ativar.
Mas mesmo assim, como disse o Fagner, também recomendo que veja aulas iniciais de C#, porque como pode ver o código e a lógica são muito simples.
Está fazendo a condição ser a tecla F no IF e depois no else ser a mesma tecla? Isso não faz sentido.
O else serve justamente para ser a outra opção, caso a verificação no IF não retorne true, colocar o mesmo comando nas duas expressões é estranho e não vai funcionar mesmo.
Acredito que você deseje que o objeto ative e desative pressionando a tecla F, não é mesmo?
Caso for esse o seu desejo, coloque o script abaixo em um objeto vazio da cena, e no inspector, coloque através da variável "car" o objeto do carro que quer desativar/ativar.
- Código:
using UnityEngine;
public class CarActivate : MonoBehaviour {
public GameObject car;
private bool activateObject = true;
private void Update (){
if(Input.GetKeyDown(KeyCode.F))
activateObject = !activateObject;
car.gameObject.SetActivate(activateObject);
}
}
Mas mesmo assim, como disse o Fagner, também recomendo que veja aulas iniciais de C#, porque como pode ver o código e a lógica são muito simples.
Re: Oque tem de errado nesse skript ele nao esta voltando a ficar off
nao man esse q vc mandou n tem nada a ve entao n funciona no caso oque o skript ta dando é que ele n ta reconhecendo o segundo if entao n ta funcionando
Felipe42- Avançado
- PONTOS : 2029
REPUTAÇÃO : 1
Respeito as regras :
Re: Oque tem de errado nesse skript ele nao esta voltando a ficar off
man em questao de aprender skript eu procuro so q em vez de eles ensinarem eles fazem o skript e deixa o download como q eu vou aprender assim man, voces aprenderam nao sei como, eu procuro alguns skripts e nao acho eu procuro codigos ou variaveis e nao acho eu procuro forum eu nao acho alem desse que nao permiti fazer pedido sendo q ja vi um monte de gente fazendo pedido e foi recebido.
eu queria so um site q eu podesse procurar variaves skritps sla codigos
eu queria so um site q eu podesse procurar variaves skritps sla codigos
Felipe42- Avançado
- PONTOS : 2029
REPUTAÇÃO : 1
Respeito as regras :
Re: Oque tem de errado nesse skript ele nao esta voltando a ficar off
Um bom começo para aprender a escrever codigos é aprender antes de tudo logica de programação, assim depois de aprender logica de programação, vc escolhe uma linguagem (c# é a linguagem que a unity usa), dai vc pode aprender o c# puro que ja ajuda mt a escrever scripts em C#, caso nao queira aprender o c# puro vc pode aprender direto C# para unity, foi assim que comecei e sempre pensei igual a vc, porem acabei encontrando um curso de algoritmo em um canal do youtube chamado curso em video, foi ai que esclareci como funcionava, como a usar o (if) que é um coisa crucial na programação, tudo isso vc aprende com o tempo, quando vc ver ja vai estar programando que nem louco, a questão é nunca desistir. Entenda vc nunca vai saber de tudo sobre programação pois sempre ira estar aparecendo novas tecnologias.
Existe a documentação da Unity, la tem todos os "Codigos" para montar seus scripts que a unity usa, mas tem que estudar eles para poder usa-los certos, creio que vc tera que aprender com o tempo tambem o C# puro (basico ou intermediario) para ter um melhor intendimento ao longo do tempo.
curso de logica de programação (curso de algoritmo) --- https://www.youtube.com/watch?v=8mei6uVttho&list=PLHz_AreHm4dmSj0MHol_aoNYCSGFqvfXV
As playlists do canal do marcos ---- https://www.youtube.com/channel/UCsXIdvfp138xs1K1eTsaezQ/playlists
documentação da unity caso queira ---- https://docs.unity3d.com/ScriptReference/
obs : nunca tente abrir scripts complexos no inicio da aprendizagem para tentar entender ou estudar pois isso só ira lhe trazer dor de cabeça e desanimo.
Existe a documentação da Unity, la tem todos os "Codigos" para montar seus scripts que a unity usa, mas tem que estudar eles para poder usa-los certos, creio que vc tera que aprender com o tempo tambem o C# puro (basico ou intermediario) para ter um melhor intendimento ao longo do tempo.
curso de logica de programação (curso de algoritmo) --- https://www.youtube.com/watch?v=8mei6uVttho&list=PLHz_AreHm4dmSj0MHol_aoNYCSGFqvfXV
As playlists do canal do marcos ---- https://www.youtube.com/channel/UCsXIdvfp138xs1K1eTsaezQ/playlists
documentação da unity caso queira ---- https://docs.unity3d.com/ScriptReference/
obs : nunca tente abrir scripts complexos no inicio da aprendizagem para tentar entender ou estudar pois isso só ira lhe trazer dor de cabeça e desanimo.
poyser- Avançado
- PONTOS : 3034
REPUTAÇÃO : 46
Idade : 26
Áreas de atuação : https://play.google.com/store/apps/dev?id=6312026995180986052
Respeito as regras :
Re: Oque tem de errado nesse skript ele nao esta voltando a ficar off
Bom...Vamos lá cara... Primeira coisa...
"Sempre procure o caminho, e não um dedo que lhe aponte um."
Desculpa se parece que to sendo arrogante, mas se escreve "script". Eu não sei qual é seu dom primário, é claro que meu dom primário é a programação, mas cara... Todos nós aprendemos de uma forma... E essa forma é conhecida como Engenharia Reversa e Estudo.
A partir da hora que você souber o que CADA linha do código faz, você saberá criar seu PRÓPRIO script com suas PRÓPRIAS funcionalidades, você precisa ser criativo cara... É como pilotar... Como você vai pilotar uma moto sem saber o por que de o acelerador fazer com que a moto ande, ou sen saber o por que de usar a embreagem a cada troca de marchas.
Com a programação é a mesma coisa.
PRIMEIRO: Aprenda a lógica de programação. O que é isso? A lógica da programação consiste em..
Condições, O que fazer se X condição for verdadeira ou falsa. Exemplo?
Vamos a um exemplo básico:
Acordo de manhã e quero sair de casa. Vejo a porta.
if(porta == "trancada"){
DestrancaAbrePorta();
}
if(porta != "trancada"){
AbrePorta();
}
Conseguiu entender a base por trás disso? A programação é a arte de diser ao processador, o que fazer. Nós apontamos o dedo para que a máquina siga o caminho, e não ao contrario.
Explicando. No primeito IF ("se" em portugues) eu disse pra maquina... Se a porta estiver trancada.... A destranco e a abro. No segundo IF digo que se ja estiver destrancada, a abro simplesmente.
Quer um conselho? Pegue scripts prontos, mas estude-os, faça modificações, se você vê um GetComponent() no script, mas não sabe o que esse método (comando) faz, pesquise. Seja auto didata... Nós ajudamos sim, mas da muito mais prazer ajudar alguém qur quer aprender de verdade... Na programação não é como 3D, não da pra pegar um asset pronto e funcionará se encaixando magicamente no seu projeto. Cada projeto exige scripts feitos sob medida para cada jogo, por isso é importante saber criar seus próprios códigos.
Ps: GetComponent() = Faz com que seu script acesse um outro Componente em um GameObject (por exemplo, acessar um AudioSource e dar Play).
Desculpe se pareci arrogante. Não foi a intenção, isso foi apenas para que veja o melhor pra ti. Que isso sirva para outros no futuro também...
"Sempre procure o caminho, e não um dedo que lhe aponte um."
Desculpa se parece que to sendo arrogante, mas se escreve "script". Eu não sei qual é seu dom primário, é claro que meu dom primário é a programação, mas cara... Todos nós aprendemos de uma forma... E essa forma é conhecida como Engenharia Reversa e Estudo.
A partir da hora que você souber o que CADA linha do código faz, você saberá criar seu PRÓPRIO script com suas PRÓPRIAS funcionalidades, você precisa ser criativo cara... É como pilotar... Como você vai pilotar uma moto sem saber o por que de o acelerador fazer com que a moto ande, ou sen saber o por que de usar a embreagem a cada troca de marchas.
Com a programação é a mesma coisa.
PRIMEIRO: Aprenda a lógica de programação. O que é isso? A lógica da programação consiste em..
Condições, O que fazer se X condição for verdadeira ou falsa. Exemplo?
Vamos a um exemplo básico:
Acordo de manhã e quero sair de casa. Vejo a porta.
if(porta == "trancada"){
DestrancaAbrePorta();
}
if(porta != "trancada"){
AbrePorta();
}
Conseguiu entender a base por trás disso? A programação é a arte de diser ao processador, o que fazer. Nós apontamos o dedo para que a máquina siga o caminho, e não ao contrario.
Explicando. No primeito IF ("se" em portugues) eu disse pra maquina... Se a porta estiver trancada.... A destranco e a abro. No segundo IF digo que se ja estiver destrancada, a abro simplesmente.
Quer um conselho? Pegue scripts prontos, mas estude-os, faça modificações, se você vê um GetComponent() no script, mas não sabe o que esse método (comando) faz, pesquise. Seja auto didata... Nós ajudamos sim, mas da muito mais prazer ajudar alguém qur quer aprender de verdade... Na programação não é como 3D, não da pra pegar um asset pronto e funcionará se encaixando magicamente no seu projeto. Cada projeto exige scripts feitos sob medida para cada jogo, por isso é importante saber criar seus próprios códigos.
Ps: GetComponent() = Faz com que seu script acesse um outro Componente em um GameObject (por exemplo, acessar um AudioSource e dar Play).
Desculpe se pareci arrogante. Não foi a intenção, isso foi apenas para que veja o melhor pra ti. Que isso sirva para outros no futuro também...
Re: Oque tem de errado nesse skript ele nao esta voltando a ficar off
marcos4503 escreveu:Bom...Vamos lá cara... Primeira coisa...
"Sempre procure o caminho, e não um dedo que lhe aponte um."
Desculpa se parece que to sendo arrogante, mas se escreve "script". Eu não sei qual é seu dom primário, é claro que meu dom primário é a programação, mas cara... Todos nós aprendemos de uma forma... E essa forma é conhecida como Engenharia Reversa e Estudo.
A partir da hora que você souber o que CADA linha do código faz, você saberá criar seu PRÓPRIO script com suas PRÓPRIAS funcionalidades, você precisa ser criativo cara... É como pilotar... Como você vai pilotar uma moto sem saber o por que de o acelerador fazer com que a moto ande, ou sen saber o por que de usar a embreagem a cada troca de marchas.
Com a programação é a mesma coisa.
PRIMEIRO: Aprenda a lógica de programação. O que é isso? A lógica da programação consiste em..
Condições, O que fazer se X condição for verdadeira ou falsa. Exemplo?
Vamos a um exemplo básico:
Acordo de manhã e quero sair de casa. Vejo a porta.
if(porta == "trancada"){
DestrancaAbrePorta();
}
if(porta != "trancada"){
AbrePorta();
}
Conseguiu entender a base por trás disso? A programação é a arte de diser ao processador, o que fazer. Nós apontamos o dedo para que a máquina siga o caminho, e não ao contrario.
Explicando. No primeito IF ("se" em portugues) eu disse pra maquina... Se a porta estiver trancada.... A destranco e a abro. No segundo IF digo que se ja estiver destrancada, a abro simplesmente.
Quer um conselho? Pegue scripts prontos, mas estude-os, faça modificações, se você vê um GetComponent() no script, mas não sabe o que esse método (comando) faz, pesquise. Seja auto didata... Nós ajudamos sim, mas da muito mais prazer ajudar alguém qur quer aprender de verdade... Na programação não é como 3D, não da pra pegar um asset pronto e funcionará se encaixando magicamente no seu projeto. Cada projeto exige scripts feitos sob medida para cada jogo, por isso é importante saber criar seus próprios códigos.
Ps: GetComponent() = Faz com que seu script acesse um outro Componente em um GameObject (por exemplo, acessar um AudioSource e dar Play).
Desculpe se pareci arrogante. Não foi a intenção, isso foi apenas para que veja o melhor pra ti. Que isso sirva para outros no futuro também...
entendi cara vlw
Felipe42- Avançado
- PONTOS : 2029
REPUTAÇÃO : 1
Respeito as regras :
Re: Oque tem de errado nesse skript ele nao esta voltando a ficar off
marcos4503 escreveu:Bom...Vamos lá cara... Primeira coisa...
"Sempre procure o caminho, e não um dedo que lhe aponte um."
Desculpa se parece que to sendo arrogante, mas se escreve "script". Eu não sei qual é seu dom primário, é claro que meu dom primário é a programação, mas cara... Todos nós aprendemos de uma forma... E essa forma é conhecida como Engenharia Reversa e Estudo.
A partir da hora que você souber o que CADA linha do código faz, você saberá criar seu PRÓPRIO script com suas PRÓPRIAS funcionalidades, você precisa ser criativo cara... É como pilotar... Como você vai pilotar uma moto sem saber o por que de o acelerador fazer com que a moto ande, ou sen saber o por que de usar a embreagem a cada troca de marchas.
Com a programação é a mesma coisa.
PRIMEIRO: Aprenda a lógica de programação. O que é isso? A lógica da programação consiste em..
Condições, O que fazer se X condição for verdadeira ou falsa. Exemplo?
Vamos a um exemplo básico:
Acordo de manhã e quero sair de casa. Vejo a porta.
if(porta == "trancada"){
DestrancaAbrePorta();
}
if(porta != "trancada"){
AbrePorta();
}
Conseguiu entender a base por trás disso? A programação é a arte de diser ao processador, o que fazer. Nós apontamos o dedo para que a máquina siga o caminho, e não ao contrario.
Explicando. No primeito IF ("se" em portugues) eu disse pra maquina... Se a porta estiver trancada.... A destranco e a abro. No segundo IF digo que se ja estiver destrancada, a abro simplesmente.
Quer um conselho? Pegue scripts prontos, mas estude-os, faça modificações, se você vê um GetComponent() no script, mas não sabe o que esse método (comando) faz, pesquise. Seja auto didata... Nós ajudamos sim, mas da muito mais prazer ajudar alguém qur quer aprender de verdade... Na programação não é como 3D, não da pra pegar um asset pronto e funcionará se encaixando magicamente no seu projeto. Cada projeto exige scripts feitos sob medida para cada jogo, por isso é importante saber criar seus próprios códigos.
Ps: GetComponent() = Faz com que seu script acesse um outro Componente em um GameObject (por exemplo, acessar um AudioSource e dar Play).
Desculpe se pareci arrogante. Não foi a intenção, isso foi apenas para que veja o melhor pra ti. Que isso sirva para outros no futuro também...
entendi cara vlw
Felipe42- Avançado
- PONTOS : 2029
REPUTAÇÃO : 1
Respeito as regras :
Re: Oque tem de errado nesse skript ele nao esta voltando a ficar off
Felipe42 escreveu:marcos4503 escreveu:Bom...Vamos lá cara... Primeira coisa...
"Sempre procure o caminho, e não um dedo que lhe aponte um."
Desculpa se parece que to sendo arrogante, mas se escreve "script". Eu não sei qual é seu dom primário, é claro que meu dom primário é a programação, mas cara... Todos nós aprendemos de uma forma... E essa forma é conhecida como Engenharia Reversa e Estudo.
A partir da hora que você souber o que CADA linha do código faz, você saberá criar seu PRÓPRIO script com suas PRÓPRIAS funcionalidades, você precisa ser criativo cara... É como pilotar... Como você vai pilotar uma moto sem saber o por que de o acelerador fazer com que a moto ande, ou sen saber o por que de usar a embreagem a cada troca de marchas.
Com a programação é a mesma coisa.
PRIMEIRO: Aprenda a lógica de programação. O que é isso? A lógica da programação consiste em..
Condições, O que fazer se X condição for verdadeira ou falsa. Exemplo?
Vamos a um exemplo básico:
Acordo de manhã e quero sair de casa. Vejo a porta.
if(porta == "trancada"){
DestrancaAbrePorta();
}
if(porta != "trancada"){
AbrePorta();
}
Conseguiu entender a base por trás disso? A programação é a arte de diser ao processador, o que fazer. Nós apontamos o dedo para que a máquina siga o caminho, e não ao contrario.
Explicando. No primeito IF ("se" em portugues) eu disse pra maquina... Se a porta estiver trancada.... A destranco e a abro. No segundo IF digo que se ja estiver destrancada, a abro simplesmente.
Quer um conselho? Pegue scripts prontos, mas estude-os, faça modificações, se você vê um GetComponent() no script, mas não sabe o que esse método (comando) faz, pesquise. Seja auto didata... Nós ajudamos sim, mas da muito mais prazer ajudar alguém qur quer aprender de verdade... Na programação não é como 3D, não da pra pegar um asset pronto e funcionará se encaixando magicamente no seu projeto. Cada projeto exige scripts feitos sob medida para cada jogo, por isso é importante saber criar seus próprios códigos.
Ps: GetComponent() = Faz com que seu script acesse um outro Componente em um GameObject (por exemplo, acessar um AudioSource e dar Play).
Desculpe se pareci arrogante. Não foi a intenção, isso foi apenas para que veja o melhor pra ti. Que isso sirva para outros no futuro também...
entendi cara vlw
eu sempre pego skripts prontos pra entender mais e tals mas a porra do unity sei la n funciona alguns diz q a linguagem é desatualizada eu n entendo
Felipe42- Avançado
- PONTOS : 2029
REPUTAÇÃO : 1
Respeito as regras :
Re: Oque tem de errado nesse skript ele nao esta voltando a ficar off
O C# não é desatualizado, a linguagem que já está em desuso e que fazia parte da Unity no passado era a Unity Script.
Os códigos que apresentamos aqui são todos em C#.
Mais uma dica além das acima, comece pelo fácil. Suba um degrau de cada vez.
Não queria começar fazendo um script de inteligência artificial avançada, tente fazer um simples sistema de apertar um botão e uma mensagem em console aparecer.
Parece idiota, que não vai servir no jogo, mas vai servir para o aprendizado.
Procure entender o que cada comando no código faz, as coisas não estão ali por acaso.
Por exemplo, o código abaixo:
Vamos analisar cada linha?
Essa linha cria uma classe (no caso do Unity, um script) pra você usar em seus objetos da cena. Esse script tem o nome "Teste" e para ele funcionar, o arquivo no seu projeto precisa ter exatamente o mesmo nome da classe.
A parte ": MonoBehaviour" indica que seu script tem comportamento de objeto da Unity, então ele pode ser colocado em objetos da cena.
A linha seguinte possui uma função da Unity muito importante: O Start. Essa função permite executar o que está dentro dela, assim que o objeto ser carregado na cena, daí o nome Start.
Dentro do Start estamos usando o comando Debug.Log para mostrar a mensagem "Olá mundo".
Então se você colocar esse script acima num objeto da cena, logo que esse objeto for carregado a mensagem "Olá mundo" irá aparecer no console.
Viu? Cada linha de código tem um motivo, uma explicação, faz a sua parte separadamente, basta entender o que é o que dali.
Mas então você pensa... Como saber onde abrir essas chaves, aspas, parênteses, porque o Start usa a palavra "void", enquanto o UnityEngine tem a palavra "using" e etc...
Então, quando a gente abre um código e não sabe sobre a linguagem, tudo parece uma sopa de letrinhas, nada faz sentido e não segue um padrão, cada comando é declarado de formas diferentes e só gera mais dúvidas.
Mas isso acontece porque você não estudou a sintaxe da linguagem, ou seja, como ela é escrita e estruturada, porque ali coloca ponto e vírgula e ali não, essas coisas.
Cada linguagem tem a sua sintaxe diferente, por isso é importante estudar sobre aspectos isolados dela.
Por exemplo, inicie seu estudo pelas variáveis, porque são os componentes mais básicos e triviais de qualquer linguagem.
Quando você estudar sobre variáveis, vai entender que a sintaxe para declarar elas é sempre:
modificador, tipo de dado, identificador, fim de comando.
Onde;
Modificador é o nível de acesso a variável, no Unity, se aquela variável vai ficar visível ou não no inspector.
Existem vários modificadores, você vai aprendendo conforme a necessidade, mas os principais:
private => Indica que a variable é privada e não pode ser acessada externamente ou no inspector.
public => Indica que a variable é publica e pode ser acessada externamente e aparece no inspector.
Tipo de dado: Seria qual tipo de informação a variável vai guardar, se é valor numérico de inteiro (int), ou decimal (float), ou de texto (string) ou lógico (bool).
Esses tipos são os principais, mas existem outros.
Identificador: É o nome da variável, pra você pode usar ela durante o código, por exemplo: "vidaDoPersonagem".
Fim de comando: É a notação utilizada em C#, o famoso ponto e vírgula ";" pra indicar que aquele comando acabou.
Então como agora você sabe a sintaxe da declaração de uma variável, não vai mais ficar perdido quando ver essas palavras-chave e essas notações.
Por exemplo, se quiser declarar uma variável pública, que guarda strings, com o nome de "mensagemDeGameOver" você sabe que pode fazer assim:
Modificador, tipo de dado, identificador e final da declaração.
Agora as coisas parecem mais claras?
Outra dúvida que você pode ter... Qual a ordem de aprendizagem, quais conteúdos ver?
Conteúdo é o que não falta, mas se quiser aprender Unity, você precisa aprender o C# que é a linguagem dessa engine.
Normalmente a curva de aprendizagem se dá na seguinte ordem de conceitos:
- Variáveis
- Operações com variáveis
- Estrutura If...else
- Laço de repetição for
- Laços de repetição while e do..while
- Arrays
- Laço de repetição foreach
- Lists
- Estrutura switch..case
- Classes e objetos
- Métodos
- Retorno de métodos
- Namespace
Isso é o básico do C#, se você aprender esse básico acima, mais a lógica de programação, você já consegue resolver muitos dos seus problemas em relação a programação.
Mas isso é a introdução ao C#, como você vai fazer games pelo Unity, deve aprender os comandos e bibliotecas especiais dessa engine:
- Pra que serve o Start, Update, FixedUpadate
- Comandos de entrada (teclas, mouse e etc)
- Vector2 e Vector3
- GetComponent
- Transform e GameObject
- Rigidbody
- OnTriggers e OnColliders
- Invoke e Coroutine
- Raycast e Mask
Só com os conceitos acima você já consegue criar seus próprios Scripts, porque são conceitos principais (claro que existem muitos outros, mas você vai aprendendo com o tempo).
Mas cara, já te passei até o conteúdo que você tem que estudar, primeiro no C# puro e depois na Unity, basta agora querer.
Onde aprender?
Existem muitos canais no YouTube que ensinam C#, eu recomendo o canal da Boson Treinamentos eu aprendi bastante coisas por lá.
Em relação a Unity, tudo o que eu citei ali encima tem no canal do Marcos, tente ver com paciência, mas depois que já aprendeu o básico do C#.
Para fixar o aprendizado, comece pequeno (volta a dica inicial). Pense em desenvolver script simples, sem ficar preso a um tutorial por aí, tente ter uma ideia, pode ser simples, mas tente aplicar o que você aprendeu em um programa bobo, por exemplo, aprendi o que são variáveis e a somar com elas, por que não faço um sistema que calcule a média dos alunos da escola?
Parece bobo e inútil, mas vai fazer você usar os conceitos aprendidos até então apenas na teoria e vai te forçar a pensar, a lembrar da sintaxe, a testar e etc.
E daí vai progredindo, criando programas e Scripts mais complexos, sempre vai aparecer uma dúvida, mas estamos aqui para isso, só que antes Tente! Não somos um fórum de entrega de Scripts prontos, é isso que somos contra e você não entendeu, nós ajudamos quem tentou, fez o seu próprio script mas por alguma razão não funciona. O fórum existe pra isso.
Bom rapaz, já te dei todas as dicas possíveis e mais um pouco, se você quiser aprender mesmo basta segui-las, agora depende de ti. Qualquer dúvida estaremos aqui.
Os códigos que apresentamos aqui são todos em C#.
Mais uma dica além das acima, comece pelo fácil. Suba um degrau de cada vez.
Não queria começar fazendo um script de inteligência artificial avançada, tente fazer um simples sistema de apertar um botão e uma mensagem em console aparecer.
Parece idiota, que não vai servir no jogo, mas vai servir para o aprendizado.
Procure entender o que cada comando no código faz, as coisas não estão ali por acaso.
Por exemplo, o código abaixo:
- Código:
using UnityEngine;
public class Teste : MonoBehaviour {
void Start (){
Debug.Log("Olá mundo");
}
}
Vamos analisar cada linha?
- Código:
using UnityEngine;
- Código:
public class Teste : MonoBehaviour {
}
Essa linha cria uma classe (no caso do Unity, um script) pra você usar em seus objetos da cena. Esse script tem o nome "Teste" e para ele funcionar, o arquivo no seu projeto precisa ter exatamente o mesmo nome da classe.
A parte ": MonoBehaviour" indica que seu script tem comportamento de objeto da Unity, então ele pode ser colocado em objetos da cena.
- Código:
void Start(){
Debug.Log("Olá mundo");
}
A linha seguinte possui uma função da Unity muito importante: O Start. Essa função permite executar o que está dentro dela, assim que o objeto ser carregado na cena, daí o nome Start.
Dentro do Start estamos usando o comando Debug.Log para mostrar a mensagem "Olá mundo".
Então se você colocar esse script acima num objeto da cena, logo que esse objeto for carregado a mensagem "Olá mundo" irá aparecer no console.
Viu? Cada linha de código tem um motivo, uma explicação, faz a sua parte separadamente, basta entender o que é o que dali.
Mas então você pensa... Como saber onde abrir essas chaves, aspas, parênteses, porque o Start usa a palavra "void", enquanto o UnityEngine tem a palavra "using" e etc...
Então, quando a gente abre um código e não sabe sobre a linguagem, tudo parece uma sopa de letrinhas, nada faz sentido e não segue um padrão, cada comando é declarado de formas diferentes e só gera mais dúvidas.
Mas isso acontece porque você não estudou a sintaxe da linguagem, ou seja, como ela é escrita e estruturada, porque ali coloca ponto e vírgula e ali não, essas coisas.
Cada linguagem tem a sua sintaxe diferente, por isso é importante estudar sobre aspectos isolados dela.
Por exemplo, inicie seu estudo pelas variáveis, porque são os componentes mais básicos e triviais de qualquer linguagem.
Quando você estudar sobre variáveis, vai entender que a sintaxe para declarar elas é sempre:
modificador, tipo de dado, identificador, fim de comando.
Onde;
Modificador é o nível de acesso a variável, no Unity, se aquela variável vai ficar visível ou não no inspector.
Existem vários modificadores, você vai aprendendo conforme a necessidade, mas os principais:
private => Indica que a variable é privada e não pode ser acessada externamente ou no inspector.
public => Indica que a variable é publica e pode ser acessada externamente e aparece no inspector.
Tipo de dado: Seria qual tipo de informação a variável vai guardar, se é valor numérico de inteiro (int), ou decimal (float), ou de texto (string) ou lógico (bool).
Esses tipos são os principais, mas existem outros.
Identificador: É o nome da variável, pra você pode usar ela durante o código, por exemplo: "vidaDoPersonagem".
Fim de comando: É a notação utilizada em C#, o famoso ponto e vírgula ";" pra indicar que aquele comando acabou.
Então como agora você sabe a sintaxe da declaração de uma variável, não vai mais ficar perdido quando ver essas palavras-chave e essas notações.
Por exemplo, se quiser declarar uma variável pública, que guarda strings, com o nome de "mensagemDeGameOver" você sabe que pode fazer assim:
- Código:
public string mensagemDeGameOver;
Modificador, tipo de dado, identificador e final da declaração.
Agora as coisas parecem mais claras?
Outra dúvida que você pode ter... Qual a ordem de aprendizagem, quais conteúdos ver?
Conteúdo é o que não falta, mas se quiser aprender Unity, você precisa aprender o C# que é a linguagem dessa engine.
Normalmente a curva de aprendizagem se dá na seguinte ordem de conceitos:
- Variáveis
- Operações com variáveis
- Estrutura If...else
- Laço de repetição for
- Laços de repetição while e do..while
- Arrays
- Laço de repetição foreach
- Lists
- Estrutura switch..case
- Classes e objetos
- Métodos
- Retorno de métodos
- Namespace
Isso é o básico do C#, se você aprender esse básico acima, mais a lógica de programação, você já consegue resolver muitos dos seus problemas em relação a programação.
Mas isso é a introdução ao C#, como você vai fazer games pelo Unity, deve aprender os comandos e bibliotecas especiais dessa engine:
- Pra que serve o Start, Update, FixedUpadate
- Comandos de entrada (teclas, mouse e etc)
- Vector2 e Vector3
- GetComponent
- Transform e GameObject
- Rigidbody
- OnTriggers e OnColliders
- Invoke e Coroutine
- Raycast e Mask
Só com os conceitos acima você já consegue criar seus próprios Scripts, porque são conceitos principais (claro que existem muitos outros, mas você vai aprendendo com o tempo).
Mas cara, já te passei até o conteúdo que você tem que estudar, primeiro no C# puro e depois na Unity, basta agora querer.
Onde aprender?
Existem muitos canais no YouTube que ensinam C#, eu recomendo o canal da Boson Treinamentos eu aprendi bastante coisas por lá.
Em relação a Unity, tudo o que eu citei ali encima tem no canal do Marcos, tente ver com paciência, mas depois que já aprendeu o básico do C#.
Para fixar o aprendizado, comece pequeno (volta a dica inicial). Pense em desenvolver script simples, sem ficar preso a um tutorial por aí, tente ter uma ideia, pode ser simples, mas tente aplicar o que você aprendeu em um programa bobo, por exemplo, aprendi o que são variáveis e a somar com elas, por que não faço um sistema que calcule a média dos alunos da escola?
Parece bobo e inútil, mas vai fazer você usar os conceitos aprendidos até então apenas na teoria e vai te forçar a pensar, a lembrar da sintaxe, a testar e etc.
E daí vai progredindo, criando programas e Scripts mais complexos, sempre vai aparecer uma dúvida, mas estamos aqui para isso, só que antes Tente! Não somos um fórum de entrega de Scripts prontos, é isso que somos contra e você não entendeu, nós ajudamos quem tentou, fez o seu próprio script mas por alguma razão não funciona. O fórum existe pra isso.
Bom rapaz, já te dei todas as dicas possíveis e mais um pouco, se você quiser aprender mesmo basta segui-las, agora depende de ti. Qualquer dúvida estaremos aqui.
Re: Oque tem de errado nesse skript ele nao esta voltando a ficar off
MayLeone escreveu:O C# não é desatualizado, a linguagem que já está em desuso e que fazia parte da Unity no passado era a Unity Script.
Os códigos que apresentamos aqui são todos em C#.
Mais uma dica além das acima, comece pelo fácil. Suba um degrau de cada vez.
Não queria começar fazendo um script de inteligência artificial avançada, tente fazer um simples sistema de apertar um botão e uma mensagem em console aparecer.
Parece idiota, que não vai servir no jogo, mas vai servir para o aprendizado.
Procure entender o que cada comando no código faz, as coisas não estão ali por acaso.
Por exemplo, o código abaixo:
- Código:
using UnityEngine;
public class Teste : MonoBehaviour {
void Start (){
Debug.Log("Olá mundo");
}
}
Vamos analisar cada linha?Essa linha diz que estamos usando a biblioteca da Unity "UnityEngine" para poder usar os componentes exclusivos dela.
- Código:
using UnityEngine;
- Código:
public class Teste : MonoBehaviour {
}
Essa linha cria uma classe (no caso do Unity, um script) pra você usar em seus objetos da cena. Esse script tem o nome "Teste" e para ele funcionar, o arquivo no seu projeto precisa ter exatamente o mesmo nome da classe.
A parte ": MonoBehaviour" indica que seu script tem comportamento de objeto da Unity, então ele pode ser colocado em objetos da cena.
- Código:
void Start(){
Debug.Log("Olá mundo");
}
A linha seguinte possui uma função da Unity muito importante: O Start. Essa função permite executar o que está dentro dela, assim que o objeto ser carregado na cena, daí o nome Start.
Dentro do Start estamos usando o comando Debug.Log para mostrar a mensagem "Olá mundo".
Então se você colocar esse script acima num objeto da cena, logo que esse objeto for carregado a mensagem "Olá mundo" irá aparecer no console.
Viu? Cada linha de código tem um motivo, uma explicação, faz a sua parte separadamente, basta entender o que é o que dali.
Mas então você pensa... Como saber onde abrir essas chaves, aspas, parênteses, porque o Start usa a palavra "void", enquanto o UnityEngine tem a palavra "using" e etc...
Então, quando a gente abre um código e não sabe sobre a linguagem, tudo parece uma sopa de letrinhas, nada faz sentido e não segue um padrão, cada comando é declarado de formas diferentes e só gera mais dúvidas.
Mas isso acontece porque você não estudou a sintaxe da linguagem, ou seja, como ela é escrita e estruturada, porque ali coloca ponto e vírgula e ali não, essas coisas.
Cada linguagem tem a sua sintaxe diferente, por isso é importante estudar sobre aspectos isolados dela.
Por exemplo, inicie seu estudo pelas variáveis, porque são os componentes mais básicos e triviais de qualquer linguagem.
Quando você estudar sobre variáveis, vai entender que a sintaxe para declarar elas é sempre:
modificador, tipo de dado, identificador, fim de comando.
Onde;
Modificador é o nível de acesso a variável, no Unity, se aquela variável vai ficar visível ou não no inspector.
Existem vários modificadores, você vai aprendendo conforme a necessidade, mas os principais:
private => Indica que a variable é privada e não pode ser acessada externamente ou no inspector.
public => Indica que a variable é publica e pode ser acessada externamente e aparece no inspector.
Tipo de dado: Seria qual tipo de informação a variável vai guardar, se é valor numérico de inteiro (int), ou decimal (float), ou de texto (string) ou lógico (bool).
Esses tipos são os principais, mas existem outros.
Identificador: É o nome da variável, pra você pode usar ela durante o código, por exemplo: "vidaDoPersonagem".
Fim de comando: É a notação utilizada em C#, o famoso ponto e vírgula ";" pra indicar que aquele comando acabou.
Então como agora você sabe a sintaxe da declaração de uma variável, não vai mais ficar perdido quando ver essas palavras-chave e essas notações.
Por exemplo, se quiser declarar uma variável pública, que guarda strings, com o nome de "mensagemDeGameOver" você sabe que pode fazer assim:
- Código:
public string mensagemDeGameOver;
Modificador, tipo de dado, identificador e final da declaração.
Agora as coisas parecem mais claras?
Outra dúvida que você pode ter... Qual a ordem de aprendizagem, quais conteúdos ver?
Conteúdo é o que não falta, mas se quiser aprender Unity, você precisa aprender o C# que é a linguagem dessa engine.
Normalmente a curva de aprendizagem se dá na seguinte ordem de conceitos:
- Variáveis
- Operações com variáveis
- Estrutura If...else
- Laço de repetição for
- Laços de repetição while e do..while
- Arrays
- Laço de repetição foreach
- Lists
- Estrutura switch..case
- Classes e objetos
- Métodos
- Retorno de métodos
- Namespace
Isso é o básico do C#, se você aprender esse básico acima, mais a lógica de programação, você já consegue resolver muitos dos seus problemas em relação a programação.
Mas isso é a introdução ao C#, como você vai fazer games pelo Unity, deve aprender os comandos e bibliotecas especiais dessa engine:
- Pra que serve o Start, Update, FixedUpadate
- Comandos de entrada (teclas, mouse e etc)
- Vector2 e Vector3
- GetComponent
- Transform e GameObject
- Rigidbody
- OnTriggers e OnColliders
- Invoke e Coroutine
- Raycast e Mask
Só com os conceitos acima você já consegue criar seus próprios Scripts, porque são conceitos principais (claro que existem muitos outros, mas você vai aprendendo com o tempo).
Mas cara, já te passei até o conteúdo que você tem que estudar, primeiro no C# puro e depois na Unity, basta agora querer.
Onde aprender?
Existem muitos canais no YouTube que ensinam C#, eu recomendo o canal da Boson Treinamentos eu aprendi bastante coisas por lá.
Em relação a Unity, tudo o que eu citei ali encima tem no canal do Marcos, tente ver com paciência, mas depois que já aprendeu o básico do C#.
Para fixar o aprendizado, comece pequeno (volta a dica inicial). Pense em desenvolver script simples, sem ficar preso a um tutorial por aí, tente ter uma ideia, pode ser simples, mas tente aplicar o que você aprendeu em um programa bobo, por exemplo, aprendi o que são variáveis e a somar com elas, por que não faço um sistema que calcule a média dos alunos da escola?
Parece bobo e inútil, mas vai fazer você usar os conceitos aprendidos até então apenas na teoria e vai te forçar a pensar, a lembrar da sintaxe, a testar e etc.
E daí vai progredindo, criando programas e Scripts mais complexos, sempre vai aparecer uma dúvida, mas estamos aqui para isso, só que antes Tente! Não somos um fórum de entrega de Scripts prontos, é isso que somos contra e você não entendeu, nós ajudamos quem tentou, fez o seu próprio script mas por alguma razão não funciona. O fórum existe pra isso.
Bom rapaz, já te dei todas as dicas possíveis e mais um pouco, se você quiser aprender mesmo basta segui-las, agora depende de ti. Qualquer dúvida estaremos aqui.
caraca voce fez isso tudo carai eu li tudo e entendi ate procurei coisas q estao ai e tals mas tipo assim eu to aprendendo aos poucos mas to indo, a melhor coisa é voce fazer um skript sem pesquisar e ele funcionar quem é novo nisso sabe a felicidade que é vlw men
Felipe42- Avançado
- PONTOS : 2029
REPUTAÇÃO : 1
Respeito as regras :
Tópicos semelhantes
» O que Há de Errado nesse escript?
» oque eu tenho que colocar nesse script?
» O Que que está de errado
» Não sei o que está errado.
» Quando o objeto esta sendo gerado ele esta rotacionando
» oque eu tenho que colocar nesse script?
» O Que que está de errado
» Não sei o que está errado.
» Quando o objeto esta sendo gerado ele esta rotacionando
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos