topical media & game development
lib-unity-future-HouseOfTheFuture-Assets-Scripts-MusicBall.js / js
/*
* This file is part of the "House of the Future" showcase project by M2H (http://www.M2H.nl)
* The original author of this code Mike Hergaarden.
* Feel free to use this code for your own projects, drop me a line if you made something exciting!
*/
//Random sound/movement of these balls
#pragma strict
private var trans : Transform;
private var rig : Rigidbody;
private var playerTrans : Transform;
function Awake () {
trans = transform;
rig=rigidbody;
var size : float = Random.Range(0.4,2);
trans.localScale= new Vector3( size, size, size);
rig.mass = size;
audio.pitch = Mathf.Clamp(2.5-size, 0, 1.3);
RandomColor();
playerTrans = Camera.main.transform;
Disable();
}
private var disabled = false;
function Update(){
if(disabled){
return;
}
if(Vector3.Distance(playerTrans.position, trans.position)>=14 || playerTrans.position.y>=17){
Disable();
}
if(rig.velocity.magnitude<=1){
var max : float = 6.0;
rig.velocity += new Vector3(Random.Range(-max,max), Random.Range(-max,max), Random.Range(-max,max));
}else if(rig.velocity.magnitude<=3){
rig.velocity *= 3;
}
}
function Disable(){
disabled = true;
yield WaitForSeconds(1);
disabled = false;
}
function OnCollisionEnter(collision : Collision) {
if(disabled){
return;
}
if (collision.relativeVelocity.magnitude >= 0.02 && !audio.isPlaying ){
audio.volume=collision.relativeVelocity.magnitude;
audio.Play();
RandomColor();
}
}
function SetRed(){
renderer.material.color = Color.red;
yield WaitForSeconds(0.1);
renderer.material.color = Color.white;
}
function RandomColor(){
var i : int = Random.Range(0, 6);
var color : Color = Color.red;
if(i==0){
color = Color.red;
}else if(i==0){
color = Color.white;
}else if(i==1){
color = Color.magenta;
}else if(i==2){
color = Color.blue;
}else if(i==3){
color = Color.yellow;
}else if(i==4){
color = Color.cyan;
}else if(i==5){
color = Color.green;
}
renderer.material.color = color;
}
(C) Æliens
04/09/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.