Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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 martipello · Jan 27, 2016 at 11:49 AM · uiaddforcegetaxis

player movement using ui buttons

still struggling to do this and cant figure out why! My character moves fine on pc so now i want to have a mobile interface so ive set up some ui buttons and called my movement functions from a set of bools that tell the button what to do when set in the inspector. And ive put my bools in the pointer down and pointer up event triggers of the button but no joy can anyone help, this was my attempt using these bools in my playerControl script,

     //movement for buttons
     if (moveLeft && !moveRight)
     {
         movingLeft();
         animationClips();
         Debug.Log("move left");
     }

     if (moveRight && !moveLeft)
         movingRight();
     animationClips();
     Debug.Log("move right");

     if (myPlayerJump)
     {
         jump();
         animationClips();
         Debug.Log("jump");
     }
     if (!myPlayerJump)
     {

     }

and then turn them on and off

  public void StopMeLeft()
 {
     moveLeft = false;
 }
 public void MoveMeRight()
 {
     moveRight = true;
 }

 public void StopMeRight()
 {
     moveRight = false;
 }
 public void playerJump()
 {
     myPlayerJump = true;
 }

 public void playerJumped()
 {
     myPlayerJump = false;
 }



there all set up on the ui buttons in the inspector but the only one that works is jump? but it catapults me into a wall and i cant get down and the sound is like its scratching on a wall. heres my jump(); method

  public void jump()
 {
     playerRigidbody.AddForce(0, jumpSpeed, 0);
     source.PlayOneShot(jumpNoise, 1f);
     isJumping = true;
  }

my left and right use getAxis like this

  public void movingLeft()
 {
     moveHorizontal = Input.GetAxis("Horizontal");
     Vector3 movement = new Vector3(moveHorizontal, 0, 0);
     playerRigidbody.AddForce(movement * speed);
     if (moveHorizontal < 0)
     {
         jumpDirection = false;
         moveDirection = false;
     }
 }

and you can ignore jumpDirection and moveDirection as they just control the animator. I set this in my player control attached to my player so on the button ive added a pointer up for moveMeLeft and a pointer down for stopMeLeft etc so as doing this didnt work i found a seperate script online that looked good but again it works (i can add debug logs that affect the player and see them firing) but it doesnt move my player, this script here

 using UnityEngine;
 using System.Collections;
 using UnityEngine.UI;
 using UnityEngine.EventSystems;

 public class rightMovement : MonoBehaviour, IEventSystemHandler
 {
 public GameObject character;
 public float maxSpeed = 10f;
 bool buttonHeld = false;
 playerControl playerScript;
 float moving;

 public void pressed(BaseEventData eventData)
 {
     buttonHeld = true;
 }
 public void notpressed(BaseEventData eventData)
 {
     buttonHeld = false;
 }
 void Start()
 { 
     playerScript = character.GetComponent<playerControl>();
    // moving = playerScript.moveHorizontal;
 }
 public void Update()
 {
     if (buttonHeld)
     {
         // Do stuff
         Debug.Log("click" + playerScript.moveHorizontal);
         // Move Character
     }
     else
         Debug.Log("not click");
 }
 }




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

41 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

Related Questions

how to move player with getAxis and UI buttons 2 Answers

How prevent addforce when clicking resume button? 1 Answer

Unity UI for AR Glasses and object tracking? (Stereoscopic) 1 Answer

AddForce on GetAxis always sam direction? 1 Answer

Input.GetAxis wont work with UI controls 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