NemProgrammering.dk logo

Flyt bolden

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

Information om denne video

Underviser: Christian 'Code' Skriver Kragegaard   Video: 10:46   Lektion nr. 2 af 40

I denne video får vi bolden til at rulle rundt når du bruger piletasterne eller WASD tasterne.

Spørgsmål og kommentarer

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

  • Pernille S. siger:

    Det virker!

    1. Christian ". siger:

      Sådan! :)

  • Pernille S. siger:

    Her er der et billede

    https://imgur.com/a/rZJQYKU

    1. Christian ". siger:

      Hej Pernille

      Der mangler noget efter “Input.GetAxis(“Horizontal”),” der skal også lige være “,0,” så det bliver:

      new Vector3(Input.GetAxis(“Horizontal”), 0, Input.GetAxis(“Vertical”) );

        1. Christian ". siger:

          Hej Pernille
          Prøv at skriv et lille b i Rigidbody på linje 8.

          Det undrer mig bare at den ikke selv foreslog Rigidbody korrekt, hvilket siger mig at Visual studio stadig ikke er helt rigtig sat op.

          Prøv evt. igen at tjekke :
          “Edit -> Preferences og derinde vil der være “External Tools”. Den står måske på “Open by extension” lige nu, men du skal lave den om til Visual Studio.”

          ellers evt. tag et screenshot af den menu hvor der står “open by extension” for den burde have visual studio under.

          Hilsen
          Christian

          1. Pernille S. siger:

            Den står på open file by extention men jeg kan ikke finde visual studio nogen steder?

            men der er to visual studio installer?

            1. Christian ". siger:

              Mit ser sådan her ud:
              https://i.imgur.com/BcdTL4z.png

              Er den der ikke?

  • Pernille S. siger:

    der er noget galt jeg kan ikke sende billeder af mit script med imgur?

    :Din kommentar afventer bedømmelse. Dette er en forhåndsvisning, din kommentar vil blive synlig, efter at den er blevet godkendt.

    1. Christian ". siger:

      Tror det er fordi at siden tror du er en bot som spammer links :) Men jeg har godkendt den.

      Jeg kan se at dit visual studio ikke er sat korrekt op. Det sker af og til og også hvis man har installeret det fra ny. Det er nemlig megabesværligt at arbejde med det, når den f.eks. ikke giver dig forslag til koden.

      I unity går du op i Edit -> Preferences og derinde vil der være “External Tools”. Den står måske på “Open by extension” lige nu, men du skal lave den om til Visual Studio.

      Ang. koden så er problemet at “ skal være et ” :)
      Så der skal stå “Horizontal” og “Vertical” – De gåseøjne er en vigtig forskel fra det andet tegn.

      1. Pernille S. siger:

        Nu har jeg prøvet at gøre det der men jeg kan slet ikke finde visual studio??

        1. Christian ". siger:

          Hej Pernille

          Det er en fejl jeg har stødt på mange gange og løsningen til den er ikke altid lige til, selv på en hel ren installation og det er rigtig træls, for det kan være at det er et andet program du har installeret som gør det (mindst sandsynligt) eller at det er noget i installationen (mere sandsynligt). Jeg vil foreslå dig at afinstallere både unity og visual studio under fjern programmer og så prøve at downloade Unity Hub.

          Inde i Unity hub tager du så og downloader Unity, så vil den også installere visual studio med.

          Det bliver nemlig rigtig besværligt for dig at lære at kode + lave unity hvis du ikke kan have dit værktøj til at fungerer ordenligt med, så håber at dette kan løse det for dig :)

          Hilsen
          Christian

          1. Pernille S. siger:

            Jeg er faktisk rimlig sikker på at jeg kom til at downloade det med android et eller andet

          2. Pernille S. siger:

            Nu har jeg gjort alt det du skrev men der kommer stadig en error

            https://imgur.com/a/Vpismks

            1. Christian ". siger:

              Kan du tage et billede af hele koden når du har det i visual studio? Så prøver jeg lige at se igennem igen :)
              Hilsen
              Christian

  • Pernille S. siger:

    er det her fint nok fordi det virker ikke.

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;

    public class PlayerMovement : MonoBehaviour
    {

    public Rigidbody rb;

    // Start is called before the first frame update
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
    vector3 movement = new vector3(Input.GetAxis(“Horizontal”).y, (input.GetAxis(“Vertical”));

    rb.Addforce(movement);
    }

    }

    1. Christian ". siger:

      Hej Pernille

      I forhold til “}” ser det jo egentlig fint ud. Men har lige spottet en anden fejl (og det er faktisk nemmere at se hvis man er i Visual studio, for så laver den en rød streg under det som er forkert!)

      Din:
      vector3 movement = new vector3(Input.GetAxis(“Horizontal”).y, (input.GetAxis(“Vertical”));

      Skal faktisk være:
      Vector3 movement = new Vector3(Input.GetAxis(“Horizontal”), (Input.GetAxis(“Vertical”));

      Et andet spørgsmål, får du egentlig røde streger under linjen når det er forkert? For det gør det nemlig sværere at kode hvis den ikke hjælper med at sige det :)

      Hilsen
      Christian

      1. Pernille S. siger:

        nu har jeg lavet nogle ændringer i mit script og der er kommet 3 nye errors

        og der kommer ikke nogen rød streg men lidt længere nede på scriptet er der en lille rektangel vor der står no issues found.

  • Pernille S. siger:

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;

    public class PlayerMovement : MonoBehaviour

    public. Rigidbody rb;

    {
    // Start is called before the first frame update
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
    vector3 movement = new vector3(input.GetAxis(“horizontal”).y, (input.GetAxis(“vertical”));

    rb.Addforce(movement);
    }
    }

    1. Christian ". siger:

      Hej Pernille

      Det er fordi “public Rigidboy rb” er et forkert sted (og havde et punktum efter public) den skal nemlig være indeni “PlayerMovement”. Alt der er i Playermovement er det som er mellem det efterfølgende { og som slutter ved } til sidst. De indkapsler koden.

      using System.Collections;
      using System.Collections.Generic;
      using UnityEngine;

      public class PlayerMovement : MonoBehaviour
      {

      public Rigidbody rb;

      // Start is called before the first frame update
      void Start()
      {

      }

      // Update is called once per frame
      void Update()
      {
      vector3 movement = new vector3(input.GetAxis(“horizontal”).y, (input.GetAxis(“vertical”));

      rb.Addforce(movement);
      }

      }

      1. Pernille S. siger:

        Nu har jeg “skrevet din kode ind” de gamle errors blev fikset men nu er der kommet nogle nye
        noget med Unexspectet character?

        1. Christian ". siger:

          Hej Pernille

          Jeg kan se at det er fordi du bruger citationstegn med “ i stedet for ” – en vigtig detalje!
          For at lave citationstegn som du skal bruge, så trykker du shift+2 så du kan lave “.

          Efter at have kigget på koden igen, så skal du også være obs på at der er nogle funktioner i koden som skal skrives på den rigtige måde, f.eks. skal der være stort V i “Vector3” og “Horizontal” og “Vertical” og “Input” har store begyndelsesbogstav.

          Det har de fordi de inde i Unity’s kode er defineret til at hedde det med stort i de cases, så når man bruger variabler er det vigtigt at det står på den samme måde :)

          Hilsen
          Christian

          1. Pernille S. siger:

            Perfekt nu virker det næsten. der er bare en error tilbage. jeg uploader den nedenunder her

            1. Christian ". siger:

              Når den siger “} expected” er det fordi den regnede med at koden var slut der og den blev lukket af med et “}”.

              Prøv at se det jeg har skrevet, du har måske ikke fået den sidste } med :)

              Hilsen
              Christian

  • Pernille S. siger:

    Hej Christian, når jeg opretter mit script og går ind i Unity kommer der bare en masse errors?

    1. Christian ". siger:

      Hej Pernille
      Hvilken version af Unity har du installeret? Og kan du tage et billede eller lign. af fejlene? :)
      Hilsen
      Christian

      1. Pernille S. siger:

        Jeg har version 2019.4.17f1 er det godt nok eller skal jeg hente noget andet?

        1. Christian ". siger:

          Hej Pernille
          2019 burde være helt fin :) (Den bruger jeg også for tiden selv)
          Det vi skal finde ud af er om det er noget som er installeret på computeren eller noget helt andet som gør at du får en fejl.
          Fejlens beskrivelse kan som regel hjælpe med dette.

          Du må meget gerne screenshotte / tage et billede af fejlen og så kan du f.eks. uploade den hertil: https://imgur.com/upload så kan du skrive linket, så skal jeg nok se hvad det er som driller :)

          Hilsen
          Christian

          1. Pernille S. siger:

            Jeg håber det her link virker https://imgur.com/hSkIm7j

            1. Christian ". siger:

              Hej Pernille
              Jeg kan se hvor det stammer fra nu i hvert fald :) Vidste nemlig ikke om du allerede havde oprettet et script.

              Inde i dit script, som hedder “PlayerMovement” der mangler der nok et {eller } til at omkapsle noget kode.

              Hver gang du laver en “{” skal du også afslutte den et andet sted med }.

              Hvis jeg skal hjælpe dig helt præcis i koden, så kan du tage og gå ind i din “PlayerMovement” og trykke “ctrl+A” så alt koden bliver markeret. Og så trykke “Ctrl+C” så det bliver kopieret og så kan du enten indsætte det her i en kommentar eller gøre det på https://pastebin.com/ (på pastebin forbliver formateringen nemlig læsbar så det ligner den kode du har på skærmen for mig :) )

              På den måde kan jeg nemlig hurtigt se hvor den skal rettes til.

              Hilsen
              Christian

  • Anders K. siger:

    hjælp. Når du laver et skript, så skal du vælge sprog men, det kan jeg ikke. Du vælger c# men den mulighed har jeg ikke. Jeg kan heller ikke slå det til, og jeg har prøvet det du har gjort men, det virker ikke.. ved du hvad jeg skal gøre?

    1. Christian ". siger:

      Hej Anders

      Det behøver du ikke længere bekymre dig om. I videoen vises 2017 versionen og på det tidspunkt kunne man stadig vælge andre sprog at programmere i. Men I dag er det KUN C# når du laver et script :)
      – Code

  • Daniel h. siger:

    Hej Christian, Har de sidste par dage ikke haft tid til at rode mere med Unity Den siger der er en fejl Den kan ikke finde Pickop Har prøvet at fjerne og sæt ind igen og Der er en fejl med PlayerMovment Kan duv køre spillet og køre rundt med kuglen Samtidig med at kameraet følger med.

    Prøver lige at starte forfra igen Lykkes det ikke går jeg videre til næste spil (-:
    VH Daniel

    1. Christian ". siger:

      Hej Daniel

      Siger den fejl i console? Så må du gerne skrive hvad den siger eller sende et screenshot :) Så kan jeg bedre hjælpe.
      Har du sat pickup på det rigtige object?

  • Olivier S. siger:

    tak for alt

  • Olivier S. siger:

    ikke noget alligevel men tak

  • Olivier S. siger:

    hvor kan man få monodevelop og hvordan får man monodevelop op på skærmen i 2019

    1. Christian ". siger:

      Hej Olivier, i de nyeste version af Unity (fra 2018.3) blev Monodevelop udfaset og nu bruger man Microsoft Visual Code. Programmet ligner Monodevelop, så det gør ikke noget at bruge det ene frem for det andet. Når du installerer Unity vil den spørger om den skal installere Visual Code med, medmindre at du selv fravælger det. Når du åbner et script vil det så være den som åbner.

      Hilsen
      Code