Here is my code in unity 3d
moveDirection = Vector3.forward + new Vector3(Input.acceleration.x * 0.3f, 0, 0);
// transform.position.x = Mathf.Clamp(transform.position.x, -2.0f, 2.0f);
transform.Translate(moveDirection * Time.deltaTime *9);
A object moving forward. I want to clamp its x position.
transform.position.x = Mathf.Clamp(transform.position.x, -2.0f, 2.0f);
which gives me
error CS1612: Cannot modify a value type return value of `UnityEngine.Transform.position.
Consider storing the value in a temporary variable
How can i clamp my object?
Beat me to it. i gotta type faster. :)
– FWCoreyIt should be
– Chronos-LVector3 pos = ..., because it is in C#.Not in my book - I'd use var every time :)
– whydoidoitI am totally blown away right now. When I read on the syntax difference between uJS and C#, the declaration for variable in each languages are
– Chronos-Lvar i : intorvar iandint irespectively, I made the assumption thatvarwill not work in C#. Just learnt something new today.I'm guessing the choice to use var is in case position gets changed from a Vector3 to another variable type that includes a field/property for x?
– FWCorey