Hey guys, read the bottom of this question for the question concerning the buttons
i’m working on my dashboard project in weeks now and what really gets me out of my mind is the scripting i need to do for my dashboard’s needles to display the values by rotating… i’ve been on this script since quite a while but i can’t seem to figure out neither the problem nor the solution.
Here’s my code :
var Source : TextAsset;
var ZeigerSpeed : GameObject;
var ZeigerRPM : GameObject;
var ZeigerHitze : GameObject;
var DisplaySpeed : GUIText;
var DisplayRPM : GUIText;
var DigitalSpeed = 0;
var DigitalRPM = 0;
var DrehungSpeed = 0.0;
var DrehungRpm = 0.0;
var DrehungHitze = 0.0;
var DrehungSpeed_alt = 0.0;
var DrehungRpm_alt = 0.0;
var DrehungHitze_alt = 0.0;
function Dashboard()
{
var lines = Source.text.Split("
“[0]);
for(var i = 4; i < lines.Length; i++)
{
DrehungSpeed_alt = DrehungSpeed;
DrehungRpm_alt = DrehungRpm;
DrehungHitze_alt = DrehungHitze;
var values = lines*.Split(”;"[0]);*
DrehungSpeed = int.Parse(values[4]);
DrehungRpm = int.Parse(values[8]);
DigitalSpeed = int.Parse(values[4]);
//DrehungHitze = int.Parse(values[XXXX]);
DrehungSpeed = Mathf.Clamp(DrehungSpeed/300.0 * 180.0,0.0,180.0);
DrehungRpm = Mathf.Clamp(DrehungRpm/8000.0 * 240.0,0.0,240.0);
yield WaitForSeconds(0.1);
DigitalRPM = int.Parse(values[8]);
}
}
function OnGUI(){
- GUI.Button(Rect(10,10,50,50),“Play”); //function?*
- GUI.Button(Rect(10,70,50,50),“Pause”);*
- GUI.Button(Rect(10,130,70,50),“Rewind”);*
}
function Start()
{
Dashboard();
}
function Update()
{
ZeigerSpeed.transform.rotation = Quaternion.Lerp(ZeigerSpeed.transform.rotation,Quaternion.Euler(0,0,DrehungSpeed),Time.deltaTime);
ZeigerRPM.transform.rotation = Quaternion.Lerp(ZeigerRPM.transform.rotation,Quaternion.Euler(0,0,DrehungRpm),Time.deltaTime);
//ZeigerHitze.transform.rotation = Quaternion.Lerp(ZeigerHitze.transform.rotation,Quaternion.Euler(0,0,DrehungHitze),Time.deltaTime); //No algorithm yet
- DisplaySpeed.text = DigitalSpeed.ToString(“000 km/h”);*
- DisplayRPM.text = DigitalRPM.ToString(“0000 RPM”);*
}
I apologize for some of the names being german, but i think you can figure out what i’m trying to do.
i highly appreciate any help.
PS: If you don’t get something because it’s in german, ask me and i’ll translate for you
EDIT : Some very butthurt people might see this as a duplicate. closing my old question
MORE EDIT
I also want to display the numeric speed value in some kind of LCD display…i need to know if i can just render the text somewhere and make it update…is that possible?
if so, how is it possible?
EVEN MORE EDIT :
Thanks for all the help and support, i have one more question :
I want to create Start, Pause and Rewind Buttons…
is it Possible to pause, start and rewind my function using a GUIButton?
EDIT : Got the buttons done myself, now i just need to know how to actually make them start, pause and rewind
Edit : Script here
function Dashboard()
{
var lines = Source.text.Split("
"[0]);
for(var i = 4; i < lines.Length; i++)
{
DrehungSpeed_alt = DrehungSpeed;
DrehungRpm_alt = DrehungRpm;
DrehungHitze_alt = DrehungHitze;
var values = lines*.Split(“;”[0]);*
DrehungSpeed = int.Parse(values[4]);
DrehungRpm = int.Parse(values[8]);
DigitalSpeed = int.Parse(values[4]);
//DrehungHitze = int.Parse(values[XXXX]);
DrehungSpeed = Mathf.Clamp(DrehungSpeed/300.0 * 180.0,0.0,180.0);
DrehungRpm = Mathf.Clamp(DrehungRpm/8000.0 * 240.0,0.0,240.0);
yield WaitForSeconds(0.1);
DigitalRPM = int.Parse(values[8]);
if(Paused == true)
{
* break;*
}
}
}
function OnGUI(){
* if(GUI.Button(Rect(10,10,50,50),“Play”))*
* {*
* Dashboard();*
* }*
* if(GUI.Button(Rect(10,70,50,50),“Pause”))*
* {*
* Paused = true;*
* }*
* GUI.Button(Rect(10,130,70,50),“Rewind”);*
}
UPDATE : New Script here, killing me as usual
var Source : TextAsset;
var ZeigerSpeed : GameObject;
var ZeigerRPM : GameObject;
var ZeigerHitze : GameObject;
var DisplaySpeed : GUIText;
var DisplayRPM : GUIText;
var DigitalSpeed = 0;
var DigitalRPM = 0;
var DrehungSpeed = 0.0;
var DrehungRpm = 0.0;
var DrehungHitze = 0.0;
var Paused : boolean = false;
var DrehungSpeed_alt = 0.0;
var DrehungRpm_alt = 0.0;
var DrehungHitze_alt = 0.0;
var counter =4;
var i;
function Dashboard()
{
var lines = Source.text.Split("
"[0]);
for(i = counter; i < lines.Length; counter++)
{
DrehungSpeed_alt = DrehungSpeed;
DrehungRpm_alt = DrehungRpm;
DrehungHitze_alt = DrehungHitze;
var values = lines*.Split(“;”[0]);*
DrehungSpeed = int.Parse(values[4]);
DrehungRpm = int.Parse(values[8]);
DigitalSpeed = int.Parse(values[4]);
//DrehungHitze = int.Parse(values[XXXX]);
DrehungSpeed = Mathf.Clamp(DrehungSpeed/300.0 * 180.0,0.0,180.0);
DrehungRpm = Mathf.Clamp(DrehungRpm/8000.0 * 240.0,0.0,240.0);
yield WaitForSeconds(0.1);
DigitalRPM = int.Parse(values[8]);
* if(Paused == true)*
* {*
* counter = i;*
* break;*
* }*
}
}
function OnGUI(){
* if(GUI.Button(Rect(10,10,50,50),“Play”))*
* {*
* Dashboard();*
* }*
* if(GUI.Button(Rect(10,70,50,50),“Pause”))*
* {*
* if(Paused == false) Paused = true;*
* else*
* Paused=false;*
* Dashboard();*
* }*
* GUI.Button(Rect(10,130,70,50),“Rewind”);*
* GUI.Box(Rect(0,1080,Screen.width,Screen.height/4.0),"Zeilennummer : " + i + "
" + "Geschwindigkeit : " + DigitalSpeed + "
" + "Umdrehungen Pro Minute : " + DigitalRPM + "
");*
}
function Start()
{
}
function Update()
{
ZeigerSpeed.transform.rotation = Quaternion.Lerp(ZeigerSpeed.transform.rotation,Quaternion.Euler(0,0,DrehungSpeed),Time.deltaTime*1.5);
ZeigerRPM.transform.rotation = Quaternion.Lerp(ZeigerRPM.transform.rotation,Quaternion.Euler(0,0,DrehungRpm),Time.deltaTime);
//ZeigerHitze.transform.rotation = Quaternion.Lerp(ZeigerHitze.transform.rotation,Quaternion.Euler(0,0,DrehungHitze),Time.deltaTime); //No algorithm yet
* DisplaySpeed.text = DigitalSpeed.ToString(“000 km/h”);*
* DisplayRPM.text = DigitalRPM.ToString(“0000 RPM”);*
}
UPDATE : Play and Pause buttons are working! i’m just missing rewind now! posting my script!
var Source : TextAsset;
var ZeigerSpeed : GameObject;
var ZeigerRPM : GameObject;
var ZeigerHitze : GameObject;
var DisplaySpeed : GUIText;
var DisplayRPM : GUIText;
var DigitalSpeed = 0;
var DigitalRPM = 0;
var DrehungSpeed = 0.0;
var DrehungRpm = 0.0;
var DrehungHitze = 0.0;
var Paused : boolean = false;
var DrehungSpeed_alt = 0.0;
var DrehungRpm_alt = 0.0;
var DrehungHitze_alt = 0.0;
var counter =4;
var i = 4;
function Dashboard()
{
var lines = Source.text.Split("
"[0]);
for(i = counter; i < lines.Length; i++)
{
DrehungSpeed_alt = DrehungSpeed;
DrehungRpm_alt = DrehungRpm;
DrehungHitze_alt = DrehungHitze;
var values = lines*.Split(“;”[0]);*
DrehungSpeed = int.Parse(values[4]);
DrehungRpm = int.Parse(values[8]);
DigitalSpeed = int.Parse(values[4]);
//DrehungHitze = int.Parse(values[XXXX]);
DrehungSpeed = Mathf.Clamp(DrehungSpeed/300.0 * 180.0,0.0,180.0);
DrehungRpm = Mathf.Clamp(DrehungRpm/8000.0 * 240.0,0.0,240.0);
yield WaitForSeconds(0.1);
DigitalRPM = int.Parse(values[8]);
* counter = i;*
* if(Paused == true)*
* {*
* break;*
* }*
}
}
function OnGUI(){
* if(GUI.Button(Rect(10,10,50,50),“Play”))*
* {*
* Dashboard();*
* }*
* if(GUI.Button(Rect(10,70,50,50),“Pause”))*
* {*
* if(Paused == false) Paused = true;*
* else*
* Paused=false;*
* Dashboard();*
* }*
* GUI.Button(Rect(10,130,70,50),“Rewind”);*
* GUI.Box(Rect(0,1080,Screen.width,Screen.height/4.0),"Zeilennummer : " + i + "
" + "Geschwindigkeit : " + DigitalSpeed + "
" + "Umdrehungen Pro Minute : " + DigitalRPM + "
");*
}
function Start()
{
}
UPDATE : New script trying to get the buttons “first value” and “last value” done!
var Source : TextAsset;
var ZeigerSpeed : GameObject;
var ZeigerRPM : GameObject;
var ZeigerHitze : GameObject;
var DisplaySpeed : GUIText;
var DisplayRPM : GUIText;
var DigitalSpeed = 0;
var DigitalRPM = 0;
var DrehungSpeed = 0.0;
var DrehungRpm = 0.0;
var DrehungHitze = 0.0;
var Paused : boolean = false;
var Rewinding : boolean = false;
var ErsterWert : boolean = false;
var LetzterWert : boolean = false;
var DrehungSpeed_alt = 0.0;
var DrehungRpm_alt = 0.0;
var DrehungHitze_alt = 0.0;
var counter =4;
var i = 4;
function Dashboard()
{
var lines = Source.text.Split("
"[0]);
for(i = counter; i < lines.Length; i++)
{
DrehungSpeed_alt = DrehungSpeed;
DrehungRpm_alt = DrehungRpm;
DrehungHitze_alt = DrehungHitze;
var values = lines*.Split(“;”[0]);*
DrehungSpeed = int.Parse(values[4]);
DrehungRpm = int.Parse(values[8]);
DigitalSpeed = int.Parse(values[4]);
//DrehungHitze = int.Parse(values[XXXX]);
DrehungSpeed = Mathf.Clamp(DrehungSpeed/300.0 * 180.0,0.0,180.0);
DrehungRpm = Mathf.Clamp(DrehungRpm/8000.0 * 240.0,0.0,240.0);
DigitalRPM = int.Parse(values[8]);
* yield WaitForSeconds(1.0);*
* counter = i;*
* if(Paused == true)*
* {*
* Rewinding = false;*
* ErsterWert = false;*
* LetzterWert = false;*
* break;*
* }*
* if(Rewinding == true)*
* {*
* Paused = false;*
* ErsterWert = false;*
* LetzterWert = false;*
* for(i = counter; i > 4; i–)*
* {*
values = lines*.Split(“;”[0]);*
DrehungSpeed_alt = DrehungSpeed;
DrehungRpm_alt = DrehungRpm;
DrehungHitze_alt = DrehungHitze;
DrehungSpeed = int.Parse(values[4]);
DrehungRpm = int.Parse(values[8]);
DigitalSpeed = int.Parse(values[4]);
//DrehungHitze = int.Parse(values[XXXX]);
DrehungSpeed = Mathf.Clamp(DrehungSpeed/300.0 * 180.0,0.0,180.0);
DrehungRpm = Mathf.Clamp(DrehungRpm/8000.0 * 240.0,0.0,240.0);
DigitalRPM = int.Parse(values[8]);
* yield WaitForSeconds(1.0);*
* counter = i;*
* }*
}
* if(ErsterWert == true)*
* {*
* Paused = false;*
* Rewinding = false;*
* LetzterWert = false;*
* values = lines[4].Split(“;”[0]);*
* DrehungSpeed = int.Parse(values[4]);*
* DrehungRpm = int.Parse(values[8]);*
* DigitalSpeed = int.Parse(values[4]);*
* //DrehungHitze = int.Parse(values[XXXX]);*
_ DrehungSpeed = Mathf.Clamp(DrehungSpeed/300.0 * 180.0,0.0,180.0);
DrehungRpm = Mathf.Clamp(DrehungRpm/8000.0 * 240.0,0.0,240.0);_
* DigitalRPM = int.Parse(values[8]);*
* yield WaitForSeconds(1.0);*
* }*
* if(LetzterWert == true)*
* {*
* Paused = false;*
* Rewinding = false;*
* ErsterWert = false;*
* var endwert = lines.length - 1.0;*
* values = lines[endwert].Split(“;”[0]);*
* DrehungSpeed = int.Parse(values[4]);*
* DrehungRpm = int.Parse(values[8]);*
* DigitalSpeed = int.Parse(values[4]);*
* //DrehungHitze = int.Parse(values[XXXX]);*
_ DrehungSpeed = Mathf.Clamp(DrehungSpeed/300.0 * 180.0,0.0,180.0);
DrehungRpm = Mathf.Clamp(DrehungRpm/8000.0 * 240.0,0.0,240.0);_
* DigitalRPM = int.Parse(values[8]);*
* yield WaitForSeconds(1.0);*
* }*
}
}
function OnGUI(){
* if(GUI.Button(Rect(10,10,50,50),“Play”))*
* {*
* Dashboard();*
* }*
* if(GUI.Button(Rect(10,70,50,50),“Pause”))*
* {*
* if(Paused == false) Paused = true;*
* else*
* Paused=false;*
* Dashboard();*
* }*
* if(GUI.Button(Rect(10,130,70,50),“Rewind”))*
* {*
* Rewinding = true;*
* }*
* if(GUI.Button(Rect(10,190,100,50),“Erster Wert”))*
* {*
* ErsterWert = true;*
* }*
* if(GUI.Button(Rect(10,250,100,50),“Letzter Wert”))*
* {*
* LetzterWert = true;*
* }*
* GUI.Box(Rect(0,1080,Screen.width,Screen.height/4.0),"Zeilennummer : " + i + "
" + "Geschwindigkeit : " + DigitalSpeed + "
" + "Umdrehungen Pro Minute : " + DigitalRPM + "
");*
}
function Start()
{
}
function Update()
{
ZeigerSpeed.transform.rotation = Quaternion.Lerp(ZeigerSpeed.transform.rotation,Quaternion.Euler(0,0,DrehungSpeed),Time.deltaTime*1.5);
ZeigerRPM.transform.rotation = Quaternion.Lerp(ZeigerRPM.transform.rotation,Quaternion.Euler(0,0,DrehungRpm),Time.deltaTime);
//ZeigerHitze.transform.rotation = Quaternion.Lerp(ZeigerHitze.transform.rotation,Quaternion.Euler(0,0,DrehungHitze),Time.deltaTime); //No algorithm yet
* DisplaySpeed.text = DigitalSpeed.ToString(“000 km/h”);*
* DisplayRPM.text = DigitalRPM.ToString(“0000 RPM”);*
}