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 Kardall · Mar 24, 2017 at 08:04 PM · c#spritesprefabs

Sprite Sheet on a Prefab, and changing Sprite after instantiate

I am sure that if I knew the terminology word for what I am trying to do, I would be able to find someone who has already done this.

In the Sprite Editor, you can create multiple sprites from one sprite sheet. But normally I see this as an animator type of thing.

  • I have a sprite sheet with buttons backgrounds on it in 2 states. (normal/selected).

  • I have labeled each one as say, red_normal and red_selected

  • I have created a prefab with said sprite sheet, and I can select the sprite from the list inside Unity

  • I added a public GameObject ButtonSprites to the script, and dragged the sprite sheet created in the editor onto it. And I can use the target button on it to choose a different sprite, and the first one it creates has that color.

Now, when I instantiate the button, I cannot figure out how to reference a different sprite in that sprite sheet via script.

I tried GetComponent().sprite and it is expecting a sprite, so I need a sprite object to pass to it. However, ButtonSprites["blue_normal"] doesn't work as it's not actually an array. So how do I tell it which one to use.

Comment
Add comment · Show 4
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 Rickywild · Mar 24, 2017 at 08:57 PM 0
Share

Have you tried creating a public reference to the sprites you need in your script? Something like the following,

 [Header("SPRITE REF")]
 public Sprite spriteA;
 public Sprite spriteA;
 public Sprite spriteA;
 
 private SpriteRenderer spriteRenderer;
 
 void Start()
 {
 spriteRenderer = this.GetComponent<SpriteRenderer>();
 }
 
 void Update()
 {
 spriteRenderer.sprite = spriteA;
 }

Apply your sprites from in editor to the script references in inspector. Not sure if this is what you're after, hope it helps

avatar image Kardall Rickywild · Mar 24, 2017 at 09:12 PM 0
Share

They're not individual sprites though. They are a single PNG with it divided using the Sprite Editor:

Screen Shot of how it is setup: Screenshot

Are you saying that I have to do something like:

 public Sprite BlueNormal;
 public Sprite BlueSelected;
 public Sprite GreenNormal;
 public Sprite GreenSelected;
 etc., 

and drag the sprite onto each one, and select the sprite for each one?

avatar image Rickywild Kardall · Mar 24, 2017 at 09:56 PM 0
Share

I'd chop them up into individual sprites if i were you, would make life easier. (In case you're not aware, use slice within sprite editor and type in dimensions of one button sprite) Yes that's what i'm saying. It should work if you drag and drop each into their respective reference slots.

If you do decide to approach it this way, I should point out, when you instantiate you're object that holds this script with sprite references, do it from one that is in the scene with all the sprite refs. Not one that has been turned into a prefab as it may lose it's sprite refs.

Show more comments

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

330 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 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 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 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 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 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 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 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 avatar image avatar image

Related Questions

Create a prefab of custom type 1 Answer

How can i get a script of a non instantiate prefab? 2 Answers

Combining Multiple Sprites 0 Answers

Sprite is disappearing in 2D game. 0 Answers

Help with converting small pseudo script to C# please? 0 Answers


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