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 /
avatar image
0
Question by cfvillamor · Sep 03, 2017 at 06:27 AM · c#gameobjectbuttonbuttonsrecttransform

The image of the button disappears everytime when it is clicked. Where to find in this code? I'm just following tutorials on youtube and this guy speaks indonesia so I didn't kinda understand.

WordScramble.cs

[System.Serializable] public class Result { public int totalScore = 0; [Header("REF UI")] public Text textTime; public Text textTotalScore;

 [Header("REF RESULT SCREEN")]
 public GameObject resultCanvas;
 public Image[] stars;
 public Text textResultScore;
 public Text textInfo;

 [Space(10)]
 public Color starOn;
 public Color starOff;

 public void ShowResult()
 {
     textResultScore.text = totalScore.ToString();
     textInfo.text = "You finished " + WordScramble.main.words.Length + " words!";

     int allTimeLimit = WordScramble.main.GetAllTimeLimit();

     for (int i = 0; i < stars.Length; i++)
     {
         stars[i].color = totalScore >= allTimeLimit / (3 - i) ? starOn : starOff;


     }

     resultCanvas.SetActive(true);
 }

}

[System.Serializable] public class Word { public string word; [Header("leave empty if you want randomized")] public string desiredRandom;

 [Space(10)]
 public float timeLimit;

 public string GetString()
 {
     if (!string.IsNullOrEmpty (desiredRandom)) 
     {
         return desiredRandom;
     }

     string result = word;
     result = "";

    
     while (result == word) 
     {
         List<char> characters = new List<char> (word.ToCharArray ());
         while (characters.Count > 0)
         {
             int indexChar = Random.Range (0, characters.Count - 1);
             result += characters [indexChar];

             characters.RemoveAt (indexChar);
         }
     }


     return result;
 }

}

public class WordScramble : MonoBehaviour {

 public Word[] words;

 [Space(10)]
 public Result result;

 [Header("UI REFERENCE")]
 public GameObject wordCanvas;
 public CharObject prefab;
 public Transform container;
 public float space;
 public float lerpSpeed = 5;

 List<CharObject> charObjects = new List <CharObject>();
 CharObject firstSelected;

 public int currentWord;

 public static WordScramble main;

 public static float totalScore;

 void Awake()
 {
     main = this;
 }

 // Use this for initialization
 void Start () {
     ShowScramble (currentWord);
     result.textTotalScore.text = result.totalScore.ToString ();
 }
 
 // Update is called once per frame
 void Update () 
 {
     RepositionObject ();

     totalScore = Mathf.Lerp (totalScore, result.totalScore, Time.deltaTime * 5);
     result.textTotalScore.text = Mathf.RoundToInt (totalScore).ToString ();
 }

 public int GetAllTimeLimit()
 {
     float result = 0;
     foreach (Word w in words)
     {
         result += w.timeLimit / 2;

     }

     return Mathf.RoundToInt(result);
 }


 //<summary>
 //show word from collection with desired index
 //</summar>
 void RepositionObject()
 {
     if (charObjects.Count == 0)
     {
         return;
     }

     float center = (charObjects.Count - 1) / 2;
     for (int i = 0; i < charObjects.Count; i++) 
     {
         
         charObjects [i].rectTransform.anchoredPosition = Vector2.Lerp(charObjects[i].rectTransform.anchoredPosition, new Vector2 ((i - center) * space, 0), lerpSpeed * Time.deltaTime);
         charObjects [i].index = i;
     }
 }


 //Show a random word to the screen
 public void ShowScramble()
 {
     ShowScramble (Random.Range (0, words.Length - 1));

 }

     
 //show word from collection with desired index
 public void ShowScramble(int index)
 {
     charObjects.Clear ();
     foreach (Transform child in container) 
     {
         Destroy (child.gameObject);
     }


     //WORDS FINISHED
     //SHOW RESULT SCREEN
     if (index > words.Length - 1) 
     {
         result.ShowResult();
         wordCanvas.SetActive(false);
         //Debug.Log ("index out of range, please enter range between 0-" + (words.Length - 1).ToString());
         return;
     }

     char[] chars = words [index].GetString ().ToCharArray ();
     foreach (char c in chars) 
     {
         CharObject clone = Instantiate (prefab.gameObject).GetComponent<CharObject> ();
         clone.transform.SetParent (container);

         charObjects.Add (clone.Init (c));

     }

     currentWord = index;
     StartCoroutine (TimeLimit());
 }


