*   >> Чтение Образование Статьи >> science >> programming

PushButton Учебник серии - Отслеживание и усилитель; Amp; Jumping

er.eventDispatcher.addEventListener (CollisionEvent.COLLISION_STOPPED_EVENT, OnCollisionEnd);} защищены переопределение функции OnRemove (): пустота {super.onRemove (); owner.eventDispatcher.removeEventListener (CollisionEvent.COLLISION_EVENT, OnCollision); owner.eventDispatcher.removeEventListener (CollisionEvent.COLLISION_STOPPED_EVENT, OnCollisionEnd);.

} <р> Функция OnCollision срабатывает, когда владелец компонента KeyboardController (сущность игрок в нашем случае) был вовлечен в столкновения

 частные функции OnCollision (событие: CollisionEvent): пустота {<р> Мы уверены, что столкновение с "платформы". В дальнейшем игрок может также столкнуться с врагами, пули, бонусов и т.д., но ни один из этих столкновений не имеют отношение к KeyboardController. 

, если (ObjectTypeManager.instance.doesTypeOverlap (event.collidee.

collisionType, "Платформа") ) {<р> Затем мы проверяем, чтобы увидеть, если столкновение нормально, что вы можете думать как линия указывая перпендикулярно к платформе, имеет ай компонент, по меньшей мере 0,7. Это означает, что платформа не слишком крутой, чтобы стоять на.

, если (event.normal.y> 0,7) <р> Если это не слишком крутой, мы увеличиваем переменную onGround чтобы указать, что игрок стоя на платформе 

 onGround ++.

}} <р> Функция OnCollisionEnd делает обратное, уменьшая переменную onGround, когда игрок больше не сталкивающихся с платформой

 частные функции OnCollisionEnd (событие: CollisionEvent):. {недействительными, если (ObjectTypeManager.instance. doesTypeOverlap (event.collidee.collisionType, "Платформа")) {если (event.normal.y> 0,7) onGround--; }} <р> Переменная onGround теперь указывает ли игрок стоит на земле. В функции OnTick мы проверяем, если ключ скачок нажата и onGround больше нуля.

Если так игроки вертикальная скорость изменен, чтобы сделать его прыгать

 функция общественного переопределение OnTick (тикрейтом: Number):. Недействительными {//... Если (InputManager.isKeyDown (InputKey.UP) && onGround> 0) {velocity.y = -JumpSpeed; } //...}
Page   <<  [1] [2] 
Copyright © 2008 - 2016 Чтение Образование Статьи,https://ru.nmjjxx.com All rights reserved.