4530 crab
Be din lärare demonstrera hur spelet skrivs steg för steg.
Hela projektet på GitHub. Ladda inte ner men kolla här vid behov.
Ett nytt 2D-projekt i Unity Hub
Döp projektet till Crab.
Lägg till mappar
Lägg till följande mappar för att det ska bli ordning och reda.
- Scripts
- Sprites
- Prefabs
Lägg till bilder
Lägg in bilder i mappen Sprites.
Bilder på GitHub Ta bara *.png inte *.png.meta.
Script - Crab
I mappen Scripts högerklicka och välj: Create -> C# Script.
Döp scriptet till Crab.
Game Object - Crab
Dra in bilden crab2.png till Scene.
I Inspector väljs Add Component:
- Physics 2D -> Rigidbody 2D
- Physics 2D -> Capsule Collider 2D Ändra formen till Horizontal och storleken så att den ringar in krabban.
- Script -> Crab (Det som du skapade ovan.)
Högst upp i Inspector visas spelobjektets namn ändra det till Crab (från crab2).
Kod
Dubbelklicka på scriptet Crab.
Starta spelet och flytta på krabban på följande vis.
- S - Gå framåt
- S och A - gå framåt och sväng vänster
- D och A - gå framåt och sväng höger
Game Object - Worm
Dra in bilden worm.png på Scene.
Lägg till Capsule Collider 2D. Anpassa storleken så att den passar masken.
Prefab
Dra Worm från Hierarchy till mappen Prefabs i Project-view.
Dra in några Worm from mappen Prefabs och lägg dem i Scene.
Nu finns det flera maskar som krabban kan äta.
Script - Crab
Krabban äter maskar.
Lägg till följande kod efter metoden Update.
private void OnCollisionEnter2D(Collision2D collision)
{
if (collision.gameObject.name.StartsWith("Worm"))
{
Destroy(collision.gameObject);
}
}
Vägg runt om
För att förhindra att krabban går utanför bild kan man göra på följande vis.
Klicka: Game Object -> Create Empty
Lägg till en Box Collider 2D. Ändra på dess storlek och placering så att den ligger under fönstret.
Kopiera och gör så att det blir en vägg på var sida om fönstret som kameran visar. En vägg över, en under, till vänster och en till höger om det kameran visar.
Poäng
Klicka Game Object -> UI -> Text
Döp den till ScoreDisplay.
Lägg till följande rad kod i Crab.cs
public GameObject scoreDisplay;
Lägg den efter raden
private float speed = 4;
För mer instruktioner följ länk.
I klassen Crab läggs följande till:
private int score = 0;
Det är en variabel för att spara poängen.
I if-satsen i metoden OnCollisionEnter2D läggs koden:
score = score + 1;
scoreDisplay.text = "Score: " + score;
Fara - humrar
Gör ett Game Object Lobster. Lägg till komponenter. Kan du lista ut vilka som krävs?
Förslag på script hittar du här Men byt namn på klassen till Lobster.
Gör det till en prefab.
Lägg till tre humrar i Scene.
Kan du ändra så att en hummer kan äta upp krabban?
Förslag på fortsättning
Tre liv
Game over visas
Maskarna rör sig
Lägg till hinder
Lägg till gömställen för krabban, dit inte hummern kan gå.
Bakgrundsbild
Animera rörelsen.
Växla mellan två bilder på krabban.