Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by HemK · Sep 01, 2020 at 11:20 AM · scripting problembeginnertouch controls

Touch dual Joystick script working eratically

Hi,

I've written the following script for a dual touch - on screen joystick. The trouble I'm having is both joysticks are appearing to move the player, instead of one of them moving and the other rotating the character. Can someone please tell me what I'm doing wrong?

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.AI;
 
 
 public class MyJSScript : MonoBehaviour
 {
     private bool touchStart = false;
     public float speed = 10;
     private Vector2 leftTouchA; //Initial touch pos
     private Vector2 leftTouchB; //moved from touchA to this pos
     private Vector2 rightTouchA; //Initial touch pos
     private Vector2 rightTouchB; //moved from touchA to this pos
     private int leftTouch = 99;
     private int rightTouch = 98;
     public NavMeshAgent nav;
     public GameObject player;
     // Start is called before the first frame update
     void Start()
     {
         nav = GetComponent<NavMeshAgent>();
         Vector3 playerSpeed = nav.velocity;
     }
 
     // Update is called once per frame
     void Update()
     {
         int i = 0;
         while (i < Input.touchCount)
         {
             Touch t = Input.GetTouch(i);
             if (t.phase == TouchPhase.Began)
             {
                 if (t.position.x > Screen.width / 2) //check screen touch location
                 { rightTouch = t.fingerId; rightTouchA = t.position; } //if touch location is less than screen width, make the pos right JS positon and touchID as right finger id. 
                 else { leftTouch = t.fingerId; leftTouchA = t.position; } // else the assign position and ID to the left JS
 
             }
             else if (t.phase == TouchPhase.Moved || t.phase == TouchPhase.Stationary && leftTouch == t.fingerId) //Left JS instruction in Move phase or Stationary phase
             {
                 leftTouchB = t.position; //assign current position in moved state to leftTouchB: the moved location.
                 Vector2 offset = leftTouchB - leftTouchA;
                 Vector2 direction = Vector2.ClampMagnitude(offset, 1.0f); //subtract A from B to get a vector for plr direction. Clamp Magnitude to 1f to make it like a JS axis.
                 playerMover(direction);
             }
 
             else if (t.phase == TouchPhase.Moved || t.phase == TouchPhase.Stationary && rightTouch == t.fingerId) //Right JS instruction in Move or stationary phase
             {
                 rightTouchB = t.position; //assign current position in moved state to leftTouchB: the moved location.
                 Vector2 offset = rightTouchB - rightTouchA;
                 Vector2 look = Vector2.ClampMagnitude(offset, 1.0f); //subtract A from B to get a vector for plr look direction. Clamp Magnitude to 1f to make it like a JS axis.
                 playerLook(look);
             }
             else if (t.phase == TouchPhase.Ended && leftTouch == t.fingerId)
             { leftTouch = 99; }
             else if (t.phase == TouchPhase.Ended && rightTouch == t.fingerId)
             { rightTouch = 98; }
 
             i++;
         }
 
         }
 
     void playerMover(Vector2 direction)
     {
         nav.velocity = new Vector3 (direction.x*speed, 0, direction.y* speed);
     }
     void playerLook(Vector2 look)
     {
         Vector3 target = new Vector3(look.x, 0f, look.y);
         player.transform.LookAt(target); }
 }
 
Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

256 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Is what a parent gameobject can consult or modify components attributes of it desactivated gameobject children 0 Answers

How to use a timer with a button 2 Answers

True and false work weird? 1 Answer

OnTriggerEnter and UI Collisions. 0 Answers

Instantiate not working? 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges