*   >> lukeminen koulutus Artikkelit >> science >> programming

PushButton opetusohjelma sarja - Enemies

Ainoa asia syytä huomata, että vihollinen Sprite arkki on vain 2 kehyksiä animaation. Oletusarvoisesti jokaisen kuvan animaatio voidaan näyttää ruudulla 50 millisekuntia, mikä oletusarvo animaatio nopeus 20 kuvaa sekunnissa. Jotta hitaampi kuvataajuutta meidän täytyy antaa arvo AnimationControllerInfo maxFrameDelay muuttuja. Koska haluamme näyttää vain 4 kuvaa sekunnissa, tämä arvo tulee olla 1000/4 = 250 millisekuntia.

 var IdleAnimation: AnimationControllerInfo = uusi AnimationControllerInfo (); IdleAnimation.frameRate = 4; IdleAnimation.maxFrameDelay = 250; IdleAnimation.

loop = true; IdleAnimation.spriteSheet = IdleSpriteSheet; Animation.animations ["Idle"] = IdleAnimation; entity.addComponent (Animaatio, "Animaatio"); palata kokonaisuus;}

Kun pelaaja törmää vihollisen haluamme sen kimpoavat. Aivan kuten teimme alustoja, KeyboardController komponentti tarkkaile törmäys vihollisen OnCollision toiminto. Kun törmäys havaitaan recoilVector muuttuja on asetettu normaalin törmäyksen.

 oma toiminto OnCollision (tapahtuma: CollisionEvent): mitätön {jos (ObjectTypeManager.instance.doesTypeOverlap (event.collidee.collisionType, "Alusta ")) {if (event.

normal.y> 0,7) onGround ++; } Else if (ObjectTypeManager.instance.doesTypeOverlap (event.collidee.collisionType, "vihollinen")) {recoilVector = event.normal; }}

onTick toiminto tarkistamme onko recoilVector muuttuja on asetettu jotain. Jos se on pelaamme äänitehosteen osoittaa, että pelaaja on loukkaantunut, ja nopeus pelaaja asetetaan pieni määrä pitkin negatiivinen recoilVector, joka kimpoaa pelaaja pois vihollisen.

< pre> julkinen Ohitustoiminto onTick (tickRate: Numero): void {//... jos (recoilVector! = null) {jos (hurtSound! = null) hurtSound.play (); velocity.x - = recoilVector.

x * RecoilSpeed; velocity.y - = recoilVector.y * RecoilSpeed; recoilVector = null; recoilDelay = RecoilDelay; }

recoilDelay muuttuja on sitten lasketaan alas nollaan. Tarkoituksena on lopettaa soittimen hallinnassa näppäimistö lyhyen ajan kuluttua. Jos emme tee tätä pelaaja voisi kimpoavat vihollinen recoilVector, mutta sitten siirtyä suoraan takaisin vihollisen ansiosta nopeuden sovellettu vastauksena näppäimistön kukistamalla tarkoitukseen.

 jos (recoilDelay > 0) {recoilDelay - = tickRate; recoilDelay = recoilDelay
Page   <<  [1] [2] 
Copyright © 2008 - 2016 lukeminen koulutus Artikkelit,https://koulutus.nmjjxx.com All rights reserved.