Handle Video: Flash/HTML5 video player
Requires getID3() and Jaris FLV Player
This commit is contained in:
77
lib/Jaris/src/jaris/animation/Animation.hx
Normal file
77
lib/Jaris/src/jaris/animation/Animation.hx
Normal file
@@ -0,0 +1,77 @@
|
||||
/**
|
||||
* @author Jefferson González
|
||||
* @copyright 2010 Jefferson González
|
||||
*
|
||||
* @license
|
||||
* This file is part of Jaris FLV Player.
|
||||
*
|
||||
* Jaris FLV Player is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License or GNU LESSER GENERAL
|
||||
* PUBLIC LICENSE as published by the Free Software Foundation, either version
|
||||
* 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* Jaris FLV Player is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License and
|
||||
* GNU LESSER GENERAL PUBLIC LICENSE along with Jaris FLV Player. If not,
|
||||
* see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package jaris.animation;
|
||||
|
||||
/**
|
||||
* Gives quick access usage to jaris animations
|
||||
*/
|
||||
class Animation
|
||||
{
|
||||
|
||||
/**
|
||||
* Quick access to fade in effect
|
||||
* @param object the object to animate
|
||||
* @param seconds the duration of the animation
|
||||
*/
|
||||
public static function fadeIn(object:Dynamic, seconds:Float):Void
|
||||
{
|
||||
var animation:AnimationsBase = new AnimationsBase();
|
||||
animation.fadeIn(object, seconds);
|
||||
}
|
||||
|
||||
/**
|
||||
* Quick access to fade out effect
|
||||
* @param object the object to animate
|
||||
* @param seconds the duration of the animation
|
||||
*/
|
||||
public static function fadeOut(object:Dynamic, seconds:Float):Void
|
||||
{
|
||||
var animation:AnimationsBase = new AnimationsBase();
|
||||
animation.fadeOut(object, seconds);
|
||||
}
|
||||
|
||||
/**
|
||||
* Quick access to slide in effect
|
||||
* @param object the object to animate
|
||||
* @param position could be top, left, bottom or right
|
||||
* @param seconds the duration of the animation
|
||||
*/
|
||||
public static function slideIn(object:Dynamic, position:String, seconds:Float):Void
|
||||
{
|
||||
var animation:AnimationsBase = new AnimationsBase();
|
||||
animation.slideIn(object, position, seconds);
|
||||
}
|
||||
|
||||
/**
|
||||
* Quick access to slide out effect
|
||||
* @param object the object to animate
|
||||
* @param position could be top, left, bottom or right
|
||||
* @param seconds the duration of the animation
|
||||
*/
|
||||
public static function slideOut(object:Dynamic, position:String, seconds:Float):Void
|
||||
{
|
||||
var animation:AnimationsBase = new AnimationsBase();
|
||||
animation.slideOut(object, position, seconds);
|
||||
}
|
||||
|
||||
}
|
306
lib/Jaris/src/jaris/animation/AnimationsBase.hx
Normal file
306
lib/Jaris/src/jaris/animation/AnimationsBase.hx
Normal file
@@ -0,0 +1,306 @@
|
||||
/**
|
||||
* @author Jefferson González
|
||||
* @copyright 2010 Jefferson González
|
||||
*
|
||||
* @license
|
||||
* This file is part of Jaris FLV Player.
|
||||
*
|
||||
* Jaris FLV Player is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License or GNU LESSER GENERAL
|
||||
* PUBLIC LICENSE as published by the Free Software Foundation, either version
|
||||
* 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* Jaris FLV Player is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License and
|
||||
* GNU LESSER GENERAL PUBLIC LICENSE along with Jaris FLV Player. If not,
|
||||
* see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package jaris.animation;
|
||||
|
||||
import flash.display.MovieClip;
|
||||
import flash.display.Stage;
|
||||
import flash.events.TimerEvent;
|
||||
import flash.Lib;
|
||||
import flash.utils.Timer;
|
||||
|
||||
/**
|
||||
* Jaris main animations
|
||||
*/
|
||||
class AnimationsBase
|
||||
{
|
||||
private var _fadeInTimer:Timer;
|
||||
private var _fadeOutTimer:Timer;
|
||||
|
||||
private var _slideInTimer:Timer;
|
||||
private var _slideInOrigX:Float;
|
||||
private var _slideInOrigY:Float;
|
||||
private var _slideInPosition:String;
|
||||
private var _slideInIncrements:Float;
|
||||
|
||||
private var _slideOutTimer:Timer;
|
||||
private var _slideOutOrigX:Float;
|
||||
private var _slideOutOrigY:Float;
|
||||
private var _slideOutPosition:String;
|
||||
private var _slideOutIncrements:Float;
|
||||
|
||||
private var _stage:Stage;
|
||||
private var _movieClip:MovieClip;
|
||||
|
||||
|
||||
private var _currentObject:Dynamic;
|
||||
|
||||
public function new()
|
||||
{
|
||||
_stage = Lib.current.stage;
|
||||
_movieClip = Lib.current;
|
||||
}
|
||||
|
||||
/**
|
||||
* Moves an object until is shown
|
||||
* @param event
|
||||
*/
|
||||
private function slideInTimer(event:TimerEvent):Void
|
||||
{
|
||||
var last:Bool = false;
|
||||
switch(_slideInPosition)
|
||||
{
|
||||
case "top":
|
||||
if (_currentObject.y >= _slideInOrigY) { last = true; }
|
||||
_currentObject.y += _slideInIncrements;
|
||||
|
||||
case "left":
|
||||
if (_currentObject.x >= _slideInOrigX) { last = true; }
|
||||
_currentObject.x += _slideInIncrements;
|
||||
|
||||
case "bottom":
|
||||
if (_currentObject.y <= _slideInOrigY) { last = true; }
|
||||
_currentObject.y -= _slideInIncrements;
|
||||
|
||||
case "right":
|
||||
if (_currentObject.x <= _slideInOrigX) { last = true; }
|
||||
_currentObject.x -= _slideInIncrements;
|
||||
}
|
||||
|
||||
if (last)
|
||||
{
|
||||
_currentObject.x = _slideInOrigX;
|
||||
_currentObject.y = _slideInOrigY;
|
||||
_slideInTimer.stop();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Moves an object until is hidden
|
||||
* @param event
|
||||
*/
|
||||
private function slideOutTimer(event:TimerEvent):Void
|
||||
{
|
||||
if (((_currentObject.x + _currentObject.width) < 0) || (_currentObject.y + _currentObject.height < 0))
|
||||
{
|
||||
_currentObject.visible = false;
|
||||
_currentObject.x = _slideOutOrigX;
|
||||
_currentObject.y = _slideOutOrigY;
|
||||
|
||||
_slideOutTimer.stop();
|
||||
}
|
||||
else if (((_currentObject.x) > _stage.stageWidth) || (_currentObject.y > _stage.stageHeight))
|
||||
{
|
||||
_currentObject.visible = false;
|
||||
_currentObject.x = _slideOutOrigX;
|
||||
_currentObject.y = _slideOutOrigY;
|
||||
|
||||
_slideOutTimer.stop();
|
||||
}
|
||||
else
|
||||
{
|
||||
switch(_slideOutPosition)
|
||||
{
|
||||
case "top":
|
||||
_currentObject.y -= _slideOutIncrements;
|
||||
|
||||
case "left":
|
||||
_currentObject.x -= _slideOutIncrements;
|
||||
|
||||
case "bottom":
|
||||
_currentObject.y += _slideOutIncrements;
|
||||
|
||||
case "right":
|
||||
_currentObject.x += _slideOutIncrements;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Lower object transparency until not visible
|
||||
* @param event
|
||||
*/
|
||||
private function fadeOutTimer(event:TimerEvent):Void
|
||||
{
|
||||
if (_currentObject.alpha > 0)
|
||||
{
|
||||
_currentObject.alpha -= 1 / 10;
|
||||
}
|
||||
else
|
||||
{
|
||||
_currentObject.visible = false;
|
||||
_fadeOutTimer.stop();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Highers object transparency until visible
|
||||
* @param event
|
||||
*/
|
||||
private function fadeInTimer(event:TimerEvent):Void
|
||||
{
|
||||
if (_currentObject.alpha < 1)
|
||||
{
|
||||
_currentObject.alpha += 1 / 10;
|
||||
}
|
||||
else
|
||||
{
|
||||
_fadeInTimer.stop();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Effect that moves an object into stage
|
||||
* @param object the element to move
|
||||
* @param slidePosition could be top, left bottom or right
|
||||
* @param speed the time in seconds for duration of the animation
|
||||
*/
|
||||
public function slideIn(object:Dynamic, slidePosition:String, speed:Float=1000):Void
|
||||
{
|
||||
if (object.visible)
|
||||
{
|
||||
object.visible = false;
|
||||
}
|
||||
|
||||
_slideInOrigX = object.x;
|
||||
_slideInOrigY = object.y;
|
||||
_slideInPosition = slidePosition;
|
||||
|
||||
var increments:Float = 0;
|
||||
|
||||
switch(slidePosition)
|
||||
{
|
||||
case "top":
|
||||
object.y = 0 - object.height;
|
||||
increments = object.height + _slideInOrigY;
|
||||
|
||||
case "left":
|
||||
object.x = 0 - object.width;
|
||||
increments = object.width + _slideInOrigX;
|
||||
|
||||
case "bottom":
|
||||
object.y = _stage.stageHeight;
|
||||
increments = _stage.stageHeight - _slideInOrigY;
|
||||
|
||||
case "right":
|
||||
object.x = _stage.stageWidth;
|
||||
increments = _stage.stageWidth - _slideInOrigX;
|
||||
}
|
||||
|
||||
_slideInIncrements = increments / (speed / 100);
|
||||
|
||||
_currentObject = object;
|
||||
_currentObject.visible = true;
|
||||
_currentObject.alpha = 1;
|
||||
|
||||
_slideInTimer = new Timer(speed / 100);
|
||||
_slideInTimer.addEventListener(TimerEvent.TIMER, slideInTimer);
|
||||
_slideInTimer.start();
|
||||
}
|
||||
|
||||
/**
|
||||
* Effect that moves an object out of stage
|
||||
* @param object the element to move
|
||||
* @param slidePosition could be top, left bottom or right
|
||||
* @param speed the time in seconds for duration of the animation
|
||||
*/
|
||||
public function slideOut(object:Dynamic, slidePosition:String, speed:Float=1000):Void
|
||||
{
|
||||
if (!object.visible)
|
||||
{
|
||||
object.visible = true;
|
||||
}
|
||||
|
||||
_slideOutOrigX = object.x;
|
||||
_slideOutOrigY = object.y;
|
||||
_slideOutPosition = slidePosition;
|
||||
|
||||
var increments:Float = 0;
|
||||
|
||||
switch(slidePosition)
|
||||
{
|
||||
case "top":
|
||||
increments = object.height + _slideOutOrigY;
|
||||
|
||||
case "left":
|
||||
increments = object.width + _slideOutOrigX;
|
||||
|
||||
case "bottom":
|
||||
increments = _stage.stageHeight - _slideOutOrigY;
|
||||
|
||||
case "right":
|
||||
increments = _stage.stageWidth - _slideOutOrigX;
|
||||
}
|
||||
|
||||
_slideOutIncrements = increments / (speed / 100);
|
||||
|
||||
_currentObject = object;
|
||||
_currentObject.visible = true;
|
||||
_currentObject.alpha = 1;
|
||||
|
||||
_slideOutTimer = new Timer(speed / 100);
|
||||
_slideOutTimer.addEventListener(TimerEvent.TIMER, slideOutTimer);
|
||||
_slideOutTimer.start();
|
||||
}
|
||||
|
||||
/**
|
||||
* Effect that dissapears an object from stage
|
||||
* @param object the element to dissapear
|
||||
* @param speed the time in seconds for the duration of the animation
|
||||
*/
|
||||
public function fadeOut(object:Dynamic, speed:Float=500):Void
|
||||
{
|
||||
if (!object.visible)
|
||||
{
|
||||
object.visible = true;
|
||||
}
|
||||
|
||||
object.alpha = 1;
|
||||
_currentObject = object;
|
||||
|
||||
_fadeOutTimer = new Timer(speed / 10);
|
||||
_fadeOutTimer.addEventListener(TimerEvent.TIMER, fadeOutTimer);
|
||||
_fadeOutTimer.start();
|
||||
}
|
||||
|
||||
/**
|
||||
* Effect that shows a hidden object an in stage
|
||||
* @param object the element to show
|
||||
* @param speed the time in seconds for the duration of the animation
|
||||
*/
|
||||
public function fadeIn(object:Dynamic, speed:Float=500):Void
|
||||
{
|
||||
if (object.visible)
|
||||
{
|
||||
object.visible = false;
|
||||
}
|
||||
|
||||
object.alpha = 0;
|
||||
_currentObject = object;
|
||||
_currentObject.visible = true;
|
||||
|
||||
_fadeInTimer = new Timer(speed / 10);
|
||||
_fadeInTimer.addEventListener(TimerEvent.TIMER, fadeInTimer);
|
||||
_fadeInTimer.start();
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user