Esse blog foi criado com o propósito de jogos, atividades realizadas durante o curso de jogos, jogos em geral, minhas opiniões e tudo que eu tiver interesse de postar.
segunda-feira, 21 de dezembro de 2015
segunda-feira, 7 de dezembro de 2015
Código Básico de um jogo em 2D, Unity Engine c#
Código Responsável pelo Dano.
public class tiro : MonoBehaviour {
int danoBatata = 1;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
void OnCollisionEnter2D(Collision2D col)
{
if (col.collider.tag == "inimigo"){
col.collider.SendMessage("dano",danoBatata);
Destroy(gameObject);
}
}
}
Código responsável pela movimentação do Player.
public class tiro : MonoBehaviour {
int danoBatata = 1;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
void OnCollisionEnter2D(Collision2D col)
{
if (col.collider.tag == "inimigo"){
col.collider.SendMessage("dano",danoBatata);
Destroy(gameObject);
}
}
}
Código responsável pela movimentação do Player.
using UnityEngine;
using System.Collections;
public class Player : MonoBehaviour
{
public GameObject bala;
public GameObject pontoDeBala;
public float velocidade;
private Animator animator;
public BarraVida barraVida;
public int vida=100;
// Use this for initialization
void Start()
{
animator = GetComponent<Animator>();
}
// Update is called once per frame
void Update()
{
Movimento();
Tiro();
}
void Tiro()
{
if (Input.GetButtonDown("Fire1"))
{
GameObject go = Instantiate(bala, pontoDeBala.transform.position, pontoDeBala.transform.rotation) as GameObject;
go.GetComponent<Rigidbody2D>().AddForce(pontoDeBala.transform.right * 3000);
}
}
void Movimento()
{
animator.SetFloat("Run", Input.GetAxis("Horizontal"));
if (Input.GetAxisRaw("Horizontal") > 0)
{
transform.Translate(Vector2.right * velocidade * Time.deltaTime);
transform.rotation = Quaternion.Euler(0, 0, 0);
}
}
void dano(int danoFortao) {
animator.SetTrigger ("TomandoDano");
vida = vida - danoFortao;
barraVida.SendMessage("AtualizaHP",vida);
Debug.Log ("oi");
if (vida <= 0) {
Destroy (gameObject);
}
}
void OnCollisionStay2D(Collision2D col)
{
if (col.collider.tag == "inimigo" && animator.GetCurrentAnimatorStateInfo(0).shortNameHash != Animator.StringToHash("TomandoDano"))
{
dano (10);
}
}
}
Código Responsável pelo Inimigo
using UnityEngine;
using System.Collections;
public class Fortão : MonoBehaviour {
public float velocidade;
public Animator animator;
public int vida = 5;
public int danoFortao = 1;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void FixedUpdate () {
Movimento ();
}
void dano(int danoBatata) {
animator.SetTrigger ("tomadano");
vida = vida - danoBatata;
if (vida <= 0) {
Destroy(gameObject);
}
}
void Movimento()
{
transform.Translate(Vector2.left * velocidade * Time.deltaTime);
}
}
Código responsável pela Barra de vida do jogador
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class BarraVida : MonoBehaviour {
// Update is called once per frame
void Start () {
Image image = GetComponent<Image>();
image.fillAmount = 1;
}
void AtualizaHP(int vida)
{
Image image = GetComponent<Image>();
image.fillAmount = vida/100f;
}
}
internal class function
{
}
Código responsável pelo respawn do inimigo
using UnityEngine;
using System.Collections;
public class Spawnfortao : MonoBehaviour {
private float tempospawn = 2;
private float timer;
public GameObject fortao;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
timer = timer + Time.deltaTime;
{
if (timer >= tempospawn) {
tempospawn = Random.Range (1,4);
timer = 0;
GameObject go = Instantiate(fortao, fortao.transform.position,fortao.transform.rotation) as GameObject;
}
}
}
}
Link para um Exemplo de GDD no qual estes códigos podem ser aplicados.
Este GDD é também um modelo para formulação de GDD's
Este GDD é também um modelo para formulação de GDD's
Assinar:
Postagens (Atom)