La única cosa a destacar es que la hoja de sprites enemigo tiene sólo 2 fotogramas de animación. Por defecto cada fotograma de la animación se puede visualizar en la pantalla durante 50 milisegundos, lo que la tasa de animación por defecto de 20 fotogramas por segundo. Para permitir una velocidad de fotogramas más lenta que tenemos que asignar un valor a la variable AnimationControllerInfo maxFrameDelay.
Como queremos mostrar sólo 4 fotogramas por segundo, este valor debe ser 1000/4 = 250 milisegundos
IdleAnimation var: AnimationControllerInfo = new AnimationControllerInfo ();. IdleAnimation.frameRate = 4; IdleAnimation.maxFrameDelay = 250; IdleAnimation.loop = true; IdleAnimation.spriteSheet = IdleSpriteSheet; Animation.animations ["Idle"] = IdleAnimation; entity.addComponent (Animación, "Animación"); volver entidad;}Cuando el jugador choca con un enemigo que queremos que rebotan.
Al igual que hicimos con las plataformas, el componente KeyboardController velará por una colisión con un enemigo en la función OnCollision. Cuando se detecta una colisión la variable recoilVector se establece en la normal de la colisión
función OnCollision privada (event: CollisionEvent):. Void {if (ObjectTypeManager.instance.doesTypeOverlap (event.collidee.collisionType, "Plataforma ")) {if (event.normal.y> 0,7) onground ++; } Else if (ObjectTypeManager.instance.doesTypeOverlap (event.collidee.collisionType, "Enemigo")) {recoilVector = event.normal; }}
En la función onTick comprobamos para ver si la variable recoilVector se ha establecido en algo. Si tiene que jugar un efecto de sonido para mostrar que el jugador ha sido herido, y la velocidad del jugador se establece en una pequeña cantidad por la negativa de la recoilVector, que se recuperará el jugador lejos del enemigo.
< pre> función de anulación pública onTick (tickrate: Number): void {//... if (! recoilVector = null) {if (! hurtSound = null) hurtSound.play (); velocity.x - = recoilVector.x * RecoilSpeed; velocity.y - = recoilVector.
y * RecoilSpeed; recoilVector = null; recoilDelay = RecoilDelay; }
La variable recoilDelay es entonces la cuenta regresiva a cero. El propósito de esto es para detener el reproductor de ser controlado con el teclado por un corto período de tiempo. Si no hacemos esto, el jugador podría rebotar a un enem
PushButton Serie Tutorial - Parallax Background
- Base de datos Design
- Php Reference
- Conozca la programación Cobol y obtener un through.
- Privilegios de acceso Mysql Administración de cuentas Statements
- Fundamentos de error en C ++
- Ventana Procedimiento Basics
- La determinación de las claves principales en la base Entities
- C ++ Templates
- Tutorial de programación Away3D - Ratón Interaction
- Dijkstra & amp; rsquo; s Algorithm