blob: 1f307a72d90be7619b54ae0e433f874cc046f368 [file] [log] [blame]
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style>
body, html{
background-color:#ddd;
margin: 0px;
height: 100%;
overflow-x: hidden;
overflow-y: auto;
}
#bodymovin{
background-color:#333;
width:800px;
height:800px;
width:1024px;
height:768px;
display:block;
overflow: hidden;
transform: translate3d(0,0,0);
}
.botas_loop_3,.botas_loop_2{
display:none
}
</style>
<!-- build:js bodymovin.js -->
<script src="js/main.js"></script>
<script src="js/utils/common.js"></script>
<script src="js/3rd_party/transformation-matrix.js"></script>
<script src="js/3rd_party/seedrandom.js"></script>
<script src="js/3rd_party/BezierEaser.js"></script>
<script src="js/utils/MatrixManager.js"></script>
<script src="js/utils/animationFramePolyFill.js"></script>
<script src="js/utils/functionExtensions.js"></script>
<script src="js/utils/bez.js"></script>
<script src="js/utils/DataManager.js"></script>
<script src="js/utils/FontManager.js"></script>
<script src="js/utils/PropertyFactory.js"></script>
<script src="js/utils/shapes/ShapePath.js"></script>
<script src="js/utils/shapes/ShapeProperty.js"></script>
<script src="js/utils/shapes/ShapeModifiers.js"></script>
<script src="js/utils/shapes/TrimModifier.js"></script>
<script src="js/utils/shapes/RoundCornersModifier.js"></script>
<script src="js/utils/shapes/RepeaterModifier.js"></script>
<script src="js/utils/shapes/MouseModifier.js"></script>
<script src="js/utils/shapes/ShapeCollection.js"></script>
<script src="js/utils/imagePreloader.js"></script>
<script src="js/utils/featureSupport.js"></script>
<script src="js/utils/filters.js"></script>
<script src="js/utils/pooling/pooling.js"></script>
<script src="js/utils/pooling/point_pool.js"></script>
<script src="js/utils/pooling/shape_pool.js"></script>
<script src="js/utils/pooling/shapeCollection_pool.js"></script>
<script src="js/renderers/BaseRenderer.js"></script>
<script src="js/renderers/SVGRenderer.js"></script>
<script src="js/renderers/CanvasRenderer.js" data-light-skip="true"></script>
<script src="js/renderers/HybridRenderer.js" data-light-skip="true"></script>
<script src="js/mask.js"></script>
<script src="js/elements/BaseElement.js"></script>
<script src="js/elements/svgElements/SVGBaseElement.js"></script>
<script src="js/elements/TextElement.js"></script>
<script src="js/elements/svgElements/SVGTextElement.js"></script>
<script src="js/elements/svgElements/effects/SVGTintEffect.js"></script>
<script src="js/elements/svgElements/effects/SVGFillFilter.js"></script>
<script src="js/elements/svgElements/effects/SVGStrokeEffect.js"></script>
<script src="js/elements/svgElements/effects/SVGTritoneFilter.js"></script>
<script src="js/elements/svgElements/effects/SVGProLevelsFilter.js"></script>
<script src="js/elements/svgElements/effects/SVGDropShadowEffect.js"></script>
<script src="js/elements/svgElements/SVGEffects.js"></script>
<script src="js/elements/CompElement.js"></script>
<script src="js/elements/ImageElement.js"></script>
<script src="js/elements/ShapeElement.js"></script>
<script src="js/elements/SolidElement.js"></script>
<script src="js/elements/canvasElements/CVBaseElement.js" data-light-skip="true"></script>
<script src="js/elements/canvasElements/CVCompElement.js" data-light-skip="true"></script>
<script src="js/elements/canvasElements/CVImageElement.js" data-light-skip="true"></script>
<script src="js/elements/canvasElements/CVMaskElement.js" data-light-skip="true"></script>
<script src="js/elements/canvasElements/CVShapeElement.js" data-light-skip="true"></script>
<script src="js/elements/canvasElements/CVSolidElement.js" data-light-skip="true"></script>
<script src="js/elements/canvasElements/CVTextElement.js" data-light-skip="true"></script>
<script src="js/elements/htmlElements/HBaseElement.js" data-light-skip="true"></script>
<script src="js/elements/htmlElements/HSolidElement.js" data-light-skip="true"></script>
<script src="js/elements/htmlElements/HCompElement.js" data-light-skip="true"></script>
<script src="js/elements/htmlElements/HShapeElement.js" data-light-skip="true"></script>
<script src="js/elements/htmlElements/HTextElement.js" data-light-skip="true"></script>
<script src="js/elements/htmlElements/HImageElement.js" data-light-skip="true"></script>
<script src="js/elements/htmlElements/HCameraElement.js" data-light-skip="true"></script>
<script src="js/animation/AnimationManager.js"></script>
<script src="js/animation/AnimationItem.js"></script>
<!-- Expressions -->
<script src="js/utils/expressions/Expressions.js" data-light-skip="true"></script>
<script src="js/utils/expressions/ExpressionPropertyDecorator.js" data-light-skip="true"></script>
<script src="js/utils/expressions/ExpressionManager.js" data-light-skip="true"></script>
<script src="js/utils/expressions/ShapeInterface.js" data-light-skip="true"></script>
<script src="js/utils/expressions/TextInterface.js" data-light-skip="true"></script>
<script src="js/utils/expressions/LayerInterface.js" data-light-skip="true"></script>
<script src="js/utils/expressions/CompInterface.js" data-light-skip="true"></script>
<script src="js/utils/expressions/TransformInterface.js" data-light-skip="true"></script>
<script src="js/utils/expressions/ProjectInterface.js" data-light-skip="true"></script>
<script src="js/utils/expressions/EffectInterface.js" data-light-skip="true"></script>
<script src="js/utils/expressions/ExpressionValue.js" data-light-skip="true"></script>
<script src="js/effects/SliderEffect.js" data-light-skip="true"></script>
<script src="js/effects.js" data-light-skip="true"></script>
<!-- end Expressions -->
<!-- endbuild -->
<script src="js/module.js" data-skip="true"></script>
<!-- <script src="bodymovin.js"></script> -->
<!-- <script src="bodymovin_light.js"></script> -->
</head>
<body>
<div id="bodymovin"></div>
<script>
var anim;
var elem = document.getElementById('bodymovin')
var animData = {
container: elem,
renderer: 'canvas',
loop: true,
autoplay: true,
rendererSettings: {
progressiveLoad:false,
dpr: 1
},
path: 'exports/render/data.json'
};
anim = bodymovin.loadAnimation(animData);
anim.addEventListener('DOMLoaded', function(){
window.addEventListener('mousemove', function(ev){
anim.renderer.globalData.mouseCoords.x = ev.offsetX || ev.pageX;
anim.renderer.globalData.mouseCoords.y = ev.offsetY || ev.pageY;
})
createDrawingCanvas();
})
function createDrawingCanvas(){
var canvasW, canvasH;
var currentAnimFrame = -1;
var isEven = false;
var maxOffset = 250;
var currentOffset = 0;
var offsetDir = -1;
var lastSecond = Number.NEGATIVE_INFINITY;
var xOffset = 0;
var newSegmentHeight = 40;
var pairs = [];
function tick(time){
////
/*// get svg data
var xml = new XMLSerializer().serializeToString(sourceSVG);
// make it base64
var svg64 = btoa(xml);
var b64Start = 'data:image/svg+xml;base64,';
// prepend a "header"
var image64 = b64Start + svg64;
// set it as the source of the img element
imgHelper.src = image64;*/
////
isEven = !isEven;
if(isEven){
//canvasCtx.globalCompositeOperation = 'exclusion';
}else {
//canvasCtx.globalCompositeOperation = 'multiply';
}
if(offsetDir > 0){
currentOffset = currentOffset >= maxOffset ? maxOffset : currentOffset + offsetDir;
} else {
currentOffset = currentOffset <= 0 ? 0 : currentOffset + offsetDir;
}
if(anim.currentFrame !== currentAnimFrame){
var newPairs = false;
if(time - lastSecond > 1000){
newPairs = true;
pairs.length = 0;
}
currentAnimFrame = anim.currentFrame;
var currentH = 0, currentPair = 0;
while(currentH < canvasH){
if(newPairs){
newSegmentHeight = 2 + Math.round(20*Math.random());
if(currentH + newSegmentHeight > canvasH){
newSegmentHeight = canvasH - currentH;
}
xOffset = Math.round(Math.random()*(canvasW - 1));
pairs.push([newSegmentHeight, xOffset]);
} else {
newSegmentHeight = pairs[currentPair][0];
xOffset = pairs[currentPair][1];
currentPair += 1;
}
//var xOffset = 1 + Math.round(Math.random()*currentOffset);
//xOffset = 0;
bufferCanvasCtx.drawImage(source, xOffset, currentH, canvasW - xOffset, newSegmentHeight, 0 , currentH, canvasW - xOffset, newSegmentHeight);
bufferCanvasCtx.drawImage(source, 0, currentH, xOffset, newSegmentHeight, canvasW - xOffset , currentH, xOffset, newSegmentHeight);
currentH += newSegmentHeight;
}
canvasCtx.drawImage(bufferCanvas, 0, 0);
if(newPairs){
lastSecond = time;
}
}
requestAnimationFrame(tick);
}
function elemDownHandler(){
offsetDir = 2;
}
function elemUpHandler(){
offsetDir = -5;
}
var source;
///
var sourceCanvas = elem.getElementsByTagName('canvas')[0];
sourceCanvas.style.display = 'none';
source = sourceCanvas;
canvasW = sourceCanvas.width;
canvasH = sourceCanvas.height;
///
/*var sourceSVG = elem.getElementsByTagName('svg')[0];
sourceSVG.style.display = 'none';
var imgHelper = document.createElement('img');
source = imgHelper;
canvasW = 1024;
canvasH = 768;*/
///
var canvas = document.createElement('canvas');
var bufferCanvas = document.createElement('canvas');
var canvasCtx = canvas.getContext('2d');
var bufferCanvasCtx = bufferCanvas.getContext('2d');
canvas.width = canvasW;
canvas.height = canvasH;
bufferCanvas.width = canvasW;
bufferCanvas.height = canvasH;
//canvasCtx.globalCompositeOperation = 'darken';
elem.appendChild(canvas);
elem.addEventListener('mousedown', elemDownHandler);
elem.addEventListener('mouseup', elemUpHandler);
requestAnimationFrame(tick);
}
</script>
</body>
</html>