PLATAFORMA/COR ALEATORIA + AUMENTO DE VELOCIDADE
2 participantes
Página 1 de 1
PLATAFORMA/COR ALEATORIA + AUMENTO DE VELOCIDADE
Gente, eu conheço bem pouco de programação, eu faço engenharia e tenho aula na faculdade de c++ e scilab, então conheço o basico. E resolvi criar um jogo bem basico no unity, assisti um tutorial que o cara ensinava a fazer um jogo de pular plataforma, e eu queria fazer com que o pesonagem aumente de velocidade com o tempo e que a cor do chão e do fundo mudasse de acordo com o progresso do game. E tambem que o jogo gerasse chãos aleatorios para pular. Se alguem puder dar uma ajuda eu agradeço.
bevicht- Iniciante
- PONTOS : 1576
REPUTAÇÃO : 0
Respeito as regras :
Re: PLATAFORMA/COR ALEATORIA + AUMENTO DE VELOCIDADE
Beleza então, seja bem vindo ao fórum.
Como está aprendendo não seria uma boa maneira te passar um conhecimento te listando todas as soluções, aliás, isso basicamente é contra as regras do fórum: https://www.schultzgames.com/t603-____regras-do-forum____
Então vamos às ideias:
Como fazer o personagem aumentar a velocidade de acordo com o tempo
Uma boa forma de você pegar o tempo que o usuário está em jogo seria utilizar o Time.time seguindo a ideia do código:
A partir daí você já consegue ter uma noção do progresso do jogador e utilizar a variável ao seu favor.
Cor do chão e do fundo mudar de acordo com o progresso
Você pode seguir a mesma lógica utilizada no de cima, use o Time.time junto ao componente Sprite ou Image (eles vão ser utilizados para renderizar o seu background) onde ambos possuem a propriedade color (dá uma olhada nos links), e para usá-los, veja essa postagem: https://www.schultzgames.com/t10777-mudar-cor#70975
Aí você poderia usar o Time.time como parâmetro de uma cor talvez. (Isso é uma ideia, há várias outras maneiras de fazer isso)
(Já incluí isso no código)
Gerando chão aleatório para pular
Na Unity temos o conceito de Prefabs, basicamente um objeto pré-pronto para ser instanciado, use-o junto à função Instantiate (que pode receber um parâmetro GameObject) e com uma função matemática Random.Range para realizar a aleatoriedade da posição das plataformas.
Recomendo dar uma estudada nos vídeos do Marcos, é bem esclarecedor. Espero ter esclarecido.
Como está aprendendo não seria uma boa maneira te passar um conhecimento te listando todas as soluções, aliás, isso basicamente é contra as regras do fórum: https://www.schultzgames.com/t603-____regras-do-forum____
Então vamos às ideias:
Como fazer o personagem aumentar a velocidade de acordo com o tempo
Uma boa forma de você pegar o tempo que o usuário está em jogo seria utilizar o Time.time seguindo a ideia do código:
- Código:
using UnityEngine;
using UnityEngine.UI;
public class Teste : MonoBehaviour {
// Essa variável poderia ser do tipo SpriteRenderer
public Image background;
float timeFromStart;
private void OnEnable () {
// Pega o horário de quando o jogo começou
timeFromStart = Time.time;
}
private void Update () {
// Escreve no console o progresso do jogo
// Time.time é o horário atual
// TimeFromStart é o horário em que o jogo começou
Debug.Log ("Progresso do jogo" + (Time.time - timeFromStart).ToString ());
// Tempo passado
float elapsedTime = Time.time - timeFromStart;
// Muda a cor da Image
background.color = new Color (
r: (elapsedTime / (255 * 2)), g : 0, b : 0
);
// Caso fosse SpriteRenderer, ficaria assim:
// SpriteRenderer background;
// background.color = new Color (
// r: (elapsedTime / (255 * 2)), g : 0, b : 0
// );
}
}
A partir daí você já consegue ter uma noção do progresso do jogador e utilizar a variável ao seu favor.
Cor do chão e do fundo mudar de acordo com o progresso
Você pode seguir a mesma lógica utilizada no de cima, use o Time.time junto ao componente Sprite ou Image (eles vão ser utilizados para renderizar o seu background) onde ambos possuem a propriedade color (dá uma olhada nos links), e para usá-los, veja essa postagem: https://www.schultzgames.com/t10777-mudar-cor#70975
Aí você poderia usar o Time.time como parâmetro de uma cor talvez. (Isso é uma ideia, há várias outras maneiras de fazer isso)
(Já incluí isso no código)
Gerando chão aleatório para pular
Na Unity temos o conceito de Prefabs, basicamente um objeto pré-pronto para ser instanciado, use-o junto à função Instantiate (que pode receber um parâmetro GameObject) e com uma função matemática Random.Range para realizar a aleatoriedade da posição das plataformas.
Recomendo dar uma estudada nos vídeos do Marcos, é bem esclarecedor. Espero ter esclarecido.
NKKF- ProgramadorMaster
- PONTOS : 4818
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
» Velocidade constante em qualquer plataforma Unity 5
» Duvida com velocidade X e velocidade Z
» [DUVIDA]Pergunta Aleatória
» Geração Aleatória de terreno
» Como fazer uma compra aleatoria em uma cena
» Duvida com velocidade X e velocidade Z
» [DUVIDA]Pergunta Aleatória
» Geração Aleatória de terreno
» Como fazer uma compra aleatoria em uma cena
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos