• 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 /
This question was closed Oct 08, 2015 at 03:34 PM by Dicklett for the following reason:

The question is answered, right answer was accepted

avatar image
0
Question by Dicklett · Oct 05, 2015 at 02:04 PM · movementvelocityeffectvector2slide

Adding a slide/velocity effect to a non-rigidbody2D object

I have the following code that tries to reproduce the velocity effect:

     if (Input.GetKey(KeyCode.A))
     {
         transform.Translate(Vector2.left * velocity * Time.deltaTime);
         velocity++;
         if (velocity > maxSpeed)
             velocity = maxSpeed;
         anim.SetTrigger(moveLeftHash);
     }
     else
         velocity = 1;

     if (Input.GetKey(KeyCode.D))
     {
         transform.Translate(Vector2.right * velocity * Time.deltaTime);
         velocity++;
         if (velocity > maxSpeed)
             velocity = maxSpeed;
         anim.SetTrigger(moveRightHash);
     }
     else
         velocity = 1;

     if (Input.GetKey(KeyCode.W))
     {
         transform.Translate(Vector2.up * velocity * Time.deltaTime);
         velocity++;
         if (velocity > maxSpeed)
             velocity = maxSpeed;
     }
     else
         velocity = 1;

     if (Input.GetKey(KeyCode.S))
     {
         transform.Translate(Vector2.down * velocity * Time.deltaTime);
         velocity++;
         if (velocity > maxSpeed)
             velocity = maxSpeed;
     }
     else
         velocity = 1;

Normally, this should start moving the player with speed of 1 and the gradually build it up to maxSpeed, which is 10. The problem is that the speed remains 1 constant and I have no idea what is causing it. Any help/tips is appreciated. :)

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

  • Sort: 

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

3 People are following this question.

avatar image avatar image avatar image

Related Questions

Object jitters when the scene starts 0 Answers

Character won't move (Fixed) 1 Answer

Need some help with my dash move 1 Answer

Stopping an object immediately 1 Answer

Smooth movement using Rigidbody2d 3 Answers

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