SHARE
TWEET

Untitled

a guest Aug 21st, 2012 91 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. public class Hero extends Entity
  2. {
  3.         private var input : InputComponent;
  4.         private var _view : HeroViewComponent;
  5.         private var _physicsComponent : HeroPhysicsComponent;
  6.         private var _movementComponent: HeroMovementComponent;
  7.  
  8.         public function Hero(name:String, params:Object = null) {
  9.                 super(name, params);
  10.                
  11.                 // creation of components
  12.                 _physicsComponent = new HeroPhysicsComponent("physics", {x:200, y:270, width:40, height:60, entity:this});
  13.                 input = new InputComponent("input", {entity:heroEntity});
  14.                 var collision:HeroCollisionComponent = new HeroCollisionComponent("collision", {entity:this});
  15.                 _movementComponent = new HeroMovementComponent("move", {entity:this});
  16.                 _view = new HeroViewComponent("view", {view:"Patch.swf", entity:this});
  17.  
  18.  
  19.                 heroEntity.add(_physicsComponent).add(input).add(collision).add(_movementComponent).add(_view);
  20.                 // ...
  21.         }
  22.  
  23.         override public function initialize():void {
  24.                 super.initialize();
  25.  
  26.                 // wire up interaction between components with signals & callbacks
  27.                 _view.onUpdate.add(_onViewUpdate);
  28.                 // ...
  29.         }
  30.  
  31.         override public function destroy():void {
  32.                
  33.                 // clean up
  34.                 _view.onUpdate.remove(_onViewUpdate);
  35.                 // ...
  36.  
  37.                 super.destroy();
  38.         }
  39.        
  40.         private function _onViewUpdate() {
  41.                 var prevAnimation:String = _view.getCurrentAnimation();
  42.  
  43.                 if (_physicsComponent && _movementComponent) {
  44.  
  45.                         if (_movementComponent.isHurt)
  46.                                 _view.setAnimation("hurt");
  47.                         else if (!_movementComponent.onGround)
  48.                                 _view.setAnimation("jump");
  49.                         else if (_movementComponent.ducking)
  50.                                 _view.setAnimation("duck");
  51.                         else {
  52.  
  53.                                 var walkingSpeed:Number = _movementComponent.getWalkingSpeed();
  54.  
  55.                                 if (walkingSpeed < -_movementComponent.acceleration) {                                         
  56.                                         _inverted = true;                                              
  57.                                         _view.setAnimation("walk");                                    
  58.                                 } else if (walkingSpeed > _movementComponent.acceleration) {
  59.                                         _inverted = false;
  60.                                         _view.setAnimation("walk");
  61.                                 } else {
  62.                                         _view.setAnimation("idle");
  63.                                 }
  64.                         }                              
  65.                 }
  66.         }
  67. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top