Aumentar dano do tiro quando jogador pega um item
2 participantes
Página 1 de 1
Aumentar dano do tiro quando jogador pega um item
Bom dia,
estou tentando fazer o tiro do player aumentar sua força e arrancar mais dano quando pega um item powerup, os scripts envolvidos nisso são esses dois:
Player (estou colocando só a parte que trata disso)
estou tentando fazer o tiro do player aumentar sua força e arrancar mais dano quando pega um item powerup, os scripts envolvidos nisso são esses dois:
Player (estou colocando só a parte que trata disso)
- Código:
public static int poderTiro1 = 1;
public static int poderTiro2 = 1;
public static int poderTiro3 = 1;
public static int poderTiro4 = 1;
void Update () {
// Limite poder dos tiros.
if (poderTiro1 >= 5) {
poderTiro1 -= 1;
}
if (poderTiro2 >= 5) {
poderTiro2 -= 1;
}
if (poderTiro3 >= 5) {
poderTiro3 -= 1;
}
if (poderTiro4 >= 5) {
poderTiro4 -= 1;
}
}// Fim do metodo Update.
void OnTriggerEnter2D(Collider2D collider) {
if (collider.gameObject.tag == "PwrUp") {
if (shotSelec == 1) {
poderTiro1 += 1;
}
if (shotSelec == 2) {
poderTiro2 += 1;
}
if (shotSelec == 3) {
poderTiro3 += 1;
}
if (shotSelec == 4) {
poderTiro4 += 1;
}
}
}
Marc7- Mestre
- PONTOS : 3234
REPUTAÇÃO : 28
Respeito as regras :
Re: Aumentar dano do tiro quando jogador pega um item
desculpe esqueci de escrever o restante.
Script do tiro:
Quando o player colide com o objeto powerup (o que tem a tag "PwrUp"), o tiro aumenta a força, as variaveis poderTiro aumentam 1 ponto, dependendo do tiro que estou usando.
Mas quando acesso essas variaveis dentro do Tiro1Script do tiro para saber se elas aumentaram com o powerup, o dano do tiro nao muda, fica só em 1 ponto que é o valor inicial dele.
eu fiz o teste simulando e vendo se um inimigo tomava mais dano quando, por exemplo, o tiro1 estava com poder 3, mas nao funciona, o poder fica sempre só em 1.
queria saber por que nao está aumentando o dano sendo que está as variaveis estaticas estão mudando de valor, mas o script do tiro parece que nao reconhece.
Script do tiro:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Tiro1Script : MonoBehaviour {
public int dano;
private Transform objTiro1;
void Start() {
}
void Upadte() {
if (PlayerScript.poderTiro1 == 1) {
dano = 1;
}
if (PlayerScript.poderTiro1 == 2) {
dano = 2;
}
if (PlayerScript.poderTiro1 == 3) {
dano = 3;
}
if (PlayerScript.poderTiro1 == 4) {
dano = 4;
}
}
Quando o player colide com o objeto powerup (o que tem a tag "PwrUp"), o tiro aumenta a força, as variaveis poderTiro aumentam 1 ponto, dependendo do tiro que estou usando.
Mas quando acesso essas variaveis dentro do Tiro1Script do tiro para saber se elas aumentaram com o powerup, o dano do tiro nao muda, fica só em 1 ponto que é o valor inicial dele.
eu fiz o teste simulando e vendo se um inimigo tomava mais dano quando, por exemplo, o tiro1 estava com poder 3, mas nao funciona, o poder fica sempre só em 1.
queria saber por que nao está aumentando o dano sendo que está as variaveis estaticas estão mudando de valor, mas o script do tiro parece que nao reconhece.
Marc7- Mestre
- PONTOS : 3234
REPUTAÇÃO : 28
Respeito as regras :
Re: Aumentar dano do tiro quando jogador pega um item
Você pode Usar um OnTriggerEnter para Indentificar o Player e Alterar o Dano
e nesse 2º Script ai vc pode Simplesmente Fazer assim no Update:
ai não Precisa de tantos Ifs!
e nesse 2º Script ai vc pode Simplesmente Fazer assim no Update:
- Código:
dano = PlayerScript.poderTiro1;
ai não Precisa de tantos Ifs!
Tópicos semelhantes
» Tiro sistema dano
» Inimigp Olha o Jogador e Surgi um Objeto na Direção do Jogador
» Veiculo não esta causando dano ao jogador, após ser destruído.
» como fazer agua?
» Como pega a posição da tela
» Inimigp Olha o Jogador e Surgi um Objeto na Direção do Jogador
» Veiculo não esta causando dano ao jogador, após ser destruído.
» como fazer agua?
» Como pega a posição da tela
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos