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 /
  • Help Room /
avatar image
1
Question by leftistthot · Jul 21, 2020 at 01:16 AM · scripting problemspritespriterendererchild object

How Can I Change The Sprite of A Child

Hi, and thank you in advance for helping me with this, it's my first Unity question. I am currently attempting to assemble a system in which a character is represented by 2 sprites, a head and a torso, which are swapped out based on variables (right now with teams to keep things as simple as possible).


I figured that the easiest way to do this would be to create 2 child game objects (named head and torso). I've been attempting to figure out how to change the sprite of a child object based on variables assigned in a spawn script.

Here is the section of the spawn script where I set the variable:


 public class Spawn : MonoBehaviour
 {
     public int Team = 1;
     [SerializeField] private Boolean incapacitated = false;
     [SerializeField] private Boolean alive = true;
 }



And here is the script to draw the torso as one of two options (a neutral option and a blue option). The code is a bit of a mess due to about 3 hours of tinkering + searching the forum and not finding results, but hopefully someone will be able to point me in the right direction:


 public class DrawTorso : MonoBehaviour
 {
     private SpriteRenderer sprites = this.transform.GetComponentsInChildren<SpriteRenderer>(); //which torso is selected
     private Sprite body_neutral;
     private Sprite body_blue;
     private SpriteRenderer spriteRender;
 
     // Update is called once per frame
     void Update()
     {
         if(team == 0)
         {
             if (this.transform.Find("Torso"))
             {
                 this.transform.GetComponentsInChildren<SpriteRenderer> = body_neutral;
                 Torso.SpriteRenderer.sprite = body_neutral;
                 Debug.Log("neutral torso");
             }
         }
         if (team == 1)
         {
             if (this.transform.Find("Torso"))
             {
                 this.transform.Find("Torso").GetComponents<SpriteRenderer>();
                 Debug.Log("blue torso");
             }
         }
         else //if for some reason this person doesn't have a team throw them into neutral
         {
             if (this.transform.Find("Torso"))
             {
                 this.transform.Find("Torso").GetComponents<SpriteRenderer>();
                 Debug.Log("neutral torso");
             }
         }
     }
 }





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

1 Reply

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

Answer by leftistthot · Jul 21, 2020 at 02:14 AM

Hi everyone. After a long process of tinkering and working with a friend, I've figured out the solution. I figured I'd throw it here in-case anyone else wants to change the sprite of a child object in the future.


 using System;
 using System.Collections;
 using System.Collections.Generic;
 using System.Resources;
 using UnityEngine;
 using UnityEngine.UI;
 
 public class DrawTorso : MonoBehaviour
 {
     private int Team;
     [SerializeField] private Sprite body_neutral;
     [SerializeField] private Sprite body_blue;
     public SpriteRenderer torsoSprite; //which torso is selected
 
     void Start()
     {
         torsoSprite = this.transform.Find("Torso").GetComponent<SpriteRenderer>();
         Team = this.transform.GetComponent<Spawn>().Team; 
     }
     // Update is called once per frame
     void Update()
     {
         Team = this.transform.GetComponent<Spawn>().Team;
         if (Team == 0)
         {
             torsoSprite.sprite = body_neutral;
             Debug.Log("neutral torso 0");
         }
         if (Team == 1)
         {
             torsoSprite.sprite = body_blue;
             Debug.Log("blue torso 1");
         }
         else //if for some reason this person doesn't have a team throw them into neutral
         {
             torsoSprite.sprite = body_neutral;
             Debug.Log("exception torso, value of team is:" + Team);
         }
     }
 }

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.

Follow this Question

Answers Answers and Comments

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

Related Questions

assigning sprites to game object via script 0 Answers

Problem Changing Sprites with an Array of Sprites 1 Answer

Get sprite size and position 0 Answers

How can I cast shadows onto sprites? 0 Answers

Change sprite based on movement direction 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