Frogger
< back
moveMe.js

var speed : float;

function Update () {
  transform.position.x = transform.position.x + speed;
}
Warparound.js

public var worldWidth : float;
private var resetPos : Vector3;

function Start () {
  resetPos = transform.position;
}

function Update () {

  /* Warp Zone */
  if(transform.position.x > worldWidth) transform.position.x = -worldWidth;
  if(transform.position.x < -worldWidth) transform.position.x = worldWidth;

  /* Reset Position */
  if(transform.position.y < -5) transform.position = resetPos;
}
boxcar
log
frogger
FroggerMove.js
public var upKey : String = "up";
public var downKey : String = "down";
public var leftKey : String = "left";
public var rightKey : String = "right";
public var jumpKey : String = "m";
public var speed : float = 3.0;
private var child : Transform;

function Start () {
  child = transform.Find("frogger");
}

function Update () {

  var translationZ : float;
  var translationY : float;

  if (Input.GetKey(upKey)){

    // calculate Z translation
    // deltaTime: time in seconds to complete the last frame
    translationZ = 1 * speed * Time.deltaTime;
    // Play child animation
    child.animation.CrossFade("Jump");

  }else if (Input.GetKey(downKey)){

    translationZ = -1 * speed * Time.deltaTime;;
    child.animation.CrossFade("Jump");

  } else {

    // reset translation Z speed
    translationZ = 0;
    child.animation.CrossFade("Stop");

  }

  if(Input.GetKey(jumpKey)){
    // calculate Y translation
    translationY = speed * Time.deltaTime;
  }else{
    translationY = 0;
  }

  // Translate frogger according the Y and Z translation variable
  transform.Translate(0,translationY,translationZ);

  // Rotate frogger 90 degrees left or right
  if(Input.GetKeyDown(rightKey)){

    // right
    transform.eulerAngles.y += 90;

  } else if(Input.GetKeyDown(leftKey)){

    // left
    transform.eulerAngles.y -= 90;

  }

}
Frogger.js

static var lives : int = 3;
static var points : int = 0;
// public var blood : GameObject;
private var startPos : Vector3;

function Start () {
  startPos = transform.position;
}

function OnTriggerEnter (other : Collider) {

  // check wich collider frogger entered

  if(other.gameObject.tag == "Car"){

    // Instantiate(blood,Vector3(transform.position.x,0.05,transform.position.z), Quaternion.identity);
    froggerHit();

  }

  if(other.gameObject.tag == "Water") {
    froggerHit();
  }

  if(other.gameObject.tag == "Point"){
    print("Extra Live");
    lives++;
    points += 100;
    Destroy (other.gameObject);
  }
}

function froggerHit () {

  // check if frogger respawns or dies
  if(lives>0){
    transform.position = startPos;
    lives--;
    Debug.Log("Hit by a car! Froggers lives: "+lives);
  }else{
    Destroy (gameObject);
    Debug.Log("GAME OVER");
    // Application.LoadLevel ("Start");
  }

}
Tag: Car
Mesh Collider >Is Trigger: true
Tag: Log
Mesh Collider > Is Trigger: true
Tag: Log
Mesh Collider > Is Trigger: true
GameGUI
GameGUI.js

function OnGUI () {
  GUI.Box (Rect (5,5,140,75), "Frogger");
  GUI.Box (Rect (5,30,140,20), "lives: " + Frogger.lives);
  GUI.Box (Rect (5,55,140,20), "points: " + Frogger.points);
}
Download: Frogger.zip
> play
zip
GenerateObj.js

public var obj : GameObject;
public var objNumbers : int = 5;
public var worldWidth : float = 20;

function Start () {

  var distAv = worldWidth*2/objNumbers;

  for (var i=0;i<objNumbers-1;i++)
  {
    Instantiate(obj,Vector3(distAv * i - worldWidth ,0,0), Quaternion.identity);
  }

}
for loop to generate objects