- Home /
When you press the left / right scrolling object around its axis
Hello! Sorry for my English, how to make that used for example when I click the left object in the scene begins to turn left around its axis, and similarly to the right. Doing so:
void Update () {
if(Input.GetKey("left")) {
print("left");
transform.rotation = Quaternion.AngleAxis(10, Vector3.left);
}
}
It's not right, I do not understand these Vector3, tried so many things and nothing really happened. There is a simple way to what? I was still doing something like creating third variables xyz, and Input.GetKey ("left") wrote (just syntax is not remember, but something like this) Vector3 (x, y, z); y + = 10; Yes, when you press it's cool, but do not go where you want.
And I tried to do like this, but it seems to me that this is not the right way, because I'm using Tuch and I need that when you press all happened.
public class Example : MonoBehaviour {
public float speed = 0.1F;
void Update() {
if(Input.GetKey("left")) {
print("left");
Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition;
transform.Translate(-touchDeltaPosition.x * speed, -touchDeltaPosition.y * speed, 0);
}
}
}
Please help me, I am in despair(
Answer by Tiras69 · Jan 10, 2014 at 01:19 PM
You can use Quaternion.Euler(x, y, z) . where each parameter give the ability to rotate your object on its local axis.
public float spin_speed;
private float rotate_y ;
void Update () {
if(Input.GetKey("Left")){
rotate_y +=(spin_speed * Time.deltaTime);
}else if(Input.GetKey("Right")){
rotate_y -=(spin_speed * Time.deltaTime);
}
rotate_y = rotate_y%360.0f;
this.transform.rotation = Quaternion.Euler(0, rotate_y, 0);
}
This will make your object rotating on its local y axis.
Your answer
Follow this Question
Related Questions
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
Multiple Cars not working 1 Answer
C# Star wars force script 1 Answer
Error when using getComponent to use a variable 1 Answer
Distribute terrain in zones 3 Answers