4511 Faror med MovePosition
Använd MovePostion i FixedUpdate inte i Update.
// pseudokod
rb.MovePosition(targetPositionVector2)
Metoden MovePosition
flyttar objektet till angiven position.
Projekt
Klasser - script
Game
Placerar väggar samt spelare och monster.
Koncept
// pseudokod
Instantiate(brickPrefab, position3, rotation)
Metoden Instantiate
anropas för att lägga till ett väggelement (brick).
Troll
Troll går framåt tills det når ett hinder. En ny riktning slumpas.
Koncept
void FixedUpdate()
Metoden FixedUpdate
anropas varje gång som fysikmotorn gör uppdateringar.
GetComponent<Rigidbody2D>()
Metodanropet ovan hämtar Trollets Rigidbody2D
.
private void OnCollisionEnter2D(Collision2D collision)
Metoden ovan anropas då Trollets Collider2D
kolliderar (delvis överlappar) en annan Collider2D
. Nästan hela sanningen. Annars läs mer om triggers och metoden OnTriggerEnter2D
.
private void OnCollisionStay2D(Collision2D collision)
Metoden ovan anropas på samma vis som OnCollisionEnter2D
men de kollisionen kvarstår mer än en "frame" (bildruta i filmen).
Elf
Elf flyttar framåt tills den når ett hinder. Den väljer en ny riktning som det går att flytta i direkt. Alltså inget hinder nära i den riktningen.
Koncept
Random.Range(1, 7);
Klassen Random
innehåller den statiska metoden Range
som ger slumptal i givet intervall.
// pseudokod
RaycastHit2D hit;
hit = Physics2D.Raycast(start, direction, length);
hit
innehåller information om det första objektet (collider2D) som finns i angiven riktning.
hit.transform;
transform
innehåller position och rotation på Elf
- objektet.
Gargoyle - player
Gargoyle är spelaren och flyttas med w a s d. Kod för Gargoyle på GitHub
Koncept
Input.GetKey(KeyCode.A)
Koden ovan är sann om bokstaven A
hålls ner.
Phonix
Phonix går mot Gargoyle. Kod för Phonix på GitHub
Koncept
GameObject.FindWithTag("Gargoyle")
Koden hittar GameObject
i scene som har taggen Gargoyle.