Gerben Veenhof

Rocket Command

Rocket Command is een spel wat binnen 1 week gemaakt is als mini game opdracht. Je kunt bewegen doormiddel van de WASD toetsen en je doel is om de raket in het target te laten ontploffen, en proberen niet dood te gaan door de objecten die in het level zijn geplaatst.

In het level zitten zoal:

  • Bochten
  • Mind texturing (Disoriënteerende textures)
  • Draaiende fans
  • Pipes

Alle modellen en textures heb ik zelf gemaakt in 3D max en het spel zelf is gemaakt in Unity 3D. Verder heb ik nog Gimp gebruikt om de textures te bewerken. Rocket Command is ook te spelen en te downloaden via GameJolt, een gratis platform waar je je games op kan hosten voor het grotere publiek.

Visit GameJolt

Hieronder zie je de code van het opvangen van de speler en het bewegen van de raket.

Expand Code:
void Start ()
{
//Gets the needed components.
GuiStart = gameObject.GetComponent<GUIStart>();
rigid = gameObject.GetComponent<Rigidbody>();
ExplosionAnimation = GameObject.Find("Explosion").GetComponentInChildren<ParticleSystem>();
FlameAnimation = GameObject.Find("EngineFlame").GetComponent<ParticleSystem>();
EngineSound = GameObject.Find("EngineSound").GetComponent<AudioSource>();
ExplosionSound = GameObject.Find("Explosion").GetComponent<AudioSource>();

//Sets the variables.
EngineSound.pitch = 0.0f;
Fly = false;
MenuStart = false;
Speed = 15;
RotateSpeed = 40;
DeathTimer = false;
TimeOfDeath = 2.0f;
}

void Update () 
{
GetInput();
FlyForward();
CheckForRestartDeathTimer();
}

void GetInput()
{
//If the engine sound is on and if you are flying upper the pitch to the normal volume.
if (Fly == true && EngineSound.isPlaying == true)
{
if (EngineSound.pitch < 0.9f)
{
    EngineSound.pitch += 0.02f;
}
}
//Quits with the escape key.
if (Input.GetKeyDown(KeyCode.Escape))
{
Application.Quit();
}

//When pressing space: quit the gui, start flying,
//play the engine sound and start the flame animation.
if (Input.GetKeyDown(KeyCode.Space)) { if (Fly != true && DeathTimer == false) { GuiStart.DrawMenuTexture = false; Fly = true; FlameAnimation.Play(); if (EngineSound.isPlaying == false) { EngineSound.Play(); } } } //Input for the player to move the rocket. if(Input.GetKey(KeyCode.S)) { transform.Rotate(RotateSpeed * Time.deltaTime, 0, 0); } if (Input.GetKey(KeyCode.W)) { transform.Rotate(-RotateSpeed * Time.deltaTime, 0, 0); } if (Input.GetKey(KeyCode.A)) { transform.Rotate(0, -RotateSpeed * Time.deltaTime, 0, Space.World); } if (Input.GetKey(KeyCode.D)) { transform.Rotate(0, RotateSpeed * Time.deltaTime, 0, Space.World); } }