OnCollision funksjon utløses når eieren av KeyboardController komponent (spilleren enhet i vårt tilfelle) har vært involvert i en kollisjon
privat funksjon OnCollision (event: CollisionEvent): void {Vi sørger for at kollisjonen er med en "plattform".
I fremtiden spilleren kan også kollidere med fiender, kuler, powerups osv, men ingen av disse kollisjonene er relevante for KeyboardController.
if (ObjectTypeManager.instance.doesTypeOverlap (event.collidee.collisionType, "Platform") ) {Så sjekker vi for å se om kollisjonen normal, som du kan tenke på som en linje som peker ut vinkelrett på plattformen, har ay komponent på minst 0,7. Dette indikerer at plattformen ikke er for bratt til å stå på.
if (event.normal.y> 0,7)
Hvis det ikke er for bratt, øke vi onGround variabel for å indikere at spilleren er stående på en plattform
onGround ++.; }}OnCollisionEnd funksjonen gjør det motsatte, dekrementere onGround variabel når spilleren ikke lenger å kollidere med en plattform
privat funksjon OnCollisionEnd (event: CollisionEvent):. void {if (ObjectTypeManager.instance. doesTypeOverlap (event.collidee.collisionType, "Platform")) {if (event.normal.y> 0,7) onGround--; }}onGround variabel indikerer nå om spilleren står på bakken.
I onTick funksjonen sjekker vi for å se om det hoppe-tasten trykkes og onGround er større enn null. Hvis så spillerne vertikal hastighet endret for å gjøre det hoppe
offentlige styringsfunksjon onTick (tickRate: Number):. Void {//... if (InputManager.isKeyDown (InputKey.UP) && onGround> 0) {velocity.y = -JumpSpeed; } //...}
Trykknapp Tutorial Series - Fiender
- MySQL: Forstå Relational Tables
- Komme i gang med Css2
- Variabel Erklæring i Mysql forbindelse Statement
- Web Design Advice
- Grunnleggende om C Identifier Scope
- Tabeller i C
- C # -kode for å legge to Matrices
- A Trigger Eksempel på Sybase SQL Anywhere
- Forhåndsdefinert Windows Cursors
- Hva Programming Language å begynne med - del 1