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 /
  • Help Room /
avatar image
0
Question by carter-carl30 · Feb 11, 2016 at 07:11 PM · directioncatapultslingshot

Help with angry birds style 2d pack

Hi all, I am making a game using the angry birds style game example from unity asset store. What I want to do is have a line or target that shows the direction the projectile will fire. It doesnt have to be 100% accurate just an indication of direction.

I have searched for answers but they all seem to involve loads of complicated maths equations is there a simple way to do this? I was thinking maybe a way of making a texture arrow and making that transform the opposite to the catapults "bands" eg as I pull the catapult back the texture would move opposite to the projectile showing direction.

can anyone help please?

 using UnityEngine;
     
     public class ProjectileDragging : MonoBehaviour {
         public float maxStretch = 3.0f;
         public LineRenderer catapultLineFront;
         public LineRenderer catapultLineBack;  
         
         private SpringJoint2D spring;
         private Transform catapult;
         private Ray rayToMouse;
         private Ray leftCatapultToProjectile;
         private float maxStretchSqr;
         private float circleRadius;
         private bool clickedOn;
         private Vector2 prevVelocity;
         public AudioClip fire;
         
         void Awake () {
             spring = GetComponent <SpringJoint2D> ();
             catapult = spring.connectedBody.transform;
         }
         
         void Start () {
             LineRendererSetup ();
             rayToMouse = new Ray(catapult.position, Vector3.zero);
             leftCatapultToProjectile = new Ray(catapultLineFront.transform.position, Vector3.zero);
             maxStretchSqr = maxStretch * maxStretch;
             CircleCollider2D circle = collider2D as CircleCollider2D;
             circleRadius = circle.radius;
         }
         
         void Update () {
             if (clickedOn)
                 Dragging ();
             
             if (spring != null) {
                 if (!rigidbody2D.isKinematic && prevVelocity.sqrMagnitude > rigidbody2D.velocity.sqrMagnitude) {
                     Destroy (spring);
                     rigidbody2D.velocity = prevVelocity;
                 }
                 
                 if (!clickedOn)
                     prevVelocity = rigidbody2D.velocity;
                 
                 LineRendererUpdate ();
                 
             } else {
                 catapultLineFront.enabled = false;
                 catapultLineBack.enabled = false;
             }
         }
         
         void LineRendererSetup () {
             catapultLineFront.SetPosition(0, catapultLineFront.transform.position);
             catapultLineBack.SetPosition(0, catapultLineBack.transform.position);
             
             catapultLineFront.sortingLayerName = "Foreground";
             catapultLineBack.sortingLayerName = "Foreground";
             
             catapultLineFront.sortingOrder = 3;
             catapultLineBack.sortingOrder = 1;
         }
         
         void OnMouseDown () {
             spring.enabled = false;
             clickedOn = true;
         }
         
         void OnMouseUp () {
             spring.enabled = true;
             rigidbody2D.isKinematic = false;
             clickedOn = false;
             audio.PlayOneShot(fire);
         }
     
         void Dragging () {
             Vector3 mouseWorldPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition);
             Vector2 catapultToMouse = mouseWorldPoint - catapult.position;
             
             if (catapultToMouse.sqrMagnitude > maxStretchSqr) {
                 rayToMouse.direction = catapultToMouse;
                 mouseWorldPoint = rayToMouse.GetPoint(maxStretch);
             }
             
             mouseWorldPoint.z = 0f;
             transform.position = mouseWorldPoint;
         }
     
         void LineRendererUpdate () {
             Vector2 catapultToProjectile = transform.position - catapultLineFront.transform.position;
             leftCatapultToProjectile.direction = catapultToProjectile;
             Vector3 holdPoint = leftCatapultToProjectile.GetPoint(catapultToProjectile.magnitude + circleRadius);
             catapultLineFront.SetPosition(1, holdPoint);
             catapultLineBack.SetPosition(1, holdPoint);
         }
     }



Comment
Add comment · Show 3
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 Geneve-Goh · Jul 23, 2016 at 11:47 AM 0
Share

hi may I ask why isn't my catapult working in unity? It cannot be stretch or pulled. I've checked the code and it is correct. Before I proceed to designing of the game, everything is okay. It works well but sometimes, it cannot be stretch or whatsoever. But after I improved on the design wise, it cannot be stretch. Do you know why? and just wanna ask if this happens on your game too. @jakovd

avatar image Geneve-Goh · Jul 23, 2016 at 11:51 AM 0
Share

hi, may I ask you a question? I'm doing a game similar to angry birds. but, why isn't my catapult working in unity? It cannot be stretch or pulled. I've checked the code and it is correct. Before I proceed to designing of the game, everything seems okay. It works well but sometimes, it cannot be stretch or whatsoever too. But after I improved on the design wise, it cannot be stretch. Do you know why? and just wanna ask if this happens on your game too.

avatar image carter-carl30 Geneve-Goh · Jul 31, 2016 at 01:24 PM 0
Share

I don't know how you have you catapult setup or what code you are using so I can't really help, do you mean you can't drag the projectile?

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

predict line for a projectile 0 Answers

How can i make an object to change directions after hitting a wall? 2 Answers

LineRenderer is shooting in wrong direction. 1 Answer

Creating a simple character controller (Script provided) 1 Answer

Check if one gameobject in sight of another gameobject give wrong angle. 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