<!DOCTYPE html> <html> <head> <title>Animate</title> <script src="../dev-lib/sea.js"></script> <script> seajs.config({ base: '../src' }); define('start', function (require) { var Paper = require('graphic/paper'); var Group = require('graphic/group'); var Path = require('graphic/path'); var Color = require('graphic/color'); var Text = require('graphic/text'); var Draggable = require('../demo/public/draggable'); var Animator = require('animate/animator'); var Matrix = require('graphic/matrix'); var Circle = require('graphic/circle'); var Rect = require('graphic/rect'); var Use = require('graphic/use'); require('animate/translateanimator'); require('animate/rotateanimator'); require('animate/scaleanimator'); require('animate/opacityanimator'); require('core/class').extendClass(Paper, Draggable); var paper = new Paper(document.body); paper.setViewBox(0, 0, 1200, 600).drag(); var bounce = new Animator(0, 400, function(target, y, timeline) { target.translate(0, timeline.getDelta()); }); var colorChanger = new Animator({ beginValue: function(target) { return target.color; }, finishValue: function(target) { return target.color.inc('h', 90) }, setter: function(target, color) { target.fill(color); } }); function atternuate(e) { //e.target.scale(0.6 + Math.random() * 0.6, e.target.getCenterX(), e.target.getCenterY()); } //paper.addResource(rect); for(var i = 0; i < 200; i++) { var color = Color.createHSL(i * 30 % 360, 80, 50); var copy = new Rect(5, 20, 0, 10).translate( i * 5, 0 ); copy.color = color; copy.fill(color); paper.addShape(copy); bounce.start(copy, 500, 'easeInQuad', Math.random() * 5000).repeat(true, true).on('rollback', atternuate); colorChanger.start(copy, 500, 'linear').repeat(true, true); copy.fxTranslate(0, 300, '1s', 'easeInQuad', Math.random() * 5000); copy.fxTranslate(100, -100, '0.1s', 'easeOutQuad'); copy.fxRotate(1080, '2s', 'linear', 500); copy.fxScale(.5, .5, '0.8s', 'easeInElastic'); copy.fxTranslate(100, -200, '0.8s', 'easeOutElastic'); copy.fadeOut(300).fadeIn(1000).fadeTo(.5, 100); } }); seajs.use('start'); </script> </head> <body> </body> </html>