Hvordan laver man grafik bibliotektet til Grand Prix spillet (samt coolDownTimeren)

Spillet tager udgangspunkt i følgende bib-bib spil fra 1980’erne.

start3.png

Grafikken er lavet ved at tage billeder af bib-bib spillet med en mobil telefon

Screenshot 2023-07-16 at 05.13.55.png

Man markerer den bil man gerne vil gemme.

Screenshot 2023-08-02 at 07.11.16.png

Og vælger “New from Clipboard”.

Screenshot 2023-08-02 at 07.13.43.png

Man kan nu med den lille tryllestav vælge bilen

Screenshot 2023-08-02 at 07.16.18.png

når man trykker delete (backspace) så slettes baggrunden, så den bliver transparent.

Screenshot 2023-08-02 at 07.17.18.png

Note: Man kan også slette baggrunden ved brug af Losso Selection.

Screenshot 2023-08-02 at 07.18.46.png

Bilerne i spillet er pladseret i en tabel

Screenshot 2023-08-02 at 07.25.33.png

Vi navngiver derfor bilen vi gemte carR2C2 (det står for Row 2, Column 2)

Det er vigtigt at vi gemmer bilen i et nyt billede hvor siderne er lige lange. Dette gør at vi nemmere kan ændre størrelsen af billedet i spillet. Det er nemmest hvis man gør dette når man vælger bilen man gerne vil gemme. Man kan dog også gøre det bagefter ved at gøre følgende:

Dette gøres ved at markere billedet og trykke Control-C (copy)

Screenshot 2023-08-02 at 07.38.59.png

Vælge Tools og Adjust Size:

Screenshot 2023-08-02 at 07.39.43.png Screenshot 2023-08-02 at 07.40.43.png

Slå låsen fra og tilrette Width og Height til at være den største værdi af de to værdier

Screenshot 2023-08-02 at 07.41.14.png

Herefter kan man markere indholdet

Screenshot 2023-08-02 at 07.44.28.png

Slette indholdet og paste bilen som vi kopierede ind.

Screenshot 2023-08-02 at 07.46.57.png

Vi skal også bruge et baggrundsbillede uden biler. Vi skal derfor fjerne bilerne fra baggrundsbilledet. Vælg først “Show Markup Toolbar”

Screenshot 2023-08-02 at 07.54.18.png

og herefter Lasso Selection

Screenshot 2023-08-02 at 07.55.18.png

Vi markerer et område ved siden af bilen som vi gerne vil fjerne:

Screenshot 2023-08-02 at 07.56.46.png

Og trykker Control-C og Control-V. Herefter kan vi flytte området over den bil som vi vil fjerne

Screenshot 2023-08-02 at 07.57.39.png

Hvorefter bilen er forsvundet

Screenshot 2023-08-02 at 07.58.47.png

Vi skal også gemme små lydklip:

Lydene til spillet kan klippes fra følgende video: https://youtu.be/HNGhO1ZJgUE

Dette gøres ved at oprette en ny Movie i iMovie

Screenshot 2023-08-02 at 08.13.09.png

og importere videoen

Screenshot 2023-08-02 at 08.14.20.png

Hvorefter man skal trække videoen ned

Screenshot 2023-08-02 at 08.15.20.png

Man kan zoome på den her slider vist øverst til højre på billedet nedenfor og finde det lydklip som man gerne vil lave til en mp3 fil med.

Man kan nu vælge Split Clip på begge sider af lydklippet

Screenshot 2023-08-03 at 09.32.40.png

Og slette højre og venstre side, så der kun er det lille lydklip tilbage.

Screenshot 2023-08-03 at 09.33.56.png

Man kan nu vælge File → Share → File

Screenshot 2023-08-03 at 09.35.13.png

Og gemme det som Audio only + MP3 format

Screenshot 2023-08-03 at 09.36.04.png

Vi skal også pladsere bilerne på baggrundsbilledet. Vi starter med at oprette en mappe ved navn images

Screenshot 2023-08-03 at 09.49.19.png

Her vælger vi Upload file

Screenshot 2023-08-03 at 09.49.53.png

Og trækker alle billederne ind (man kan vælge alle billederne og trække dem alle ind samtidig)

Screenshot 2023-08-03 at 09.50.31.png

Vi starter med at lave en ny fil ved navn library.js

Screenshot 2023-08-03 at 10.15.12.png

Vi skal huske at referere til den i index.html filen (den skal stå før sketch.js)

Screenshot 2023-08-03 at 10.14.22.png

I library.js skal vi importere alle grafik elementerne. Dette gøres i preload funktionen som bliver kørt inden setup funktionen (så billerne er loadet ind og klar til brug når programmet starter med at afvikle)

Screenshot 2023-08-03 at 09.50.55.png

I Grand Prix spillet er bilerne arrangeret i en tabel

Screenshot 2023-08-03 at 09.53.12.png

For at overskue koordinaterne til bilerne samt deres størrelse bedst mulig kan man oprette hver bil som et imageObject og lægge dem ind i en tabel. Her betyder carPos[0][0] række 0 og kolonne 0. carPos[0][1] betyder række 0 og kolonne 1 osv. Og have en funktion til at vise hver bil i tabellen (displayCar).

Screenshot 2023-08-03 at 09.58.00.png

De objekter der ikke er i en tabel (f.eks. manden med flaget) kan vi bare vise uden først at putte dem ind i et image objekt.

Screenshot 2023-08-03 at 09.59.23.png

I sketch.js skal vi bare vise alle objekterne

Screenshot 2023-08-03 at 10.09.56.png

Når vi har lavet setup’et i library.js og sketch.js, så er det bare et spørgsmål om tid og fokus for at få pladseret alle grafik elementerne korrekt.

Vi har også behov for at have en timer der tæller ned fra et antal millisekunder. Her kan man sætte et coolDownInterval f.eks. 1000 ms (dvs 1 sekund). Man kan starte, så this.cookDownTimer sættes til værdien af millis(). Når man kalder funktionen coolDownTimeLeft, så returneres coolDownInterval (f.eks. 1000) minus forskellen mellem den nye værdi af millis() og den værdi som millis() havde da vi startede timeren, dvs. at timeren tæller ned fra 1000 millisekunder.

Screenshot 2023-08-03 at 10.09.56.png