• Unity
  • Services
  • Made with Unity
  • Learn
  • 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
  • Forums
  • Answers
  • Feedback
  • Issue Tracker
  • Blog
  • Evangelists
  • User Groups

Navigation

  • Home
  • Unity
  • Industries
  • Made with Unity
  • Learn
  • Community
    • Forums
    • Answers
    • Feedback
    • Issue Tracker
    • Blog
    • Evangelists
    • User Groups
  • Get Unity
  • Asset Store

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 junaid2k · Oct 25, 2018 at 07:51 AM · uibuttoninputkeyboardgetkey

Refactor code from getting input from keyboard to get input from UI Buttons

I have created a working prototype of my game with input from 4 different keys (A,K,Z,M) on the keyboard but now I want to refactor the code to work with the 4 ui buttons for android. For example, I want to replace Input.GetKey(KeyCode.A) with the Top Left ui button. One other case is that in some instances a set of instructions would carry out if two buttons are pressed at the same time for example:

if (Input.GetKey(KeyCode.A) && Input.GetKey(KeyCode.K))

{

FatherGameObject.transform.Translate(0, 0.5f * Time.deltaTime, 0, Space.World);

}

Full Code:

 if (Input.GetKey(KeyCode.A) && Input.GetKey(KeyCode.K))
         {
             FatherGameObject.transform.Translate(0, 0.5f * Time.deltaTime, 0, Space.World);
         }
         else if (Input.GetKey(KeyCode.A) && (RightPivot.transform.rotation.z > -0.10f))
         {
             ...
         }
         else if (Input.GetKey(KeyCode.K) && (LeftPivotGameObject.transform.rotation.z < 0.10f)) 
         {
             ...
         }
         
 
         if (Input.GetKey(KeyCode.Z) && Input.GetKey(KeyCode.M))
         {
             FatherGameObject.transform.Translate(0, -0.5f * Time.deltaTime, 0, Space.World);
         }
         else if (Input.GetKey(KeyCode.M) && (LeftPivotGameObject.transform.rotation.z > -0.10f))
         {
             ...
         }
         else if (Input.GetKey(KeyCode.Z) && (RightPivot.transform.rotation.z < 0.10f)) 
         {
             ...
         }

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

1 Reply

· Add your reply
  • Sort: 
avatar image
0
Best Answer

Answer by junaid2k · Oct 25, 2018 at 09:11 AM

Found the answer myself. Solution to this is creating two event triggers on each button; one PointerDown and one PointerUp.

 public bool upLeftBool;
 public bool upRightBool;
 
 void FixedUpdate () {
 
         if (upLeftBool && upRightBool)
         {
             FatherGameObject.transform.Translate(0, 0.5f * Time.deltaTime, 0, Space.World);
         }
 }
 
 public void onPointerDownUpLeft()
     {
         upLeftBool = true;
     }
 
     public void onPointerUpUpLeft()
     {
         upLeftBool = false;
     }
 
     public void onPointerDownUpRight()
     {
         upRightBool = true;
     }
 
     public void onPointerUpUpRight()
     {
         upRightBool = false;
     }

Comment
Add comment · Share
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

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.

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

181 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

Related Questions

Use Canvas Buttons as Input Axis 1 Answer

is possible press 2 buttons at the same time Mobile touch? 0 Answers

Problems with Inputs 1 Answer

New gui: How to disable keyboard input when user is typing? 2 Answers

SOLVED - After using Unity Remote and accidentally hitting some button in Visual Studio, Input no longer detects keyboard unless the mouse is held down. Please, help. 0 Answers

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges