Recriando mecanismo de maletas do Far Cry 2

Gunnar CorreaGunnar Correa02/07/2017 às 06:50:40 - 4.969 acessos

Utilizando a Unity 5.6 neste artigo você aprende como criar o mecanismo de itens das maletas.


Para quem já jogou Far Cry 2, vai se lembrar que em todas as partes do jogo havia algumas maletas espalhadas, conforme íamos se aproximando destas maletas o som ia aumentando e assim quando a encontramos, recolhíamos um diamante.

Pois bem, neste artigo estamos disponibilizando uma videoaula com todos os materiais, onde recriamos este mecanismo dentro do Unity 5.6.

Download do modelo:https://skfb.ly/68VNy

Áudio utilizado:https://freesound.org/people/mojomills/sounds/167551

Diamante.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Diamante : MonoBehaviour
{

    private GameObject _player;
    public GameObject _diamante;
    public float _maxDistance = 1.5f;
    private Animator _anima;
    private float _distancia;

    private bool _abriu = false;
    private float _tempo = 0;
    void Start()
    {
        _player = GameObject.FindGameObjectWithTag("Player");
        _anima = this.GetComponent();
        _distancia = 0;
    }


    void Update()
    {
        _distancia = Vector3.Distance(this.transform.position, _player.transform.position);
        if (_distancia <= _maxDistance && Input.GetKeyDown(KeyCode.E) && !_abriu)
        {
            _anima.SetTrigger("Abrir");
            _abriu = true;
            DiamantesControle._incrementarDiamantes = true;
        }

        if (_abriu)
        {
            _tempo += (1 * Time.deltaTime);

            if (_tempo >= 1.5)
            {
                Finalizar();
            }
        }
    }

    private void Finalizar()
    {
        Destroy(_diamante);
        Destroy(this.GetComponent());
        Destroy(this.GetComponent());
    }
}
DiamanteControle.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class DiamantesControle : MonoBehaviour
{

    public Text _text;

    private int _totalDiamantes = 0;
    public static bool _incrementarDiamantes = false;
    void Start()
    {
        _text.text = string.Format("Diamantes: {0}", _totalDiamantes);
    }

    void FixedUpdate()
    {
        if (_incrementarDiamantes)
        {
            _totalDiamantes++;
            _text.text = string.Format("Diamantes: {0}", _totalDiamantes);
            _incrementarDiamantes = false;
        }

    }
}

Videoaula: https://www.youtube.com/watch?v=ziU1lM3L3Ao

 


Far Cry 2 Aulas Unity Unity 5.6 Desenvolvimento de jogos Unity 3D aulas Desenvolvimento de Jogos Som 3D Unity Coletar item Unity itens Unity 5.6

Compartilhe


Gunnar Correa

Gunnar Correa

Autodidata, Graduado em Desenvolvimento Web (FIPP), Especialista em Tecnologias na Educação (Unoeste) e Pós-graduando em Segurança da Informação (Universidade Cruzeiro do Sul). Começou seus estudos na área de programação quando era criança, e atualmente está estudando desenvolvimento de jogos. É CEO do portal SatellaSoft, criado em 2009 com o intuito de compartilhar conhecimento de forma gratuita e inédita.



Comentários

1 / 8