- Home /
how will i get every time values in table window?
Hi All,
i struck with the problem from last one week but i didn't get any solution.
I am working on simple pendulum project. I made, If any one can drag that pendulum that values like count,length and time period values will get into window. After second time dragging the values also came and updated in to same window? that is my task.
I done up to first time dragging.
For that my code is like this:
void DoMyWindow3(int windowID)
{
GUI.Label(new Rect(0,0,400,40), " Length Timeperiod Angle " ,fontstyle);
GUI.Label(new Rect(0,40,400,30), StripeValue+" "+Pendulum2.Timeperiod +" "+Pendulum2.count ,fontstyle);
}
How will call my drag and update code to do that task.
void Update() {
if (!dragging) {
if(anglespeed>0 && anglespeed<180)
{
length1 = ((anglespeed*2*(Mathf.PI)*GUIMenu.StripeValue)/180);
speed=length1/Timeperiod;
}
else if(anglespeed>180 && anglespeed<=270)
{
angles1 = anglespeed-180;
angles2 = 180-angles1;
length1 = ((angles2*2*(Mathf.PI)*GUIMenu.StripeValue)/180);
speed=length1/Timeperiod;
}
else if(anglespeed>-90 && anglespeed<0)
{
angles1 = anglespeed+90;
length1 = ((angles1*2*(Mathf.PI)*GUIMenu.StripeValue)/180);
speed=length1/Timeperiod;
}
float f = (Mathf.Sin (fTimer * speed - Mathf.PI / 2.0f) + 1.0f) / 2.0f ;
v3T.Set (0.0f, 0.0f, Mathf.Lerp(startAngle, endAngle, f));
pivot.eulerAngles = v3T;
fTimer += Time.deltaTime;
Timeperiod=(2*(Mathf.PI)*(Mathf.Sqrt(GUIMenu.StripeValue/9.81f))) ;
Debug.Log(startAngle+","+endAngle);
if (f >= 0.5 && fPrev < 0.5) {
// decrease angles
if(startAngle>endAngle){
startAngle -=1;
endAngle +=1;
count +=1;
}
else {
startAngle = 270;
endAngle = 270;
GUIMenu.abo = true;
}
}
fPrev = f;
}
}
void OnMouseDown() {
dragging = true;
Vector3 v3T = (Vector3)Input.mousePosition - v3Pivot;
angle = Mathf.Atan2 (v3T.y, v3T.x) * Mathf.Rad2Deg;
}
void OnMouseDrag() {
Vector3 v3T = (Vector3)Input.mousePosition - v3Pivot;
float angleT = Mathf.Atan2 (v3T.y, v3T.x) * Mathf.Rad2Deg;
angleDiff = Mathf.DeltaAngle(angle, angleT);
pivot.Rotate(new Vector3(0.0f, 0.0f, angleDiff));
angle = angleT;
}
void OnMouseUp() {
Vector3 v3T = Camera.main.WorldToScreenPoint(transform.position);
v3T = v3T - v3Pivot;
float angle = Mathf.Atan2 (v3T.y, v3T.x) * Mathf.Rad2Deg;
Debug.Log (angle);
anglespeed=angle+90;
if (angle < 0.0f)
angle += 360.0f;
count = 0;
startAngle = angle;
if (angle <= 90.0f) {
endAngle = angle - 2.0f * angle - 180.0f;
}
else if (angle <= 180.0f) {
endAngle = angle + 2.0f * (180.0f - angle) + 180.0f;
}
else if (angle <= 270.0f) {
endAngle = angle + 2.0f * (270.0f - angle);
}
else {
endAngle = angle - 2.0f * (angle - 270.0f);
}
if(startAngle < endAngle) {
float temp = startAngle;
startAngle = endAngle;
endAngle = temp;
}
dragging = false;
fTimer = 0.0f;
currentangle = anglespeed;
}
In this code how will i pass that values every time.
thank you
shankar
Comment
Hey see this.
http://answers.unity3d.com/questions/427103/how-will-i-update-my-table-values-every-time.html
and tell me the answer.