mirror of
https://github.com/logsol/chuck.js.git
synced 2026-05-11 18:47:35 +00:00
updated pixi to v2
This commit is contained in:
parent
072e984215
commit
f02230c50c
95 changed files with 44677 additions and 3522 deletions
205
app/Lib/Vendor/src/pixi/display/MovieClip.js
vendored
Normal file
205
app/Lib/Vendor/src/pixi/display/MovieClip.js
vendored
Normal file
|
|
@ -0,0 +1,205 @@
|
|||
/**
|
||||
* @author Mat Groves http://matgroves.com/ @Doormat23
|
||||
*/
|
||||
|
||||
/**
|
||||
* A MovieClip is a simple way to display an animation depicted by a list of textures.
|
||||
*
|
||||
* @class MovieClip
|
||||
* @extends Sprite
|
||||
* @constructor
|
||||
* @param textures {Array(Texture)} an array of {Texture} objects that make up the animation
|
||||
*/
|
||||
PIXI.MovieClip = function(textures)
|
||||
{
|
||||
PIXI.Sprite.call(this, textures[0]);
|
||||
|
||||
/**
|
||||
* The array of textures that make up the animation
|
||||
*
|
||||
* @property textures
|
||||
* @type Array(Texture)
|
||||
*/
|
||||
this.textures = textures;
|
||||
|
||||
/**
|
||||
* The speed that the MovieClip will play at. Higher is faster, lower is slower
|
||||
*
|
||||
* @property animationSpeed
|
||||
* @type Number
|
||||
* @default 1
|
||||
*/
|
||||
this.animationSpeed = 1;
|
||||
|
||||
/**
|
||||
* Whether or not the movie clip repeats after playing.
|
||||
*
|
||||
* @property loop
|
||||
* @type Boolean
|
||||
* @default true
|
||||
*/
|
||||
this.loop = true;
|
||||
|
||||
/**
|
||||
* Function to call when a MovieClip finishes playing
|
||||
*
|
||||
* @property onComplete
|
||||
* @type Function
|
||||
*/
|
||||
this.onComplete = null;
|
||||
|
||||
/**
|
||||
* [read-only] The MovieClips current frame index (this may not have to be a whole number)
|
||||
*
|
||||
* @property currentFrame
|
||||
* @type Number
|
||||
* @default 0
|
||||
* @readOnly
|
||||
*/
|
||||
this.currentFrame = 0;
|
||||
|
||||
/**
|
||||
* [read-only] Indicates if the MovieClip is currently playing
|
||||
*
|
||||
* @property playing
|
||||
* @type Boolean
|
||||
* @readOnly
|
||||
*/
|
||||
this.playing = false;
|
||||
};
|
||||
|
||||
// constructor
|
||||
PIXI.MovieClip.prototype = Object.create( PIXI.Sprite.prototype );
|
||||
PIXI.MovieClip.prototype.constructor = PIXI.MovieClip;
|
||||
|
||||
/**
|
||||
* [read-only] totalFrames is the total number of frames in the MovieClip. This is the same as number of textures
|
||||
* assigned to the MovieClip.
|
||||
*
|
||||
* @property totalFrames
|
||||
* @type Number
|
||||
* @default 0
|
||||
* @readOnly
|
||||
*/
|
||||
Object.defineProperty( PIXI.MovieClip.prototype, 'totalFrames', {
|
||||
get: function() {
|
||||
|
||||
return this.textures.length;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Stops the MovieClip
|
||||
*
|
||||
* @method stop
|
||||
*/
|
||||
PIXI.MovieClip.prototype.stop = function()
|
||||
{
|
||||
this.playing = false;
|
||||
};
|
||||
|
||||
/**
|
||||
* Plays the MovieClip
|
||||
*
|
||||
* @method play
|
||||
*/
|
||||
PIXI.MovieClip.prototype.play = function()
|
||||
{
|
||||
this.playing = true;
|
||||
};
|
||||
|
||||
/**
|
||||
* Stops the MovieClip and goes to a specific frame
|
||||
*
|
||||
* @method gotoAndStop
|
||||
* @param frameNumber {Number} frame index to stop at
|
||||
*/
|
||||
PIXI.MovieClip.prototype.gotoAndStop = function(frameNumber)
|
||||
{
|
||||
this.playing = false;
|
||||
this.currentFrame = frameNumber;
|
||||
var round = (this.currentFrame + 0.5) | 0;
|
||||
this.setTexture(this.textures[round % this.textures.length]);
|
||||
};
|
||||
|
||||
/**
|
||||
* Goes to a specific frame and begins playing the MovieClip
|
||||
*
|
||||
* @method gotoAndPlay
|
||||
* @param frameNumber {Number} frame index to start at
|
||||
*/
|
||||
PIXI.MovieClip.prototype.gotoAndPlay = function(frameNumber)
|
||||
{
|
||||
this.currentFrame = frameNumber;
|
||||
this.playing = true;
|
||||
};
|
||||
|
||||
/*
|
||||
* Updates the object transform for rendering
|
||||
*
|
||||
* @method updateTransform
|
||||
* @private
|
||||
*/
|
||||
PIXI.MovieClip.prototype.updateTransform = function()
|
||||
{
|
||||
this.displayObjectContainerUpdateTransform();
|
||||
|
||||
if(!this.playing)return;
|
||||
|
||||
this.currentFrame += this.animationSpeed;
|
||||
|
||||
var round = (this.currentFrame + 0.5) | 0;
|
||||
|
||||
this.currentFrame = this.currentFrame % this.textures.length;
|
||||
|
||||
if(this.loop || round < this.textures.length)
|
||||
{
|
||||
this.setTexture(this.textures[round % this.textures.length]);
|
||||
}
|
||||
else if(round >= this.textures.length)
|
||||
{
|
||||
this.gotoAndStop(this.textures.length - 1);
|
||||
if(this.onComplete)
|
||||
{
|
||||
this.onComplete();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* A short hand way of creating a movieclip from an array of frame ids
|
||||
*
|
||||
* @static
|
||||
* @method fromFrames
|
||||
* @param frames {Array} the array of frames ids the movieclip will use as its texture frames
|
||||
*/
|
||||
PIXI.MovieClip.fromFrames = function(frames)
|
||||
{
|
||||
var textures = [];
|
||||
|
||||
for (var i = 0; i < frames.length; i++)
|
||||
{
|
||||
textures.push(new PIXI.Texture.fromFrame(frames[i]));
|
||||
}
|
||||
|
||||
return new PIXI.MovieClip(textures);
|
||||
};
|
||||
|
||||
/**
|
||||
* A short hand way of creating a movieclip from an array of image ids
|
||||
*
|
||||
* @static
|
||||
* @method fromImages
|
||||
* @param frames {Array} the array of image ids the movieclip will use as its texture frames
|
||||
*/
|
||||
PIXI.MovieClip.fromImages = function(images)
|
||||
{
|
||||
var textures = [];
|
||||
|
||||
for (var i = 0; i < images.length; i++)
|
||||
{
|
||||
textures.push(new PIXI.Texture.fromImage(images[i]));
|
||||
}
|
||||
|
||||
return new PIXI.MovieClip(textures);
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue