🎼
Unity snabbreferens
  • Unity snabbreferens
  • Installation & setup
  • Kompilera och distribuera
  • Unity och git
  • GrundlĂ€ggande koncept
    • Begrepp
    • Ett Unityprojekts uppbyggnad
    • Prefabs och instanser
    • Komponenter
    • Scener
    • MonoBehavior
    • Lager och taggar
    • Knappar och axlar
  • Grundfunktioner
    • Debug och gizmos
    • Datatyper och synlighet
    • Input
      • Action-based Input System
    • Flytta och rotera
    • Kollisioner
    • Skapa och förstör
    • Hitta spelobjekt
    • BestĂ€ndig data
    • Slump
    • Fysik (2D och 3D)
      • Raycasting*
    • UI och Canvas*
    • Importera grafik*
      • Sprite editor*
    • Unity Events
    • Invoke, Couroutines
    • Animationer*
      • AnimationClip*
      • Animator Controller*
  • Andra funktioner
    • Tilemaps*
    • Asset Store
      • AnvĂ€ndbara Assets
    • Package manager
    • Meddelanden
    • CharacterController
    • Scriptable objects*
  • TillĂ€ggspaket
    • AI-Navmesh*
    • Mirror (nĂ€tverk)
    • XR Toolkit
      • Controllers
      • Interaktion*
      • Device Simulator
      • Teleportation
      • Meta Quest 2/3
      • 3D-modeller*
    • MRTK3 (HoloLens 2)
      • Grundkoncept*
      • Simulering
      • Interaktion*
      • Röststyrning
      • UI/UX och Canvas*
      • Spatial awareness*
      • Deployment*
    • MRTK2 (Hololens 1)
    • ProBuilder
  • Tekniker
    • PĂ„verka andra objekt*
    • RutnĂ€t*
Powered by GitBook
On this page
  • Invoke
  • Coroutines

Was this helpful?

  1. Grundfunktioner

Invoke, Couroutines

Invoke

Invoke för att man kan köra en metod efter en viss tid. Passar bra nÀr man vill att nÄgot ska göras exakt en gÄng.

Tar emot en string och en float – namnet pĂ„ metoden som ska köras och hur lĂ„ngt in i framtiden den ska köras.

void Start()
{
  Invoke("EndGame", 60);
}

void EndGame()
{
  SceneManager.LoadScene(0);
}

Coroutines

Coroutines Àr metoder som körs vid sidan av resten av koden. De kan till exempel anvÀndas ifall man att nÄgot ska ske med jÀmna mellanrum.

En coroutine-metod behöver ha IEnumerator som returtyp och för att "pausa" körningen av den anvÀnds "yield return".

Om man yield-returnar null fortsÀtter metoden köras nÀsta frame. Annars brukar man ofta yield-returna en new WaitForSeconds() med ett antal sekunder angivna som en float mellan parenteserna.

[SerializeField] GameObject enemyPrefab;
[SerializeField] PlayerController player;

void Start()
{
  StartCoroutine(SpawnEnemy());
}

IEnumerator SpawnEnemy()
{
  while(player.IsAlive())
  {
    Instantiate(enemyPrefab);
    yield return new WaitForSeconds(2.5f);
  }
}
PreviousUnity EventsNextAnimationer*

Last updated 1 year ago

Was this helpful?