How can i move a 2d player in a 3d scene in x and z axis? maybe with a canvas joystick?
How can i move a 2d player in a 3d scene in x and z axis? maybe with a canvas joystick?
This is the provisory Touchcontrols script
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class TouchControls : $$anonymous$$onoBehaviour {
private PlayerController thePlayer;
// Use this for initialization
void Start () {
thePlayer = FindObjectOfType<PlayerController> ();
}
public void LeftArrow()
{
transform.localScale = new Vector3 (-1, 1, 1);
//thePlayer.$$anonymous$$ove (-1);
}
public void RightArrow()
{
transform.localScale = new Vector3 (1, 1, 1);
//thePlayer.$$anonymous$$ove (1);
}
public void UnPressedArrow()
{
transform.localScale = new Vector3 (0, 0, 0);
//thePlayer.$$anonymous$$ove (1):
}
}
Answer by QuentinJ724 · Mar 15, 2017 at 06:57 PM
This is the player controller script
using UnityEngine; using System.Collections;
public class Player : MonoBehaviour {
public float maxSpeed = 3;
public float speed = 50f;
public float jumpPower = 150f;
public bool grounded;
private Rigidbody2D rb2D;
private Animator anim;
void Start ()
{
rb2D = gameObject.GetComponent<Rigidbody2D> ();
anim = gameObject.GetComponent<Animator> ();
}
void Update ()
{
anim.SetBool ("Grounded", grounded);
anim.SetFloat ("Speed", Mathf.Abs (Input.GetAxis ("Horizontal")));
if (Input.GetAxis ("Horizontal") < -0.1f)
{
transform.localScale = new Vector3 (-1, 1, 1);
}
if (Input.GetAxis ("Horizontal") > 0.1f)
{
transform.localScale = new Vector3 (1, 1, 1);
}
if (Input.GetButtonDown ("Jump") && grounded)
{
rb2D.AddForce (Vector2.up * jumpPower);
}
}
void FixedUpdate()
{
float h = Input.GetAxis ("Horizontal");
//Moving the player
rb2D.AddForce ((Vector2.right * speed) * h);
//Limiting the speed of the player
if (rb2D.velocity.x > maxSpeed)
{
rb2D.velocity = new Vector2 (maxSpeed, rb2D.velocity.y);
}
if (rb2D.velocity.x < -maxSpeed)
{
rb2D.velocity = new Vector2 (-maxSpeed, rb2D.velocity.y);
}
}
}
Your answer
![](https://koobas.hobune.stream/wayback/20220612113235im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Multiple Sprite Pivot Points 0 Answers
Unity 3D #C Nightvision does not want to switch on or off. 0 Answers
X360 Controller detection gives uneven quadrants 0 Answers
How to check if player is rapidly rotating the joystick? 2 Answers
Joystick freezes when new scene is loaded,Joystick freezes when loading a new scene 0 Answers