trocar armas disponíveis
3 participantes
Página 1 de 1
trocar armas disponíveis
Boa tarde,
em um projeto 2D o jogador terá 4 tipos armas para usar, mas o jogo começa com apenas um arma padrão inicial disponivel para uso.
para cada arma eu criei as seguintes variáveis:
essas variaveis vão começar com valor '0', zero indica que elas não estão isponiveis para uso.
quando eu pegar por exemplo um item especifico para a arma2, o getWeapon2 vai passar para 1, indicando que agora ela está disponivel.
o mesmo vai acontecer para as armas 3 e 4.
no Update, o codigo abaixo é para trocar de arma quando eu apertar a tecla Z:
variavel shotSelec é para selecionar a arma que eu quero usar, como no codigo acima. seu valor vai de 1 a 4.
shotSelec sempre vai começar com valor 1, que é a arma 1. Então se shotSelec for 2, estou usando a arma 2, se for 3 estou usando a arma 3, e assim vai.. quando eu estiver na arma 4 e apertar tecla Z, aí volta para a arma1.
mas como o jogo começa só com arma1 disponivel, mesmo que eu aperte Z, a shotSelec não vai mudar.
no decorrer do jogo eu não vou pegar na ordem crescente os itens que habilitam as armas, por exemplo, eu posso achar primeiro só o item que habilita a arma4, então eu terei disponiveis as armas 1 e 4 em um certo momento; ou eu posso encontrar a arma 3 primeiro e ter disponiveis as armas 1 e 3.
isso até encontrar todas as armas.
preciso de um script que quando eu apertar a tecla Z:
- se eu tiver só com as armas 1 e 4 por exemplo, quando eu apertar Z a variavel shotSelect vai pular direto de 1 para 4;
- se eu tiver só com as armas 1 e 3, quando eu apertar Z a variavel shotSelect vai pular direto de 1 para 3;
- se eu tiver só com as armas 1, 2 e 4, quando eu apertar Z a variavel shotSelect passa para 2, se eu apertar de novo pula para 4;
e assim vai com outras combinações. e quando eu tiver todas as armas disponiveis, a shotSelec vai aumentando sequencialmente de 1 a 4.
agradeço ajuda!
em um projeto 2D o jogador terá 4 tipos armas para usar, mas o jogo começa com apenas um arma padrão inicial disponivel para uso.
para cada arma eu criei as seguintes variáveis:
- Código:
public int getWeapon2;
public int getWeapon3;
public int getWeapon4;
essas variaveis vão começar com valor '0', zero indica que elas não estão isponiveis para uso.
quando eu pegar por exemplo um item especifico para a arma2, o getWeapon2 vai passar para 1, indicando que agora ela está disponivel.
o mesmo vai acontecer para as armas 3 e 4.
no Update, o codigo abaixo é para trocar de arma quando eu apertar a tecla Z:
- Código:
//Trocar tiro
if (Input.GetKeyDown(KeyCode.Z)) {
shotSelec += 1;
}
if (shotSelec >= 5) {
shotSelec -= 4;
}
variavel shotSelec é para selecionar a arma que eu quero usar, como no codigo acima. seu valor vai de 1 a 4.
shotSelec sempre vai começar com valor 1, que é a arma 1. Então se shotSelec for 2, estou usando a arma 2, se for 3 estou usando a arma 3, e assim vai.. quando eu estiver na arma 4 e apertar tecla Z, aí volta para a arma1.
mas como o jogo começa só com arma1 disponivel, mesmo que eu aperte Z, a shotSelec não vai mudar.
no decorrer do jogo eu não vou pegar na ordem crescente os itens que habilitam as armas, por exemplo, eu posso achar primeiro só o item que habilita a arma4, então eu terei disponiveis as armas 1 e 4 em um certo momento; ou eu posso encontrar a arma 3 primeiro e ter disponiveis as armas 1 e 3.
isso até encontrar todas as armas.
preciso de um script que quando eu apertar a tecla Z:
- se eu tiver só com as armas 1 e 4 por exemplo, quando eu apertar Z a variavel shotSelect vai pular direto de 1 para 4;
- se eu tiver só com as armas 1 e 3, quando eu apertar Z a variavel shotSelect vai pular direto de 1 para 3;
- se eu tiver só com as armas 1, 2 e 4, quando eu apertar Z a variavel shotSelect passa para 2, se eu apertar de novo pula para 4;
e assim vai com outras combinações. e quando eu tiver todas as armas disponiveis, a shotSelec vai aumentando sequencialmente de 1 a 4.
agradeço ajuda!
Marc7- Mestre
- PONTOS : 3444
REPUTAÇÃO : 28
Respeito as regras :
Re: trocar armas disponíveis
Callyde Jr escreveu:Nesse Topico tem um exemplo bom
Callyde Jr , onde tem um exemplo disso que pretendo fazer?
Marc7- Mestre
- PONTOS : 3444
REPUTAÇÃO : 28
Respeito as regras :
Re: trocar armas disponíveis
vou descrever um exemplo mais simples.
tenho por exemplo 4 frutas:
maçã, banana, uva e abacaxi
cada fruta terá um número de seleção, que identifica a fruta que estou usando:
maçã - 1
banana - 2
uva - 3
abacaxi - 4
para isso uso a variável 'numero', ela será numerada de 1 a 4.
toda vez que eu apertar a tecla X, 'número' vai aumentar 1 unidade. e quando 'número' for 4, ela volta para 1
se eu apertar X. Então eu vou teclando X e 'número' muda 1, 2, 3, 4, 1, 2, 3, 4... e assim vai. isso aqui eu já consigo fazer no script citado acima.
outras variáveis 'valor2', 'valor3' e 'valor4' começarão com 0.
quando essas tres variaveis for 1, banana, uva e abacaxi estarão disponiveis.
eu mesmo vou criar outro script para mudar esses valores de 0 para 1.
Meu problema vem é agora:
Então imaginem um quadro que começa aparecendo a maçã.
Como as variáveis 'valor2', 'valor3' e 'valor4' estão em 0, aperto X e a fruta não muda para bana porque valor2 está em 0.
Aí eu colido com um objeto e valor2 vai para 1, agora banana está habilitada. Vou apertando X e vai mudando maçã, banana, maçã, banana... reparem que a var 'numero' muda só entre 1 e 2 por enquanto.
Agora encontrei outro objeto diferente e valor4 foi para 1. Vou apertando X e vai mudando maçã, banana, abacaxi, maçã, banana, abacaxi... 'numero' fica agora só entre 1, 2 e 4.
entenderam a lógica?
estou tentando fazer isso via script mas não consegui, alguem pode me ajudar?
quando aperto X a var numero tem que ir mudando só conforme as frutas que eu tive disponiveis, até que eu consiga todas as frutas para ir aumentando 1, 2, 3, 4, 1, 2 sem pular.
agradeço muito!!
tenho por exemplo 4 frutas:
maçã, banana, uva e abacaxi
cada fruta terá um número de seleção, que identifica a fruta que estou usando:
maçã - 1
banana - 2
uva - 3
abacaxi - 4
para isso uso a variável 'numero', ela será numerada de 1 a 4.
toda vez que eu apertar a tecla X, 'número' vai aumentar 1 unidade. e quando 'número' for 4, ela volta para 1
se eu apertar X. Então eu vou teclando X e 'número' muda 1, 2, 3, 4, 1, 2, 3, 4... e assim vai. isso aqui eu já consigo fazer no script citado acima.
outras variáveis 'valor2', 'valor3' e 'valor4' começarão com 0.
quando essas tres variaveis for 1, banana, uva e abacaxi estarão disponiveis.
eu mesmo vou criar outro script para mudar esses valores de 0 para 1.
Meu problema vem é agora:
Então imaginem um quadro que começa aparecendo a maçã.
Como as variáveis 'valor2', 'valor3' e 'valor4' estão em 0, aperto X e a fruta não muda para bana porque valor2 está em 0.
Aí eu colido com um objeto e valor2 vai para 1, agora banana está habilitada. Vou apertando X e vai mudando maçã, banana, maçã, banana... reparem que a var 'numero' muda só entre 1 e 2 por enquanto.
Agora encontrei outro objeto diferente e valor4 foi para 1. Vou apertando X e vai mudando maçã, banana, abacaxi, maçã, banana, abacaxi... 'numero' fica agora só entre 1, 2 e 4.
entenderam a lógica?
estou tentando fazer isso via script mas não consegui, alguem pode me ajudar?
quando aperto X a var numero tem que ir mudando só conforme as frutas que eu tive disponiveis, até que eu consiga todas as frutas para ir aumentando 1, 2, 3, 4, 1, 2 sem pular.
agradeço muito!!
Marc7- Mestre
- PONTOS : 3444
REPUTAÇÃO : 28
Respeito as regras :
Re: trocar armas disponíveis
Marc7 escreveu:Callyde Jr escreveu:Nesse Topico tem um exemplo bom
Callyde Jr , onde tem um exemplo disso que pretendo fazer?
O Link está na palavra Topico é apenas clicar...
https://www.schultzgames.com/t4188-codigo-pegar-armas-do-chao#28988
Re: trocar armas disponíveis
Ah sim PauloFR, como que eu não percebi isso... rs
O script me deu uma luz, fui mexendo aqui e acabei conseguindo fazer, o que eu queria é isso aqui:
usei 4 imagens de objetos, square, circle, tringle e diamond.
então na array obj eu listei com size 4 (de 0 a 3) e atribui os elements na ordem dos objetos acima.
quem quiser testar depois...
na hora de simular, o quadrado (square) é o que começa o jogo.
como usarCircle, usarTriangle e usarDiamond começam falsos, apertando X o quadrado não vai mudar.
se apertar a tecla C por exemplo, usarDiamond vai para verdadeiro aí libera o diamond, se ficar apertando X, a figura vai ficar alternando entre quadrado e diamond apenas porque os outros dois objetos ainda estão desativados.
se apertar a teclas A e B libera o circle e triangle, aí passar a alternar na ordem square, circle, tringle e diamond.
para jogos em que se tem um HUD com vários itens de poder, magia, etc, e que você aperta um botão para escolher qual usar, conforme a disponibilidade deles, fica aí uma dica de script
O script me deu uma luz, fui mexendo aqui e acabei conseguindo fazer, o que eu queria é isso aqui:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class TrocaObjeto : MonoBehaviour {
public int numero = 1;
public Sprite[] obj;
public bool usarCircle = false;
public bool usarTriangle = false;
public bool usarDiamond = false;
private GameObject _objeto;
void Start() {
_objeto = GameObject.Find("Objeto");
}
void Update() {
if (Input.GetKeyDown(KeyCode.X)) {
numero += 1;
}
if (numero >= 5) {
numero -= 4;
}
if (numero == 2 && !usarCircle) {
numero = 3;
}
if (numero == 3 && !usarTriangle) {
numero = 4;
}
if (numero == 4 && !usarDiamond) {
numero = 1;
}
EnabledValues();
TrocarObjeto();
}
void EnabledValues() {
if (Input.GetKeyDown(KeyCode.A)) {
usarCircle = true;
}
if (Input.GetKeyDown(KeyCode.B)) {
usarTriangle = true;
}
if (Input.GetKeyDown(KeyCode.C)) {
usarDiamond = true;
}
}
void TrocarObjeto() {
if (numero == 1) {
_objeto.GetComponent<SpriteRenderer>().sprite = obj[0];
}
else if (numero == 2) {
_objeto.GetComponent<SpriteRenderer>().sprite = obj[1];
}
else if (numero == 3) {
_objeto.GetComponent<SpriteRenderer>().sprite = obj[2];
}
else if (numero == 4) {
_objeto.GetComponent<SpriteRenderer>().sprite = obj[3];
}
}
}
usei 4 imagens de objetos, square, circle, tringle e diamond.
então na array obj eu listei com size 4 (de 0 a 3) e atribui os elements na ordem dos objetos acima.
quem quiser testar depois...
na hora de simular, o quadrado (square) é o que começa o jogo.
como usarCircle, usarTriangle e usarDiamond começam falsos, apertando X o quadrado não vai mudar.
se apertar a tecla C por exemplo, usarDiamond vai para verdadeiro aí libera o diamond, se ficar apertando X, a figura vai ficar alternando entre quadrado e diamond apenas porque os outros dois objetos ainda estão desativados.
se apertar a teclas A e B libera o circle e triangle, aí passar a alternar na ordem square, circle, tringle e diamond.
para jogos em que se tem um HUD com vários itens de poder, magia, etc, e que você aperta um botão para escolher qual usar, conforme a disponibilidade deles, fica aí uma dica de script
Marc7- Mestre
- PONTOS : 3444
REPUTAÇÃO : 28
Respeito as regras :
Tópicos semelhantes
» Os seguinte apks ou pacotes de apps estão disponíveis para dispositivos de 64 bits!!
» Troca de armas
» armas e lanterna
» Animação das armas
» Pacote de armas
» Troca de armas
» armas e lanterna
» Animação das armas
» Pacote de armas
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos