*   >> Læs Uddannelse artikler >> science >> programming

Trykknap Tutorial Series - Sporing amp; amp; Jumping

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

}

OnCollision funktionen udløses, når ejeren af ​​KeyboardController komponent (spilleren enhed i vores tilfælde) har været involveret i en kollision

 private funktion OnCollision (hændelse: CollisionEvent): void {

Vi sørger for, at kollisionen er med en "platform". Fremover spilleren kunne også kollidere med fjender, kugler, powerups osv, men ingen af ​​disse kollisioner er relevante for KeyboardController.

 if (ObjectTypeManager.instance.doesTypeOverlap (event.collidee.

collisionType, "Platform") ) {

Så tjek vi at se, om kollisionen normale, som du kan tænke på som en linje påpege vinkelret på platformen, har ay komponent på mindst 0,7. Dette indikerer, at platformen ikke er for stejl til at stå på.

 if (event.normal.y> 0,7) 

Hvis det ikke er for stejl, vi øg onGround variablen for at angive, at spilleren er stående på en platform

 onGround ++.

; }}

OnCollisionEnd Funktionen gør det modsatte, decrementing det onGround variabel, når afspilleren ikke længere kolliderer med en platform

 private funktion OnCollisionEnd (hændelse: CollisionEvent):. void {if (ObjectTypeManager.instance. doesTypeOverlap (event.collidee.collisionType, "Platform")) {if (event.normal.y> 0,7) onGround--; }} 

onGround variabel angiver nu om spilleren står på jorden. I onTick funktionen tjekker vi for at se, hvis der trykkes springet nøglen og onGround er større end nul.

Hvis så spillerne vertikale hastighed modificeret for at gøre det hoppe

 offentlige override funktion onTick (Tickrate: Number):. Void {//... hvis (InputManager.isKeyDown (InputKey.UP) && onGround> 0) {velocity.y = -JumpSpeed; } //...}
Page   <<  [1] [2] 
Copyright © 2008 - 2016 Læs Uddannelse artikler,https://uddannelse.nmjjxx.com All rights reserved.