AJUDA COM SCRIPT DE SISTEMA QTE
2 participantes
Página 1 de 1
AJUDA COM SCRIPT DE SISTEMA QTE
Boa tarde pessoal, queria pedir a ajuda de vocês hoje com um script de um sistema de quick time events, que são certos eventos que acontecem durante um game que você precisa pressionar determinado botão para por exemplo esquivar de um ataque inimigo ou se no caso errar você pode acabar morrendo, bom a ajuda que queria é o seguinte, esse script no caso que vou deixar logo abaixo, apenas mostra uma mensagem quando você acerta ou erra os botões que tem que pressionar, no caso eu queria substituir essas mensagens por videos do jogador escapando dos ataques inimigos quando pressionar o botão certo e quando errar exibir o vídeo de morte e ir para o menu game over, no caso já tenho os videos, o que penso em fazer é criar uma nova cena, por um plano de frente para a câmera onde será exibido os videos e os botões a serem pressionados, um exemplo do que quero fazer é mais ou menos parecido com essa parte do jogo Resident Evil 4...
Esse é o script...
Esse é o tutorial de onde tirei o script...
Quem puder me ajudar, já sou grato, vlw galéra!!!
Esse é o script...
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class QTESys : MonoBehaviour {
public GameObject DisplayBox;
public GameObject PassBox;
public int QTEGen;
public int WaitingForKey;
public int CorrectKey;
public int CountingDown;
void Update () {
if (WaitingForKey == 0) {
QTEGen = Random.Range (1, 4);
CountingDown = 1;
StartCoroutine (CountDown ());
if (QTEGen == 1) {
WaitingForKey = 1;
DisplayBox.GetComponent<Text> ().text = "[E]";
}
if (QTEGen == 2) {
WaitingForKey = 1;
DisplayBox.GetComponent<Text> ().text = "[Q]";
}
if (QTEGen == 3) {
WaitingForKey = 1;
DisplayBox.GetComponent<Text> ().text = "[F]";
}
}
if (QTEGen == 1) {
if (Input.anyKeyDown) {
if (Input.GetButtonDown ("EKey")) {
CorrectKey = 1;
StartCoroutine (KeyPressing ());
} else {
CorrectKey = 2;
StartCoroutine (KeyPressing ());
}
}
}
if (QTEGen == 2) {
if (Input.anyKeyDown) {
if (Input.GetButtonDown ("QKey")) {
CorrectKey = 1;
StartCoroutine (KeyPressing ());
} else {
CorrectKey = 2;
StartCoroutine (KeyPressing ());
}
}
}
if (QTEGen == 3) {
if (Input.anyKeyDown) {
if (Input.GetButtonDown ("FKey")) {
CorrectKey = 1;
StartCoroutine (KeyPressing ());
} else {
CorrectKey = 2;
StartCoroutine (KeyPressing ());
}
}
}
}
IEnumerator KeyPressing() {
QTEGen = 4;
if (CorrectKey == 1) {
CountingDown = 2;
PassBox.GetComponent<Text> ().text = "PASSOU!";
yield return new WaitForSeconds (1.5f);
CorrectKey = 0;
PassBox.GetComponent<Text>().text = "";
DisplayBox.GetComponent<Text>().text = "";
yield return new WaitForSeconds (1.5f);
WaitingForKey = 0;
CountingDown = 1;
}
if (CorrectKey == 2) {
CountingDown = 2;
PassBox.GetComponent<Text> ().text = "FALHOU!";
yield return new WaitForSeconds (1.5f);
CorrectKey = 0;
PassBox.GetComponent<Text>().text = "";
DisplayBox.GetComponent<Text>().text = "";
yield return new WaitForSeconds (1.5f);
WaitingForKey = 0;
CountingDown = 1;
}
}
IEnumerator CountDown() {
yield return new WaitForSeconds (3.5f);
if (CountingDown == 1) {
QTEGen = 4;
CountingDown = 2;
PassBox.GetComponent<Text> ().text = "FALHOU!";
yield return new WaitForSeconds (1.5f);
CorrectKey = 0;
PassBox.GetComponent<Text> ().text = "";
DisplayBox.GetComponent<Text> ().text = "";
yield return new WaitForSeconds (1.5f);
WaitingForKey = 0;
CountingDown = 1;
}
}
}
Esse é o tutorial de onde tirei o script...
Quem puder me ajudar, já sou grato, vlw galéra!!!
Re: AJUDA COM SCRIPT DE SISTEMA QTE
Boa tarde cara! você pode usar o Video Player da Unity, coloca-lo por exemplo em um objeto a parte ou no mesmo objeto que você ta usando esse script. Então criar uma variável para ele:
Primeiro referencie a biblioteca da Unity para o VideoPlayer lá no topo do script:
using UnityEngine.Video;
private VideoPlayer mVideoPlayer; // Se for no mesmo objeto do script acima
public VideoPlayer mVideoPlayer; // Se for em outro objeto
Se for private, precisa atribuir a variável na inicialização:
void Start()
{
mVideoPlayer = GetComponent<VideoPlayer>();
}
Depois no seu código, após o evento necessário você dá um Play() nele:
mVideoPlayer.Play();
Lembrando que no componente VideoPlayer lá no inspector, você configura o clipe de vídeo, e a forma como irá exibi-lo, pode escolher no render Mode como Câmera, então selecione sua câmera, e desmarque o play on awake para somente reproduzir o vídeo no evento via código.
Referência: https://docs.unity3d.com/ScriptReference/Video.VideoPlayer.html
Primeiro referencie a biblioteca da Unity para o VideoPlayer lá no topo do script:
using UnityEngine.Video;
private VideoPlayer mVideoPlayer; // Se for no mesmo objeto do script acima
public VideoPlayer mVideoPlayer; // Se for em outro objeto
Se for private, precisa atribuir a variável na inicialização:
void Start()
{
mVideoPlayer = GetComponent<VideoPlayer>();
}
Depois no seu código, após o evento necessário você dá um Play() nele:
mVideoPlayer.Play();
Lembrando que no componente VideoPlayer lá no inspector, você configura o clipe de vídeo, e a forma como irá exibi-lo, pode escolher no render Mode como Câmera, então selecione sua câmera, e desmarque o play on awake para somente reproduzir o vídeo no evento via código.
Referência: https://docs.unity3d.com/ScriptReference/Video.VideoPlayer.html
Re: AJUDA COM SCRIPT DE SISTEMA QTE
Boa noite mano e obrigado, cara teria como você mostrar como ficaria o código completo e me ensinar como configurar a cena, com os botões para pressionar e etc? pois o amigo aí do vídeo não ensina a fazer essa parte e como o tutorial é inglês fiquei meio perdido, agradeço desde já, pois me ajudaria bastante, já procurei de tudo a respeito disso na internet mais é meio difícil!dstaroski escreveu:Boa tarde cara! você pode usar o Video Player da Unity, coloca-lo por exemplo em um objeto a parte ou no mesmo objeto que você ta usando esse script. Então criar uma variável para ele:
Primeiro referencie a biblioteca da Unity para o VideoPlayer lá no topo do script:
using UnityEngine.Video;
private VideoPlayer mVideoPlayer; // Se for no mesmo objeto do script acima
public VideoPlayer mVideoPlayer; // Se for em outro objeto
Se for private, precisa atribuir a variável na inicialização:
void Start()
{
mVideoPlayer = GetComponent<VideoPlayer>();
}
Depois no seu código, após o evento necessário você dá um Play() nele:
mVideoPlayer.Play();
Lembrando que no componente VideoPlayer lá no inspector, você configura o clipe de vídeo, e a forma como irá exibi-lo, pode escolher no render Mode como Câmera, então selecione sua câmera, e desmarque o play on awake para somente reproduzir o vídeo no evento via código.
Referência: https://docs.unity3d.com/ScriptReference/Video.VideoPlayer.html
Re: AJUDA COM SCRIPT DE SISTEMA QTE
Boa tarde cara! então, não consigo ta fazendo ele todo completo cara, o que consigo fazer é o seguinte, vou postar um código bem simples com uma base para um quick time event, que acredito te ajudará a construir um do zero.
Abraço!
Abraço!
Re: AJUDA COM SCRIPT DE SISTEMA QTE
Putz véi, não deu não. Tentei algumas paradas aqui, mais ficaria gambiarra demais, lembrei que o Bruno do GameIndie certa vez fez um vídeo sobre isso, achei ele, segue ai:
O Bruno programa em Java, mas tenta ir escrevendo em C#, não é tão complicado. É meio chato mesmo bolar esse sisteminha.
Abraço!
O Bruno programa em Java, mas tenta ir escrevendo em C#, não é tão complicado. É meio chato mesmo bolar esse sisteminha.
Abraço!
Re: AJUDA COM SCRIPT DE SISTEMA QTE
Tudo bem,realmente percebi que é bastante complicado, agradeço mesmo assim mano,Vlw!!!dstaroski escreveu:Putz véi, não deu não. Tentei algumas paradas aqui, mais ficaria gambiarra demais, lembrei que o Bruno do GameIndie certa vez fez um vídeo sobre isso, achei ele, segue ai:
O Bruno programa em Java, mas tenta ir escrevendo em C#, não é tão complicado. É meio chato mesmo bolar esse sisteminha.
Abraço!
Tópicos semelhantes
» [AJUDA]Preciso de ajuda em um script relacionado ao vídeo Sistema de escolha de personagen
» Dúvida de pegar variável de outro script / sistema de compra e venda (Ajuda aí pfv)
» Ajuda Urgente como chamo a animação no script alguém poderia dar uma ajuda???
» [AJUDA]Quero Ajuda poque esse script so da erro!
» [Ajuda] Em um sistema de inventario!
» Dúvida de pegar variável de outro script / sistema de compra e venda (Ajuda aí pfv)
» Ajuda Urgente como chamo a animação no script alguém poderia dar uma ajuda???
» [AJUDA]Quero Ajuda poque esse script so da erro!
» [Ajuda] Em um sistema de inventario!
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos