• 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 Saiura · Jun 13, 2014 at 10:52 AM · movementtransformattackmove an objectdash

How to do a "dash"-movement, set distance on key-input?

I'm trying to add a directional "dash" to my current 2,5D Sidescroller-projekt. It would basicly be a movement into the direction the character is facing when a specific key is pressed. The distance traveled would be a set amount.

My first thought would be a simple "transform.position", though that would be more of a teleport than a dash.

What I am trying to make is a movement with increased speed that can't be cancled once activated and has a little cool-down before it can be activated again. Therefor I thought a Coroutine might work.

I already have a key for it set in the projects input settings, though what I really don't know anything about is how I can make the character move instead of just teleporting, especially since collisions are still supposed to apply. I have a script for moving platforms:

     public int Marker = 0;
     public Transform[] Waypoints;
 
     void Update () 
     {
         transform.position = Vector3.MoveTowards(transform.position, Waypoints[Marker].transform.position, 3 * Time.deltaTime);    
 
         if (transform.position == Waypoints[Marker].transform.position)
         {
             Marker ++;
         }
         if (Marker == Waypoints.Length) 
         {
             Marker = 0;    
         }
 
     }

And thought to use the same way of transforming. My idea was to also work with waypoints, but I'd have to move them when the character walks normally and stop them once the character dashes. Also I have no real idea how to change the speed.

So to summarize:

I'm trying to make a dash in the direction the character is facing, a movement with collision on key-input and with a set distance that is the same for each dash. The dash therefor has a duration and a cool-down. Though I have a few little ideas as stated above, I don't know if they could work or how to fully make use of them (still fairly new to Unity).

If the "dash in currently faced direction" is harder to do, I can settle for two dash-methods (left and right) if necessary.

So, how could I do this?

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.

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

2 People are following this question.

avatar image avatar image

Related Questions

Move relative to objects rotation (C#) 1 Answer

One Key press to trigger .MoveTowards to go through its whole movement. 2 Answers

Problem when rotating sprite and moving it foward 1 Answer

If you change the rigidBody2D.position, you also need to change the gameObject.transform.position? 0 Answers

Moving multiple transforms from an array in a single script 0 Answers

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