Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 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 Tenate · Nov 20, 2014 at 10:08 AM · 2djavascriptinstantiateprojectilepositioning

2D Space Shooter Instantiating bullet question

Hello, I am currently working on a 2D space shooter and I'm using instantiate to get my bullets to shoot out of my ship. It works well, but not as well as I would like it to. At the moment I am using the code

     if (Input.GetKeyDown("space")) {
         Instantiate(bullet,transform.position,Quaternion.identity);
     }

Which like I said works, but it shoots from the middle of the ship which looks ridiculous to me. I would like to set a certain part of the ship for the bullets to fire out of, for example: the barrels I made on the ship. The only problem I have with that is if I do set a certain position of the ship to shoot out from it will only shoot at out of those coordinates instead of the constantly changing gun barrels coordinates. So, how would I get that to work correctly? I'm sure this isn't too difficult.

Also, if I could also get help on how I would get the enemy ships to shoot as well that would be great. I'm guessing I would use a piece of code saying basically after a set amount of seconds it would fire. (Also out of those constantly changing positions).

Comment
Add comment · Show 1
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 meat5000 ♦ · Nov 20, 2014 at 01:48 AM 0
Share

transform.position+offset

Try making the enemies work first then ask that as a separate question for any specific problems you might have.

1 Reply

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

Answer by Tabemasu Games · Nov 20, 2014 at 11:09 AM

You can create an empty game object on your ship's cannons. It will move with the ship and will also follow the cannon position/rotation.

Then, reference this game object to your script by creating a public variable and then drag'n'dropping your new game object to this variable.

 public Transform cannonOutput;

And finally, use its position when creating your bullet

  if (Input.GetKeyDown("space")) {
      Instantiate(bullet, cannonOutput.position, Quaternion.identity);
  }
Comment
Add comment · Show 1 · 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
avatar image Tenate · Nov 20, 2014 at 10:27 PM 0
Share

Took a little bit to figure out, but it works perfectly. Thanks! :P

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

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

iTween NullReferenceException error 1 Answer

how to make multiplication code simpler. 1 Answer

i want to destroy a projectile after it passes a limit on x axis after instantiation(2d game) 1 Answer

Object reference not set to an instance of an object 1 Answer

Changing the sprite of an instantiated object through a collision box from another gameobject. 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