Frogger
< back
VIDEO
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
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