iniciar jogo com uma cena desativada e ativá-la ao colidir com bloco desativando as outras
3 participantes
Página 1 de 1
iniciar jogo com uma cena desativada e ativá-la ao colidir com bloco desativando as outras
Uma pergunta parecida com a anterior mas agora quero reduzir lags mantendo apenas uma cena¹ ativada ao iniciar o game, do menu¹(Normalmente hoje quando inicio todas começa ativadas], pois através dele¹ já está configurado para clicar em "Jogar" e iniciar a cena² de partida². Mas ao "Jogar" existe muitos Npcs em apenas uma área da cidade então resolvi dividir essa área em outra cena³ e mante-la desativada enquanto o jogador não descobrir como chegar até lá, pois é um lugar secreto. Então por ser distante quero que ela não exista enquanto não passar pela porta de entrada³ que é um cubo box collider sem mesh renderer de "teleport" e quando passar que todas as outras cenas² se desativem e apenas ela³ passe a existir, e assim constantemente, passo por uma porta[Ativa cena³-desativa demais²] me teleporto de volta[reativa anterior²-desativa aquela³ novamente] Enfim espero que tenham entendido e me ajude a fazer isso. Desde já agradeço Colaboradores desse Forum VOCÊS SÃO EXCELENTES! Que a cada dia melhorem mais e mais.
Re: iniciar jogo com uma cena desativada e ativá-la ao colidir com bloco desativando as outras
Tente ver a documentação do SceneManager
https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager.html
Qual método de load você está utilizando? LoadScene? LoadSceneAsync?
https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager.html
Qual método de load você está utilizando? LoadScene? LoadSceneAsync?
Re: iniciar jogo com uma cena desativada e ativá-la ao colidir com bloco desativando as outras
Não sei. como vê isso?MarcosSchultz escreveu:
Qual método de load você está utilizando? LoadScene? LoadSceneAsync?
Re: iniciar jogo com uma cena desativada e ativá-la ao colidir com bloco desativando as outras
hmm.. Deixa eu ver se entendi o LoadAsync carrega todas as cenas deixando outras iniciadas em segundo plano. Já o loadScene carrega numa ordem e inicia somente como está programado para ela começar?Daniel Dória escreveu:Não sei. como vê isso?MarcosSchultz escreveu:
Qual método de load você está utilizando? LoadScene? LoadSceneAsync?
Re: iniciar jogo com uma cena desativada e ativá-la ao colidir com bloco desativando as outras
outro problema que está acabando comigo é que lá no build settings o jogo fica em 0 e o menu sempre em 1 então na hora que vou testar parece perfeito mas uma vez que fiz build o menu não aparece de jeito nenhum.
Re: iniciar jogo com uma cena desativada e ativá-la ao colidir com bloco desativando as outras
Como está a ordem das cenas no BuildSettings? isto interfere em qual vai iniciar.
Re: iniciar jogo com uma cena desativada e ativá-la ao colidir com bloco desativando as outras
Legal mudei a ordem agora tudo fluiu certo mas tem o último problema: 'a um tópico atras pedi ajuda para poder fazer vários sons de fundo em uma mesma cena, o sr me ensinou que é para criar um box collider do tamanho da area e fazer o script lá, peguei o script que tu me passou e parecia estar tudo certo, então comentei "valeu" e o tópico foi fechado por um adm. Só que mais tarde testei novamente e notei que toda vez que dou play as musicas começam a tocar todas juntas e so para depois que eu desativo e reativo o "audiosourse" se nao me engano. *Quando vou entrar na area collider ela funciona normal mas as vezes também começa a duplicar varias e varias vezes. 'Tentei desligando o play on awake, mudando a distancia e capacidade no próprio audio e nada, então já que o tópico foi fechado pode me ajudar por aqui? O erro deve ser mesmo no script.MarcosSchultz escreveu:Como está a ordem das cenas no BuildSettings? isto interfere em qual vai iniciar
Re: iniciar jogo com uma cena desativada e ativá-la ao colidir com bloco desativando as outras
Daniel Dória escreveu:
a um tópico atras pedi ajuda para poder fazer vários sons de fundo em uma mesma cena, o sr me ensinou que é para criar um box collider do tamanho da área e fazer o script lá, peguei o script que tu me passou e[...]
- Código:
using UnityEngine;[size=14][/size]using System.Collections;[size=14][/size][RequireComponent(typeof(AudioSource))][size=14][/size]public class TocarSom : MonoBehaviour{[size=14][/size][size=14][/size] public AudioClip Audio;[size=14][/size] AudioSource source;[size=14][/size] bool dentroDoColisor;[size=14][/size][size=14][/size] void Start(){[size=14][/size] Collider[] colliders = GetComponentsInChildren<Collider>();[size=14][/size] for(int x = 0; x < colliders.Length; x++){[size=14][/size] colliders[x].isTrigger = true;[size=14][/size] }[size=14][/size] dentroDoColisor = false;[size=14][/size] source = GetComponent<AudioSource>();[size=14][/size] source.clip = Audio;[size=14][/size] source.volume = 0;[size=14][/size] }[size=14][/size][size=14][/size] void Update(){[size=14][/size] if (dentroDoColisor){[size=14][/size] source.volume = Mathf.Lerp(source.volume, 1, Time.deltaTime);[size=14][/size] }[size=14][/size] else{[size=14][/size] source.volume = Mathf.Lerp(source.volume, 0, Time.deltaTime * 0.5f);[size=14][/size] if(source.volume < 0.1f){[size=14][/size] source.Stop();[size=14][/size] }[size=14][/size] }[size=14][/size] }[size=14][/size][size=14][/size] void OnTriggerEnter(){[size=14][/size] dentroDoColisor = true;[size=14][/size] source.PlayOneShot(source.clip);[size=14][/size] }[size=14][/size][size=14][/size] void OnTriggerExit(Collider other){[size=14][/size] dentroDoColisor = false;[size=14][/size] }[size=14][/size]}
O código era esse^
Re: iniciar jogo com uma cena desativada e ativá-la ao colidir com bloco desativando as outras
Daniel Dória escreveu:Daniel Dória escreveu:
a um tópico atras pedi ajuda para poder fazer vários sons de fundo em uma mesma cena, o sr me ensinou que é para criar um box collider do tamanho da área e fazer o script lá, peguei o script que tu me passou e[...]
- Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(AudioSource))]
public class TocarSom : MonoBehaviour{
public AudioClip Audio;
AudioSource source;
bool dentroDoColisor;
void Start(){
Collider[] colliders = GetComponentsInChildren<Collider>();
for(int x = 0; x < colliders.Length; x++){
colliders[x].isTrigger = true;
}
dentroDoColisor = false;
source = GetComponent<AudioSource>();
source.clip = Audio;
source.volume = 0;
}
void Update(){
if (dentroDoColisor){
source.volume = Mathf.Lerp(source.volume, 1, Time.deltaTime);
}
else{
source.volume = Mathf.Lerp(source.volume, 0, Time.deltaTime * 0.5f);
if(source.volume < 0.1f){
source.Stop();
}
}
}
void OnTriggerEnter(){
dentroDoColisor = true;
source.PlayOneShot(source.clip);
}
void OnTriggerExit(Collider other){
dentroDoColisor = false;
}
}
O código era esse^
Re: iniciar jogo com uma cena desativada e ativá-la ao colidir com bloco desativando as outras
Bom dia! você quer que toque em todas as áreas ao mesmo tempo ou somente quando o player entrar em uma área especifica?
Abraço!
Abraço!
Re: iniciar jogo com uma cena desativada e ativá-la ao colidir com bloco desativando as outras
Eu quero que somente quando o player entrar em uma área especifica, o problema que está dando é porque está tocando todas musicas ao mesmo tempo ao inicar o jogo mesmo quando não está dentro do trigger, e ainda quando entra na área trigger fica inciando várias vezes como um loop e sem acabar a musica antes ficando então um monte de barulho bugado durante o jogo.dstaroski escreveu:Bom dia! você quer que toque em todas as áreas ao mesmo tempo ou somente quando o player entrar em uma área especifica?
Abraço!
Re: iniciar jogo com uma cena desativada e ativá-la ao colidir com bloco desativando as outras
Tenta esse aqui brow:
Não esqueça que o player tem que ter a tag Player, e de por o isTrigger no objeto com esse script e audioSource.
Abraço!
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GatilhoParaSom : MonoBehaviour
{
public AudioClip clipeDeSom;
private AudioSource playerDeSom;
private void Start()
{
playerDeSom = GetComponent<AudioSource>();
}
private void OnTriggerEnter(Collider other)
{
if(other.gameObject.tag == "Player")
{
playerDeSom.clip = clipeDeSom;
playerDeSom.Play();
}
}
private void OnTriggerExit(Collider other)
{
playerDeSom.Stop();
}
}
Não esqueça que o player tem que ter a tag Player, e de por o isTrigger no objeto com esse script e audioSource.
Abraço!
Re: iniciar jogo com uma cena desativada e ativá-la ao colidir com bloco desativando as outras
Caramba você é um gênio agora sim funcionou legaldstaroski escreveu:Tenta esse aqui brow:
Abraço!
Que Deus te abençoe cada dia mais e mais :D
Abraço!
Só preciso saber agora como da inicio no jogo e deixar a cena do player desativada enquanto estiver no menu para não aparecer barra de vida e fome antes da hora
Re: iniciar jogo com uma cena desativada e ativá-la ao colidir com bloco desativando as outras
Que bom que ajudou cara, sobre a cena ai, pois é não faço ideia, tem que pesquisar mesmo. Mas se o seu Menu for uma cena a parte do jogo, não irá mostrar o player, a não se que o player esteja na cena do menu.Daniel Dória escreveu:Caramba você é um gênio agora sim funcionou legaldstaroski escreveu:Tenta esse aqui brow:
Abraço!
Que Deus te abençoe cada dia mais e mais :D
Abraço!
Só preciso saber agora como da inicio no jogo e deixar a cena do player desativada enquanto estiver no menu para não aparecer barra de vida e fome antes da hora
Abraço!
Tópicos semelhantes
» Script para saber se cena está ativa ou carregada
» Tela de escolher um nome ativa quando sai e entra na cena de novo...
» Keys para quem comprou o jogo poder ativa-lo
» como fazer o personagen quando colidir em um objeto ele carregar outra cena furum {FECHADO}
» Alguem saberia se teria algum tutorial ou algo q faça contruir tipo de bloco em bloco (tipo rust, unturned etc)
» Tela de escolher um nome ativa quando sai e entra na cena de novo...
» Keys para quem comprou o jogo poder ativa-lo
» como fazer o personagen quando colidir em um objeto ele carregar outra cena furum {FECHADO}
» Alguem saberia se teria algum tutorial ou algo q faça contruir tipo de bloco em bloco (tipo rust, unturned etc)
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos