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 AlejandroBoss10 · Apr 23, 2018 at 03:53 PM · 2dscripting problemmovementmovement scripty-axis

2D Movement with axis?

Hey everyone, so I have a script which I am using for movement in 3D. The way that it is used is that it uses the X and Z values to move. "Horizontal" axis moves it across the X axis and the "Vertical" axis moves it across the Z (I think that's what it means). Well, I have this script for a 2D game and it works to a certain degree. Whatever object I attach this script to, I have to rotate it on the X axis by -90, and this is causing unwanted problems. Any suggestions as to how to make this script move on the X and Y axis only for 2D movement. I'm guessing that it's an easy fix that I just can't find yet. My guess is that I would have to do something with the way that it is being translated, to change the Z axis value to 0 and the Y value up, but I don't know how to do this. Below is the script I am using that is C#.

using System.Collections; using UnityEngine;

public class Cloud_Movement : MonoBehaviour { public float NormalSpeed; public float ExtraSpeed;

 void Update ()
 {
     transform.Translate(NormalSpeed * Input.GetAxis("Horizontal") * Time.deltaTime,
     0f, NormalSpeed * Input.GetAxis("Vertical") * Time.deltaTime);

     if (Input.GetKeyDown(KeyCode.LeftShift))
     {
         NormalSpeed += ExtraSpeed;
     }
     else if (Input.GetKeyUp(KeyCode.LeftShift))
     {
         NormalSpeed -= ExtraSpeed;
     }

 }

}

PS: I need it to use the Axis because I am using CrossPlatformInput for android and PC. Thanks a BUNCH!

Comment
Add comment · Show 2
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
avatar image farrukh50 · Apr 23, 2018 at 05:01 PM 1
Share

Why dont you add the vertical movement in the y Axis in the transform.Translate function?

  transform.Translate(NormalSpeed * Input.GetAxis("Horizontal") * Time.deltaTime,
      NormalSpeed * Input.GetAxis("Vertical") * Time.deltaTime, 0f );
 


avatar image AlejandroBoss10 farrukh50 · Apr 23, 2018 at 08:49 PM 0
Share

Thank you so much! This works exactly as I needed, and it wasn't a hard fix either. I knew that I had to set the Z value to 0 and bring up the Y value but I didn't know how. Thank you so much. So for anyone that happens to read this thread and doesn't know how to make it work, what you do is you get rid of the part that starts at the beginning of the Update function and replace it with what @farrukh50 put. Just delete the part and insert his code in there. Below is the finished script.

  void Update ()
  {
     transform.Translate(NormalSpeed * Input.GetAxis("Horizontal") * Time.deltaTime,
     NormalSpeed * Input.GetAxis("Vertical") * Time.deltaTime, 0f );
      if (Input.Get$$anonymous$$eyDown($$anonymous$$eyCode.LeftShift))
      {
          NormalSpeed += ExtraSpeed;
      }
      else if (Input.Get$$anonymous$$eyUp($$anonymous$$eyCode.LeftShift))
      {
          NormalSpeed -= ExtraSpeed;
      }
  }

1 Reply

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

Answer by AlejandroBoss10 · Apr 23, 2018 at 08:51 PM

This is the finished script. Sorry for the bad formatting. Just copy the comment above's answer. That should be formatted correctly.

void Update () { transform.Translate(NormalSpeed Input.GetAxis("Horizontal") Time.deltaTime, NormalSpeed Input.GetAxis("Vertical") Time.deltaTime, 0f ); if (Input.GetKeyDown(KeyCode.LeftShift)) { NormalSpeed += ExtraSpeed; } else if (Input.GetKeyUp(KeyCode.LeftShift)) { NormalSpeed -= ExtraSpeed; } }

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.

Follow this Question

Answers Answers and Comments

239 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

Related Questions

[2D] Moving the player 1 tile at a time using rigidbody movement 0 Answers

How to make a Grid movement (tile per tile) 1 Answer

Rotate game object and then return to its original rotation 1 Answer

Help with Mobile Game controls 2 Answers

AI Movement Direction 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