- Home /
Question by
mrklaes · Oct 21, 2016 at 04:15 PM ·
joystickwheelcollider
Wheel collider and joystick
Hi all you great minds.
I am trying to connect my mobile joystick to my car, so that I can make a small racing game on my mobile phone.
I am having an issue with connecting the virtual joystick to my car. I got the car rolling by using my arrows, but I can't make the connection between the joystick input and the car itself.
This code moves the car:
for (int i = 0; i < 2; i++)
{
wheelColliders[i].motorTorque = accelerate * maxTorgue;
}
This code shows me the coordinates for the position of the joystick:
public virtual void OnDrag(PointerEventData ped)
{
Vector2 pos = Vector2.zero;
if (RectTransformUtility.ScreenPointToLocalPointInRectangle(bgImg.rectTransform, ped.position, ped.pressEventCamera, out pos))
{
pos.x = (pos.x / bgImg.rectTransform.sizeDelta.x);
pos.y = (pos.y / bgImg.rectTransform.sizeDelta.y);
float x = (bgImg.rectTransform.pivot.x == 1) ? pos.x * 2 + 1 : pos.x * 2 - 1;
float y = (bgImg.rectTransform.pivot.x == 1) ? pos.y * 2 + 1 : pos.y * 2 - 1;
inputVector = new Vector3(x, 0, y);
inputVector = (inputVector.magnitude > 1) ? inputVector.normalized : inputVector;
//MoveJoystic image
joystickImg.rectTransform.anchoredPosition = new Vector3(inputVector.x * (bgImg.rectTransform.sizeDelta.x/3),
inputVector.z * (bgImg.rectTransform.sizeDelta.y/3));
Debug.Log(pos);
}
}
I thought that the solution could be in this code, but I cant find it:
if (moveJoystick.inputVector != Vector3.zero) { movement = moveJoystick.inputVector;
}
Does anyone of you guys have any experience with this type of work?
Comment