public class DamageOnContactConponent extiende EntityComponent {daños public var: int = 0; función pública DamageOnContactConponent () {super (); } Función protegida anulación onAdd (): void {super.onAdd (); owner.eventDispatcher.addEventListener (CollisionEvent.COLLISION_EVENT, OnCollision); } Protegida anulación función onRemove (): void {super.onRemove (); owner.eventDispatcher.removeEventListener (CollisionEvent.COLLISION_EVENT, OnCollision); } Private function OnCollision (event: CollisionEvent): void {var mySpatial: Box2DSpatialComponent = owner.lookupComponentByType (Box2DSpatialComponent) como Box2DSpatialComponent; var otra: Box2DSpatialComponent = event.collidee === mySpatial event.collider:? event.collidee; var otherHealth: HealthComponent = other.owner.
lookupComponentByType (HealthComponent) como HealthComponent; si (otherHealth! = null) otherHealth.damage (daño); owner.destroy (); }}
El nuevo componente DeathHandlerComponent establece la función onDied ser llamado en caso de un evento HealthComponent.DIED. Dentro de la onDied se crea y se coloca una nueva instancia de la plantilla de explosión. Tenga en cuenta que tratamos de sacar una referencia tanto a un Box2DSpatialComponent y el componente SimpleSpatialComponent con el fin de establecer la posición inicial de la explosión.
Por supuesto, sabemos que la entidad explosión contiene una SimpleSpatialComponent (porque eso es lo que juego en el archivo XML), pero dejamos este código en poner de relieve uno de los problemas con el sistema de diseño de componentes PushButton, que es que los componentes que realizan la misma función son muy a menudo sin relación.
En este asunto, tanto la Box2DSpatialComponent y SimpleSpatialComponent proporcionan una forma de posicionar una entidad en el espacio, la variable real de posición no se especifica como parte de una interfaz común o clase base, que nos obliga a comprobar la existencia de los dos componentes cuando se trata de establecer el posición inicial
public class DeathHandlerComponent extiende EntityComponent {var PositionReference pública:. PropertyReference = null; función DeathHandleHacer un clon de Space Invaders con PushButton - Matar al Player
- ASP.NET - C # - Uso UserControls como correo Templates
- Crear Combo Boxes
- Nuevos desarrolladores herramientas para ayudar en el juego para móvil Developm…
- DirectX vs OpenGL
- Botón Notificación Messages
- Creación de un juego de plataformas de Flash con Flixel y Flex - Sonido y Music
- Agregación Association
- Base de datos Normalization
- Microsoft Search Powered By Open Source!
- Aplicación de consola para llamar Evento usando System.Timers en C # 1.1 y 2.
0 …