JuiceBoxx

tile.hx

May 27th, 2016
510
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package effects;
  2.  
  3. import flixel.FlxSprite;
  4. import flixel.system.FlxAssets.FlxGraphicAsset;
  5. import flixel.util.FlxColor;
  6. import flixel.tweens.FlxTween;
  7. import flixel.tweens.FlxEase;
  8. import flixel.math.FlxPoint;
  9. import registry.REG;
  10.  
  11. /**
  12.  * ...
  13.  * @author Justin Cruz
  14.  */
  15. class Tile extends FlxSprite{
  16.    
  17.     var floating:Bool = true;
  18.     var state:GameState;
  19.     var startPoint:FlxPoint;
  20.    
  21.     public var aY:Float = 4;
  22.  
  23.     public function new(?X:Float = 0, ?Y:Float = 0, State:GameState, ?Sprite:FlxSprite, ?Floating:Bool = true)
  24.     {
  25.         super(X, Y);
  26.        
  27.         floating = Floating;
  28.         state = State;
  29.        
  30.         if (Sprite != null)
  31.         {
  32.             loadGraphicFromSprite(Sprite);
  33.             angle = Sprite.angle;
  34.             x = Sprite.x;
  35.             y = Sprite.y;
  36.             alpha = Sprite.alpha;
  37.             alive = Sprite.alive;
  38.         }
  39.        
  40.         startPoint = new FlxPoint(x, y);
  41.        
  42.     }
  43.    
  44.     override public function update(e:Float)
  45.     {
  46.         super.update(e);
  47.        
  48.         if (y > startPoint.y + aY)
  49.         {
  50.             velocity.y = 0;
  51.             y = startPoint.y + aY;
  52.         }
  53.        
  54.         if (y < startPoint.y)
  55.         {
  56.             velocity.y = 0;
  57.             y = startPoint.y;
  58.         }
  59.        
  60.     }
  61.    
  62.     //Sink
  63.     public function startSink()
  64.     {
  65.         if (!alive)
  66.         {
  67.             FlxTween.manager.clear();
  68.             velocity.y = REG.sinkSpeed;
  69.             state.ripples.add(new Ripple(x - 48, y + 16, 2));
  70.             FlxTween.color(this, 1 - ((y - startPoint.y) / 8), color, FlxColor.fromRGB(242, 242, 242, 255));
  71.             alive = true;
  72.         }
  73.     }
  74.    
  75.     //Unskink
  76.     public function floatUp()
  77.     {
  78.         if (alive)
  79.         {
  80.             FlxTween.manager.clear();
  81.             velocity.y = -REG.sinkSpeed;
  82.             FlxTween.color(this,((y - startPoint.y) / 8), color, FlxColor.WHITE);
  83.             alive = false;
  84.         }
  85.     }
  86.    
  87. }
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×