• 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 JonatasDeveloper · Apr 16, 2015 at 10:40 PM · c#2dspace shooter

Evasive Maneuver to Space Shooter 2D.

Hey Guys, I am converting the Project Space Shooter to 2D, and I'm in trouble in the enemy's movement.

 using UnityEngine;
 using System.Collections;
 
 public class EvasiveManeuver : MonoBehaviour
 {
     public Boundary boundary;
     //public float tilt;
     public float dodge;
     public float smoothing;
     public Vector2 startWait;
     public Vector2 maneuverTime;
     public Vector2 maneuverWait;
 
     private float currentSpeed;
     private float targetManeuver;
 
     void Start ()
     {
         currentSpeed = GetComponent<Rigidbody>().velocity.y;
         StartCoroutine(Evade());
     }
     
     IEnumerator Evade ()
     {
         yield return new WaitForSeconds (Random.Range (startWait.x, startWait.y));
         while (true)
         {
             targetManeuver = Random.Range (1, dodge) * -Mathf.Sign (transform.position.x);
             yield return new WaitForSeconds (Random.Range (maneuverTime.x, maneuverTime.y));
             targetManeuver = 0;
             yield return new WaitForSeconds (Random.Range (maneuverWait.x, maneuverWait.y));
         }
     }
     
     void FixedUpdate ()
     {
         float newManeuver = Mathf.MoveTowards (GetComponent<Rigidbody>().velocity.y, targetManeuver, smoothing * Time.deltaTime);
         GetComponent<Rigidbody2D>().velocity = new Vector3 (newManeuver, 0.0f, currentSpeed);
         GetComponent<Rigidbody2D>().position = new Vector3
         (
             Mathf.Clamp(GetComponent<Rigidbody2D>().position.x, boundary.xMin, boundary.xMax), 
             0.0f, 
             Mathf.Clamp(GetComponent<Rigidbody2D>().position.y, boundary.yMin, boundary.yMax)
         );
         
         //GetComponent<Rigidbody2D>().rotation = Quaternion.Euler (0, 0, GetComponent<Rigidbody2D>().velocity.x * -tilt);
     }
 }
 


Comment
Add comment · Show 7
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 siaran · Apr 17, 2015 at 12:16 PM 0
Share

Uhm, what is the question exactly?

avatar image JonatasDeveloper · Apr 17, 2015 at 04:33 PM 0
Share

I need an AI to move the Enemy, as well as the Space Shooter, but in 2D editor, tried to use this script but does not work 100%.

avatar image Glurth · Apr 17, 2015 at 04:46 PM 0
Share

does not work 100%

need more details.
avatar image JonatasDeveloper · Apr 17, 2015 at 06:59 PM 0
Share

This is what should happen:https://www.youtube.com/watch?v=kX0hnOS1QQQ&list=PLX2vGYjWbI0RibPF7vixmr4x8ONJX-mNd

This is what happens: https://www.youtube.com/watch?v=RtgemNs$$anonymous$$7d0&feature=youtu.be

avatar image Glurth · Apr 17, 2015 at 11:12 PM 1
Share

Sorry Jonatas, please don't get discouraged. I suggest you do delete this one, then improve the question with more details and post it again.

Show more comments

1 Reply

· Add your reply
  • Sort: 
avatar image
1

Answer by napilnat · Jan 23, 2016 at 08:47 PM

The problem with this one is that the enemy does not move in y axis. it does not maneuver. is this a side scrolling space shooter?

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

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

5 People are following this question.

avatar image avatar image avatar image avatar image avatar image

Related Questions

Lasers wont stop firing?? 1 Answer

Distribute terrain in zones 3 Answers

Enemy AI won't follow spawned player, it justs circles around the same position over and over again (Unity2D C#) 1 Answer

Fire limit in a Space shooter? 1 Answer

How to remove a specific prefab from a List? 1 Answer


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