Mudar instantaneamente a cor da camera
5 participantes
Página 1 de 1
Mudar instantaneamente a cor da camera
Estou tentando mudar a cor da main camera, de inicio ela está com seu Background todo para branco e eu queria alterar para preto instantaneamente.
ela já tem um script anexado com o seguite codigo:
esse é só um script base que usei para outra coisa, já tentei fazer as modificações nele mas não está dando certo.
a ideia é, quando chegar em 4 segundos, a cor branca do background da main camera muda de uma vez para preto.
como faço isso?
ela já tem um script anexado com o seguite codigo:
- Código:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class CameraIntro : MonoBehaviour {
private float currentTime;
public float valor;
void Start () {
}
void Update () {
if (currentTime >= 4f) {
valor = Mathf.MoveTowards(valor, 0f, Time.deltaTime * 1.3f);
Color color = GetComponent<Camera>().backgroundColor;
GetComponent<Camera>().backgroundColor = new Vector4(color.r, color.g, color.b, valor);
}
}
}
esse é só um script base que usei para outra coisa, já tentei fazer as modificações nele mas não está dando certo.
a ideia é, quando chegar em 4 segundos, a cor branca do background da main camera muda de uma vez para preto.
como faço isso?
Marc7- Mestre
- PONTOS : 3443
REPUTAÇÃO : 28
Respeito as regras :
Re: Mudar instantaneamente a cor da camera
as cores do Color Varia de 0 a 1
onde o 0 e preto e o 1 e branco sabendo disso basta aplicar
onde o 0 e preto e o 1 e branco sabendo disso basta aplicar
- Código:
using UnityEngine;
using System.Collections;
public class ColorBackground : MonoBehaviour
{
public float seconds;
void Start()
{
StartCoroutine(ChangeColor());
}
IEnumerator ChangeColor()
{
Camera _camera = Camera.main;
_camera.backgroundColor = new Color(1, 1, 1);
yield return new WaitForSeconds(seconds);
_camera.backgroundColor = new Color(0, 0, 0);
}
}
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: Mudar instantaneamente a cor da camera
Boa weslley, funcionou fino aqui, é isso mesmo que eu precisava!
foi vc mesmo que bolou esse script ou já viu em algum lugar?
preciso conhecer mais classes da unity e o efeito que cada uma faz, como por exemplo esse StartCoroutine, quando é que se usa o IEnumerator, o que é esse yield return new WaitForSeconds e para quê se usa, etc
vc tem alguma lista (pode até ser uma referencia de algum site/blog) que mostra varios desses comandos diferentes para eu ir pegando?
uma duvida, o uso da underline antes da variavel, como a _camera por exemplo, para que serve essa underline?
tem casos que precisa usar ou foi só prrferencia sua?
foi vc mesmo que bolou esse script ou já viu em algum lugar?
preciso conhecer mais classes da unity e o efeito que cada uma faz, como por exemplo esse StartCoroutine, quando é que se usa o IEnumerator, o que é esse yield return new WaitForSeconds e para quê se usa, etc
vc tem alguma lista (pode até ser uma referencia de algum site/blog) que mostra varios desses comandos diferentes para eu ir pegando?
uma duvida, o uso da underline antes da variavel, como a _camera por exemplo, para que serve essa underline?
tem casos que precisa usar ou foi só prrferencia sua?
Marc7- Mestre
- PONTOS : 3443
REPUTAÇÃO : 28
Respeito as regras :
Re: Mudar instantaneamente a cor da camera
Acho que foi pra Diferenciar a Camera "Componente" para camera "Variável"!uma duvida, o uso da underline antes da variavel, como a _camera por exemplo, para que serve essa underline?
tem casos que precisa usar ou foi só prrferencia sua?
por isso o _camera pra ficar mais Visível!
Bom eu Faço isso! hehehe
Re: Mudar instantaneamente a cor da camera
Beleza!
outra coisa, como estou ainda aprendendo vou perguntar: na linha
Camera _camera = Camera.main;
esse primero Camera que fica em azul no script, ele é o componente Camera?
em que situações eu preciso colocar o nome de um componente primeiro, seguido de uma variavel? quando é que eu sei que vou ter que chamar um componente primeiro?
porque estou acostumado a usar "var umNomeQualquer", só um exemplo.
aí me deparo com coisas do tipo:
Vector3 posição = ...
Camera camera = ...
e tantos outros..
quando que eu sei que preciso fazer isso?
outra coisa, como estou ainda aprendendo vou perguntar: na linha
Camera _camera = Camera.main;
esse primero Camera que fica em azul no script, ele é o componente Camera?
em que situações eu preciso colocar o nome de um componente primeiro, seguido de uma variavel? quando é que eu sei que vou ter que chamar um componente primeiro?
porque estou acostumado a usar "var umNomeQualquer", só um exemplo.
aí me deparo com coisas do tipo:
Vector3 posição = ...
Camera camera = ...
e tantos outros..
quando que eu sei que preciso fazer isso?
Marc7- Mestre
- PONTOS : 3443
REPUTAÇÃO : 28
Respeito as regras :
Re: Mudar instantaneamente a cor da camera
Marc7 escreveu:preciso conhecer mais classes da unity e o efeito que cada uma faz, como por exemplo esse StartCoroutine, quando é que se usa o IEnumerator, o que é esse yield return new WaitForSeconds e para quê se usa, etc
Olá Marc7!
Aqui tem uma aula do Marcos sobre Ienumerator, Coroutines e essas coisas que você mencionou! Aconselho a ver!:
HudsonJeff- Iniciante
- PONTOS : 3122
REPUTAÇÃO : 1
Respeito as regras :
Re: Mudar instantaneamente a cor da camera
@Marc7
Teoricamente no C# voce vai sempre declarar o tipo da variavel primeiro, e so depois o nome, aparentemente voce esta acostumado com o javascript que é quase que contrario.
Se voce quer criar um numero inteiro voce faz por exemplo:
Onde 'int' seria o tipo de dado, meuNumero seria o nome da variavel, e 10 seria o valor da mesma. Logo sua variavel 'meuNumero' so vai aceitar valores do tipo 'int'(valores inteiro).
Se voce quer criar uma variavel de texto(string), faz igual com o int:
Se voce quiser ver eu tenho uns tutorias bem basico sobre C#: https://www.youtube.com/playlist?list=PLEXOFsnCDCevwgeC12R7Zyn8C6OF3Rc2b
Teoricamente no C# voce vai sempre declarar o tipo da variavel primeiro, e so depois o nome, aparentemente voce esta acostumado com o javascript que é quase que contrario.
Se voce quer criar um numero inteiro voce faz por exemplo:
- Código:
int meuNumero = 10;
Onde 'int' seria o tipo de dado, meuNumero seria o nome da variavel, e 10 seria o valor da mesma. Logo sua variavel 'meuNumero' so vai aceitar valores do tipo 'int'(valores inteiro).
Se voce quer criar uma variavel de texto(string), faz igual com o int:
- Código:
string meuTexto = "Oi meu chapa";
Se voce quiser ver eu tenho uns tutorias bem basico sobre C#: https://www.youtube.com/playlist?list=PLEXOFsnCDCevwgeC12R7Zyn8C6OF3Rc2b
Re: Mudar instantaneamente a cor da camera
Entendido Manawydan, então todos esses termos int, string, float, são tipos de dados, aí qualquer nome que eu colocar em seguida só vai receber valores do tipo do dado.
quando eu escrevo o 'var' dentro do metodo update ou qualquer outro metodo, ele é que tipo de dado?
posso escrever por ex. os tipos de dados int, float, string dentro de um metodo?
por exemplo, vou criar uma linha de codigo, vou escrever dentro do metodo update:
int nomeQualquer = 7;
exatamente desse jeito. posso fazer isso?
seria isso o mesmo que var nomeQualquer = 7;?
quando eu escrevo o 'var' dentro do metodo update ou qualquer outro metodo, ele é que tipo de dado?
posso escrever por ex. os tipos de dados int, float, string dentro de um metodo?
por exemplo, vou criar uma linha de codigo, vou escrever dentro do metodo update:
int nomeQualquer = 7;
exatamente desse jeito. posso fazer isso?
seria isso o mesmo que var nomeQualquer = 7;?
Marc7- Mestre
- PONTOS : 3443
REPUTAÇÃO : 28
Respeito as regras :
Re: Mudar instantaneamente a cor da camera
@Marc7
Quando voce utiliza a 'var' o compilador vai analisar o contexto e transformara 'var' em um tipo de dado compatível.
Ex:
Voce pode ver mais detalhadamente no site da Microsoft:
https://msdn.microsoft.com/pt-br/library/bb384061.aspx
Quando voce utiliza a 'var' o compilador vai analisar o contexto e transformara 'var' em um tipo de dado compatível.
Ex:
- Código:
void Start(){
var numero1 = 7; // VIRA int
var numero2 = 7.0f; // VIRA float
var numero3 = 7.0; // VIRA double
var texto = "Hue"; // VIRA string
var letra = 'C'; // VIRA char
var pos = transform.position; // VIRA Vector3
}
Voce pode ver mais detalhadamente no site da Microsoft:
https://msdn.microsoft.com/pt-br/library/bb384061.aspx
Re: Mudar instantaneamente a cor da camera
Manawydan é isso que eu queria saber.
o var se torna um tipo de dado de acordo com o que vc seta para ele.
o var se torna um tipo de dado de acordo com o que vc seta para ele.
Marc7- Mestre
- PONTOS : 3443
REPUTAÇÃO : 28
Respeito as regras :
Re: Mudar instantaneamente a cor da camera
também existe uma variável chamada Dynamic que e bem parecida com o var so que as variáveis do tipo Dynamic você pode alterar o tipo de dados dele no decorrer do código
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: Mudar instantaneamente a cor da camera
legal weslley, poderia escrever um exemplo de uma codigo usando dynamic?
Marc7- Mestre
- PONTOS : 3443
REPUTAÇÃO : 28
Respeito as regras :
Re: Mudar instantaneamente a cor da camera
claro
- Código:
using System;
public class Conta
{
public decimal saldo;
}
public class Pessoa
{
public int idade;
}
public class Automovel
{
public decimal valor;
}
public class Animal
{
public string nome;
}
class Program
{
public static void Main()
{
Conta conta = new Conta();
conta.saldo = 10000;
Pessoa maria = new Pessoa();
maria.idade = 15;
Automovel carro = new Automovel();
carro.valor = 15000;
Animal cavalo = new Animal();
cavalo.nome = "cavalo";
//
dynamic dinamico;
dinamico = conta;
Console.WriteLine(dinamico.saldo);
//
dinamico = maria;
Console.WriteLine(maria.idade);
//
dinamico = carro;
Console.WriteLine(dinamico.valor);
//
dinamico = cavalo;
Console.WriteLine(dinamico.nome);
Console.ReadKey();
}
}
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Tópicos semelhantes
» [MOBILE] mudar camera
» Timer para mudar de câmera
» mudar a camera e o objeto fica invisivel
» [RESOLVIDO] Mudar de Camera entre personagens
» Como mudar de camera assim que o player entrar no Trigger
» Timer para mudar de câmera
» mudar a camera e o objeto fica invisivel
» [RESOLVIDO] Mudar de Camera entre personagens
» Como mudar de camera assim que o player entrar no Trigger
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos