drop then all – versao alfa2

On October 3, 2009, in games, by athanazio
1


title

nova versao do jogo drop then all
algumas novidades :
- mais um nivel
- mudanca da camera com o mouse
- melhorias visuais
- mudanca no som das caixinhas
- adicionado help na primeira pagina

clique aqui para jogar !

Tagged with:
 

unity3d passo 6 – tudo junto num jogo

On September 30, 2009, in games, programacao, unity3d, by athanazio
6

drop than all alpha1
Esta eh uma versao mais arrumada destas minhas investigacoes do Unity3D.

Alguns comentarios sobre o codigo abaixo que eh novinho em folha.

static var dead:int = 0;

function Awake () {
	dead = 0;
}

function OnCollisionEnter(collision : Collision) {

	if( collision.collider.name == "bottom" || collision.collider.tag == "enemy"){
		dead = 1;
		var message = GameObject.Find("end of level");
		var message2 = GameObject.Find("end of level2");
		message.guiText.text = "You failed.";
		message2.guiText.text = "Click to restart";
		audio.Play();
	}
}

function Update () {

	if( dead == 1 ){
		if (Input.GetButtonDown("Fire1")) {
			Application.LoadLevel (Application.loadedLevel);
		}
	}

}

Este codigo esta associado ao personagem que esta em movimento, ou seja se o danado colidir com o plano chamado “bottom” que esta abaixo das plataformas, ou com algum dos inimigos a variavel dead eh setada para 1, algumas mensagens sao exibidas e o som correspondente toca.

Quando estiver neste estado de “morto” (dead==1) o update deste mesmo script vai verificar se o click foi pressionado para ai entao recarregar a cena atual, detalhe que a funcao Awake garante que nao reiniciamos a cena com o personagem morto :) porque a variavel eh static e portanto o reload da cena nao apaga seu valor.

usei esta variavel em outros pontos do de outros scripts, como por exemplo para impedir que o tiro fosse disparado ou o personagem movimentado se estivesse no estado de morto, veja como foi usado

var speed:int = 10.0;

function FireRocket () {
	// dont fire if the char is dead
	if (restart_if_char_die.dead == 1) return;
	if( count_enemies.end_level == 1) return;

	var bullet = GameObject.CreatePrimitive(PrimitiveType.Sphere);
	bullet.tag = "bullet";
	bullet.AddComponent(Rigidbody);

	bullet.transform.position = transform.position;
	bullet.transform.rotation= transform.rotation;
	bullet.transform.localScale= transform.localScale;

    bullet.rigidbody.velocity = transform.forward * speed * -1;
	bullet.rigidbody.mass = 5;
	audio.Play();
}

function Update () {
    if (Input.GetButtonDown("Fire1")) {
        FireRocket();
    }
}

bom eh isto ae divirta-se jogando as caixinhas do alto, pena que elas nao gritam :)

Tagged with: