*   >> Lese Utdanning Artikler >> science >> programming

Trykknapp Tutorial Series - Tracking & amp; amp; Jumping

lisionEvent.COLLISION_STOPPED_EVENT, OnCollisionEnd);} beskyttet styringsfunksjon onRemove (): void {super.onRemove (); owner.eventDispatcher.removeEventListener (CollisionEvent.COLLISION_EVENT, OnCollision); owner.eventDispatcher.removeEventListener (CollisionEvent.COLLISION_STOPPED_EVENT, OnCollisionEnd);.}

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; } //...}
Page   <<  [1] [2] 
Copyright © 2008 - 2016 Lese Utdanning Artikler,https://utdanning.nmjjxx.com All rights reserved.