NemProgrammering.dk logo

User interface

3D spiludvikling med Unity » User interface # 39
Denne video kræver medlemskab
Læs mere!
User interface
Inkluderet:
Livstidsadgang
40 videolektioner
7 timers undervisning
Stil spørgsmål
Kursusbevis

Information om denne video

Underviser: Christian 'Code' Skriver Kragegaard   Video: 12:28   Lektion nr. 39 af 40

Vi forbedre user interfacet så det står bedre og ser langt bedre ud end tidligere.

Spørgsmål og kommentarer

Kun medlemmer med adgang til dette kursus kan stille spørgsmål og kommentere. Bliv medlem her!

  • Nina H. siger:

    Efter de ændringer, der bliver lavet i denne video, så når jeg til sidst prøver at “spille spillet”, så i stedet for at den tæller ud for wood og stone oppe til højre, så ændrer 0-tallerne sig til tekst: “wood” og “stone”…

    1. Christian ". siger:

      Hey Nina
      Måske mangler du at plusse din variable på efter teksten i koden.
      Så vil der står “Wood:”+VariableNavn.

      Hvis ikke det dur, så prøv at give mig et screenshot :D

      1. Nina H. siger:

        Det ser sådan her ud i Resourcecontrolleren:

        public class ResourceController : MonoBehaviour {

        public int AmountOfStone, AmountOfWood;

        public Text AmountOfStoneText, AmountOfWoodText;

        public void AddResource(int Amount, string Type)
        {
        if (Type == “wood”)
        {
        AmountOfWood += Amount;
        AmountOfWoodText.text = “wood: ” + AmountOfWood;
        }

        if (Type == “stone”)
        {
        AmountOfStone += Amount;
        AmountOfStoneText.text = “stone: ” + AmountOfStone;
        }
        }
        }

        1. Christian ". siger:

          Hey Hey
          Prøv at skrive Debug.Log( “wood: ” + AmountOfWood);
          efter “AmountOfWoodText.text = “wood: ” + AmountOfWood;”
          så kan du se i console om det burde stå korrekt.

          Hvis det gør, kan det være at din tekstboks er for lille. Prøv at justér med rect tool, som du kan vælge ved at trykke T.

          1. Nina H. siger:

            Det virker altså stadig ikke… Det er som om, at den ikke fanger “amounten”, men bare vælger at skrive selve teksten ud foran billedet: wood:

            1. Nina H. siger:

              Det er fordi jeg på en eller anden måde har fået gjort sådan at den både skriver tekst og tæller. For jeg kan godt se, at den tæller, når jeg har gjort tekstboksen større… Fx står der wood: 36

            2. Christian ". siger:

              Hey hey
              Er det så korrekt nu? Eller var det fra konsollen du fik Wood: 36 ?

      2. Nina H. siger:

        Altså det er på selve canvas (oppe i højre hjørne) at den skriver “wood: 36” , når jeg rammer træet og den skal tælle op fra 0.

        1. Christian ". siger:

          Ude i inspectoren, hvad står dens AmountOfWood variable til? Kunne måske godt være den var 36 derude :)

          1. Nina H. siger:

            Nej, den siger bare 36 fordi jeg har trykket 3 gange på træet (altså 3 x 12 “Amount Of Resources Per Hit”). Så det er ikke tallet, der er problemet, men skriften før tallet. Det er som om, at billedet af træstammen og stenen oppe i canvas ikke har erstattet skriften, men at skriften er røget med ind i “tælleren”. Giver det mening? :-) Det ser sådan her ud: https://imgur.com/a/z1gpKM8

            1. Christian ". siger:

              Hej Nina
              Ah jeg tror jeg er med nu…måske xD Du vil slet ikke have at der står “wood: ” foran tallet?
              Så er det bare at fjerne “Wood:” i det man sætter teksten til.
              Måske har du forsøgt kun at få tallet på ved at skrive:
              AmountOfWoodText.text = AmountOfWood;

              Men det kan den ikke, da “AmountOfWood” ikke er samme datatype. Så her skal den konverteres til en string ved at skrive:
              AmountOfWoodText.text = AmountOfWood.ToString();

              Håber det hjælper, ellers må du sige hvis jeg stadig ikke forstår :D

            2. Nina H. siger:

              Yes! Perfekt! Det løste mit problem :-) Tak!