public var ScreenWidth:. int = 480; vitesse de public var: Number = 200; public var sideBuffer: int = 32;En règle générale, le constructeur d'un composant ne doit pas contenir tout le code. Lorsqu'un nouveau composant est créé, et le constructeur est appelé, il est pas attaché à une entité.
Bien qu'ils ne soient pas utilisés ici, l'onAdd et les fonctions sont essentiellement OnRemove l'équivalent du constructeur et destructeur (pour les programmeurs C ++ là-bas)
PlayerControllerComponent public function () {super ().; }La fonction onTick est l'endroit où nous mettons à jour le joueur. Nous avons d'abord obtenir une référence à la vitesse et la position des entités. Ces valeurs sont détenues par la composante spatiale et liés à la définition du modèle XML, mais il ne fait aucune différence à l'PlayerControllerComponent où ces valeurs viennent.
Ce genre de couplage lâche est l'un des aspects du système de la conception des composants de bouton-poussoir. Le PlayerControllerComponent sait comment modifier la position et la vitesse d'une entité, mais il ne se soucie pas comment la position et la vitesse sont utilisés
public override function onTick (tickrate: Number):. Void {super.onTick (tickrate ); vitesse var: = owner.getProperty Point (velocityReference); position var: point = owner.getProperty (positionReference);
Il ya toujours la possibilité que les références de propriété ne sont pas réglés, dans ce cas, les variables de position et de vitesse seront nulles. Même si le joueur libération flash échoue silencieusement avec ces types d'erreurs, nous pourrions aussi bien face à cette éventualité gracieusement par ici pas d'aller plus loin.
si (vitesse == null || la position == null) return ;Nous voulons d'abord lié la position du joueur afin de ne pas déplacer le bord de l'écran
if (position.x> ScreenWidth - sideBuffer) position.x = ScreenWidth - sideBuffer. else if (position.x
Ensuite, nous avons besoin de mettre à jour la vitesse en fonction de ce qui du clavier est enfoncée, le cas échéant
if (InputManager.isKeyDown (InputKey.LEFT)) {velocity.x =. - vitesse;} else if (InputManager.isKeyDown (InputKey.RIGHT)) {velocity.x = vitesse;} else {velocity.x = 0;.}Nous synchronisons alors ces modifications à l'entité mère
Faire un clone de Space Invaders avec PushButton - Bullets
- CSS2 Pourcentage Reference
- Les expressions régulières en Perl Pour Les Novice
- Effectuer indolore Seo Best Avec Firefox Extensions
- C ++ - Prenant le taureau par les Horns
- Perl référence à une Anonyme Subroutine
- HTML attributs booléens et JavaScript
- C ++ de base Syntax
- Codage de base de classe de fenêtre Procedure
- C # Tutoriels - Leçon 0: Votre demande de # Première C (Bonjour tout le monde)…
- Programmation: Conception et Planning