SPEEL DE DEMO
Download de broncode
Terug naar de tutorial INDEX
Dankzij de physics engine als de speler en een vijand botsen de vijand zal de speler duwen uit de weg. In space invaders het spel moet eindigen wanneer de vijand en de speler botsen, dus we moeten een onderdeel dat zowel de speler als de vijand om te ontploffen bij contact zal veroorzaken toe te voegen.
Dit is iets anders dan het systeem van gezondheidszorg gebruikt in de botsing tussen een vijand en de spelers kogels.
In dat scenario zal de kogel wat gezondheid af te trekken van de vijand, en moet de vijanden gezondheid te bereiken 0 de HealthComponent zal dan vernietig de vijandelijke entiteit en verzenden van een evenement te laten andere componenten weten dat de entiteit is overleden. Op dit punt de vijand heeft 1 eenheid van de heide, en de kogels aftrekken 1 eenheid van de gezondheid, zodat het eindresultaat is dat de vijanden zal sterven met een schot.
Maar in de toekomst kunnen we willen vijanden die twee of meer foto's te nemen, en dank aan de HealthComponent dat kan worden gedaan door het wijzigen van een XML-element.
daarentegen een botsing tussen een speler en een vijand moet altijd leiden in beide vernietigd. Om dit een nieuwe component genaamd DeathOnContactComponent wordt gemaakt uit te voeren.
DeathOnContactComponent.
as
openbare klasse DeathOnContactComponent breidt EntityComponent {De deathCollisionTypes collectie bevat de namen van de entiteiten die deze entiteit zal leiden worden vernietigd als ze botsen met deze
openbare var deathCollisionTypes. Array; publieke functie DeathOnContactComponent () {super (); } Beschermde override functie onAdd (): void {super.onAdd (); owner.eventDispatcher.addEventListener (CollisionEvent.COLLISION_EVENT, OnCollision); } Beschermde override functie onRemove (): void {super.onRemove (); owner.eventDispatcher.removeEventListener (CollisionEvent.COLLISION_EVENT, OnCollision); }
In de onCollision functie vinden we de Box2DSpatialComponent van de botsende entiteit (vergeet niet dat je niet kunt aannemen dat event.collidee of event.collider zal consequent verwijzen naar de andere entiteit), en dan komen we erachter of de andere entiteit botsing naam is een wedstrijd voor een van deze in de deathCollisionTypes verzameling
privéaangelegenheid OnCollision (event: CollisionEvent): void {var mySpatial. Box2DSpatialComponent = owner.lookupComponentByType (Box2DSpatialComponent) als B
Het maken van een Space Invaders kloon met PushButton - Enemy Bullets
- Je Eigen Web Server
- Style Sheet
- Over te bekijken van CICS Data Extractor:
- Inzicht in het verschil: Niveaus van Programming
- Wat is een Programmable Logic Controller (PLC)? Wat is een Programmable Logic Co…
- Hoe te beginnen met het ontwikkelen voor iOS, Android of Windows Phone 7
- Logica En C Conditions
- Inleiding tot opgeslagen procedures in Sybase SQL Anywhere
- Inleiding tot mysql Programming Voor Events
- Basis van de C ++ Identifier Scope