 public void Swap (int indexA, int indexB)
 {
     CharObject tmpA = charObjects [indexA];

     charObjects [indexA] = charObjects [indexB];
     charObjects [indexB] = tmpA;

     charObjects [indexA].transform.SetAsLastSibling ();
     charObjects [indexB].transform.SetAsLastSibling ();

     CheckWord ();
 }




 public void Select(CharObject charObject)
 {
     if (firstSelected) 
     {
         Swap (firstSelected.index, charObject.index);

         //Unselected
         firstSelected.Select ();
         charObject.Select ();
     }
     else 
     {
         firstSelected = charObject;
     }
 }


 public void UnSelect()
 {
     firstSelected = null;
 }




 public void CheckWord()
 {
     StartCoroutine (CoCheckWord ());

 }




 IEnumerator CoCheckWord ()
 {

     yield return new WaitForSeconds (0.5f);
     string word = "";
     foreach (CharObject charObject in charObjects) 
     {
         word += charObject.character;
     }

     if (timeLimit <= 0) 
     {
         currentWord++;
         ShowScramble (currentWord);
         yield break;
     }

     if (word == words [currentWord].word) 
     {
         currentWord++;
         result.totalScore += Mathf.RoundToInt (timeLimit);

         //StopCoroutine (TimeLimit ());

         ShowScramble (currentWord);

     }

 }
     
 float timeLimit;
 IEnumerator TimeLimit()
 {
     timeLimit = words [currentWord].timeLimit;
     result.textTime.text = Mathf.RoundToInt (timeLimit).ToString ();

     int myWord = currentWord;

     yield return new WaitForSeconds (1);

     while (timeLimit > 0)
     {
         if (myWord != currentWord) { yield break; }

         timeLimit -= Time.deltaTime;
         result.textTime.text = Mathf.RoundToInt (timeLimit).ToString ();
         yield return null;
     }
         
     CheckWord ();
 }

}

/////////////////////////////////////////////////////////////////////////////////////////////

CharObject.cs

using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement; using System.Collections; using System.Collections.Generic;

public class CharObject : MonoBehaviour {

 public char character;
 public Text text;
 public Image image;
 public RectTransform rectTransform;
 public int index;


 [Header("Appearance")]
 public Color normalColor;
 public Color selectedColor;


 bool isSelected = false;

 public CharObject Init (char c)
 {
     character = c;
     text.text = c.ToString ();
     gameObject.SetActive (true);
     return this;
 }

 public void Select()
 {
     isSelected = !isSelected;

     image.color = isSelected ? selectedColor : normalColor;
     if (isSelected) {
         WordScramble.main.Select (this);
     } else {
         WordScramble.main.UnSelect ();
     }
 }

}

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 PersianKiller · Sep 03, 2017 at 06:41 AM 0
Share

you want to change color of an image when you click on it? or it's a button ?:)

3 Replies

· Add your reply
  • Sort: 
avatar image
0

Answer by PersianKiller · Sep 03, 2017 at 06:43 AM

I want to offer you an easy solution. create a UI button,and put your image in the button, so you don't need to write codes to change color of image when you click on it.beacuse it's a button :) and unity do it for you.just change the value of Pressed Color. alt text


untitled.png (13.3 kB)
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 cfvillamor · Sep 03, 2017 at 12:39 PM 0
Share

Hi! I'm just new to Unity. Yes, it is a button. However, it still doesn't work :(

avatar image
0

Answer by SohailBukhari · Sep 03, 2017 at 08:38 AM

The Button Not changing from the code its changing from the inspector. When you set your button property color tint to Sprite Swap then option of sprites enable. Button Swape

So check for sprite in the inspector instead of code.


buttonswape.png (13.8 kB)
Comment
Add comment · Show 3 · 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 cfvillamor · Sep 03, 2017 at 12:43 PM 0
Share

Hello, I tried dragging different image to the highlight and it works. However, when, I clicked, it disappears even though it has a sprite. I'm new to unity.

avatar image cfvillamor · Sep 03, 2017 at 12:47 PM 0
Share

I also tried dragging in the Pressed, still, it disappears.

avatar image SohailBukhari cfvillamor · Sep 04, 2017 at 06:55 AM 0
Share

did you read the button event ? if not then check where your sprite is changing. we can't tell anything as we dont have the project.

avatar image
0

Answer by viamarie · Oct 03, 2017 at 08:54 AM

just change the normal color to #FFFFFFFF alt text


2017-10-01-li.jpg (327.8 kB)
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

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

Unity ads , can't we show video by clicking a button? 1 Answer

Destroy a Gameobject with a UI Button 3 Answers

Add force when button is pressed 2 Answers

GameObject.Destroy(gameObject) does not destroy capsules 2 Answers

how to make a non ui button 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