La seule chose à noter est que la feuille de sprite ennemi ne dispose que de 2 images d'animation. Par défaut, chaque trame de l'animation peut être affichée sur l'écran pendant 50 millisecondes, ce qui rend le taux d'animation par défaut 20 images par seconde. Pour permettre une cadence plus lente que nous devons attribuer une valeur à la variable AnimationControllerInfo maxFrameDelay.
Puisque nous voulons afficher seulement 4 images par seconde, cette valeur doit être 1000/4 = 250 millisecondes
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"); retourner entité;}Quand le joueur entre en collision avec un ennemi que nous voulons qu'il rebondir.
Tout comme nous avons fait avec les plates-formes, la composante keyboardcontroller va regarder pour une collision avec un ennemi dans la fonction onCollision. Lorsqu'une collision est détectée la variable recoilVector est réglé à la normale de la collision
privée fonction onCollision (event: CollisionEvent):. Void {if (ObjectTypeManager.instance.doesTypeOverlap (event.collidee.collisionType, «Plate-forme ")) {if (event.normal.y> 0,7) surterre ++; } Else if (ObjectTypeManager.instance.doesTypeOverlap (event.collidee.collisionType, "Enemy")) {recoilVector = event.normal; }}
Dans la fonction onTick nous vérifions pour voir si la variable recoilVector a été fixé à quelque chose. Si elle a nous jouons un effet sonore à montrer que le joueur a été blessé, et la vitesse du lecteur est réglé sur une petite quantité le long de la négative de la recoilVector, qui va rebondir le joueur loin de l'ennemi.
< 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; }
La variable recoilDelay est alors décompté à zéro. Le but est d'arrêter le joueur d'être contrôlée avec le clavier pour une courte durée de temps. Si nous ne faisons pas cela le joueur pourrait rebondir sur un
PushButton Tutorial Series - Parallax Background
- Seo: Comment concevoir votre site d'être Found
- Visibilité en Php Classes
- iPhone Création personnalisée UITableViewCells Utilisation IB
- L'efficacité dans la base de données Design
- Nouvelle fonctionnalité d'Adobe Flash CS4
- Code C # pour convertir Chiffres à mots à partir du numéro 1-100099 (Dotnet)
- Forfaits et Subtypes
- Interrogation Mysql Database
- Gestion de la sécurité réseau pour le gouvernement Grandes écoles, les entre…
- Comment accéder et utiliser une commande line