Det enda värt att notera är att fienden sprite blad har endast två ramar av animation. Som standard varje bildruta av animation kan visas på skärmen under 50 millisekunder, vilket gör standard animation hastigheten 20 bilder per sekund. För att möjliggöra en långsammare bildfrekvens måste vi tilldela ett värde till AnimationControllerInfo maxFrameDelay variabeln. Eftersom vi vill bara visa fyra bilder per sekund, måste detta värde vara 1000/4 = 250 millisekunder Omdömen
var IdleAnimation: AnimationControllerInfo = new AnimationControllerInfo ();.IdleAnimation.frameRate = 4; IdleAnimation.maxFrameDelay = 250; IdleAnimation.loop = true; IdleAnimation.spriteSheet = IdleSpriteSheet; Animation.animations ["Idle"] = IdleAnimation; entity.addComponent (Animation, "Animation"); retur enhet;}
När spelaren kolliderar med en fiende som vi vill att det ska studsa. Precis som vi gjorde med plattformarna kommer KeyboardController komponenten titta på en kollision med en fiende i OnCollision funktionen.
När en kollision detekteras recoilVector variabeln är satt till den normala kollisionsOmdömen
private function OnCollision (event: CollisionEvent):. Void {if (ObjectTypeManager.instance.doesTypeOverlap (event.collidee.collisionType, "Plattform ")) {if (event.normal.y> 0,7) onGround ++; } Else if (ObjectTypeManager.instance.doesTypeOverlap (event.collidee.collisionType "Enemy")) {recoilVector = event.normal; }}I onTick funktionen kontrollerar vi att se om recoilVector variabeln har ställts in på något.
Om det har vi spelar en ljudeffekt för att visa att spelaren har blivit sårad, och hastigheten för spelaren är inställd på en liten mängd längs negativa av recoilVector, som kommer att studsa spelaren bort från fienden. Omdömen < pre> public override function 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; }
recoilDelay variabel räknas sedan ned till noll.
Syftet med detta är att stoppa spelaren från att styras med tangentbordet under en kort tid tid. Om vi inte gör detta spelare kan studsa en fiende med recoilVector, men sedan flytta rakt tillbaka in i fiendens tack vare hastigheten tillämpas som svar på tangentbordet, besegra syftet. Omdömen
if (recoilDelay > 0) {recoilDelay - = tickrate; recoilDelay = recoilDTryckknapp Tutorial Series - Parallax Background
- Vad är jailbreaking (iPhone)?
- Vad är en Programmable Logic Controller (PLC)? Vad är en Programmable Logic Co…
- Java Tutorials - Lektion 3: Relations och Boolean Operators
- Redigera Control i Windows
- Skapa ett spel på Google Android spel med flixel - Få Started
- J2ME Moving Lista Elements upp /ned !!
- Varför Learning Java är Important
- Css Runt Element Properties
- Hur man börja tjäna Computer Games
- AS3IsoLib Tutorial Series - Komma Started
1…