4500 Unity
Just nu kan det vara lite rörigt. Jag håller på att organisera för undervisning av programmering 2 med hjälp av Unity 2D.
Mål i kursen programmering 2
Lära objektorienterad programmering.
Det gör att vi kommer att organisera skripten på följande vis.
- ett skript per spelobjekt. Skriptet heter som spelobjektet.
- ett tomt spelobjekt Game med ett skript som heter lika dant. (Kanske är World ett bättre namn.)
Lära best practice
- Minimera komplexiteten. Medför låt allt vara private som inte måste vara public. Fundera också på om det verkligen måste vara public.
Nyckelord
Game object
Script
Prefab
Collider 2D
Box Collider 2D
Circle Collider 2D
Rigid Body 2D
Static - går ej att flytta
Kinematik - fysikmotorn flyttar ej dessa komponenter. Kan flyttas med skript.
Dynamic - påverkas av fysikmotorn
Kollisioner
void OnCollision2DEnter(...
Ett av objekten behöver vara Rigidbody 2D (dynamic not kinematic)
Båda objekten behöver Colliders
Mer
Unity Collision Detection 2D, Gamedevelopertips
OnCollisionEnter vs. OnTriggerEnter — When to use them
Flytta
Transform
Utan fysik.
RigidBody
Med fysik. Tre sätt.
Kraft (eng. force)
// in FixedUpdate
rb.AddForce(...)
Hastighet (eng. velocity)
// in FixedUpdate
rb.velocity = ...
Ej med kraft.
MovePostion
// in FixedUpdate
rb.MovePostion(rb.postion + move2D * speed * Time.deltaTime);
(overwrite velocity and gravity physics) Använd när:
- vill flytta i x-och/eller y-led
- behöver inte friktion
- behöver inte gravitation
- behöver collisionsdetektering
Mer
2D Movement [Rigidbody vs Transform] Mastery Tutorial Unity (2021 edition), Youtube
Tiled backgound
Vanliga fel
Kom ihåg att konvertera decimaltal från double till float:
5.4f
Felsökning (eng. debugging)
Debug.Log("text message ...");
Tutorial
Introduction to Unity: Getting Started – Part 1/2
Vidare läsning
Git och GitHub
Git and Unity: Getting Started
Unit testing
Sprite sheets
Introduction to sprite editor and sheets, unity.com
2D sprite sheet, Java T point Går igenom hur man delar upp ett sprite sheet i individuella sprites.