デモ1(単純なアニメーション)

基本となるアニメーションです
※それぞれ1回しかアニメーションされません。(移動(+=指定)を除く)
ボタンを押したときに処理は実行はされているのですが、移動しきった後に初期値の設定をしていないためです。

移動(left値)

top,right,bottom,leftで指定すると指定した要素がその値まで移動します。

TweenMax.to('#demo1Anim', 1, {left: '200px'});

移動(x値)

x値で指定すると、transformを用いて移動します。おそらくこちらのほうが速いです。

TweenMax.to('#demo1-2Anim', 1, {x: 200});

移動(+=指定)

値を+=で指定すると現在地かその値分移動します。jqueryと同じですね。

TweenMax.to('#demo1-3Anim', 1, {left: '+=50px'});

背景色の変更

背景色も変更できます。
background、background-colorなどの指定では動かないので注意が必要です。
background-colorに関してはjs内で使うと-が式として扱われてしまうためエラーになります。このような場合は、-を省略して次につづく文字を大文字にするといいです。
例)margin-left → marginLeft

TweenMax.to('#demo1-4Anim', 1, {
	left: '200px',
	backgroundColor: '#00ff00'
});

透明度の変更

透明度も変更できます。

TweenMax.to('#demo1-5Anim', 1, {
	left: '200px',
	opacity: '0.3'
});

回転だって簡単

回転だって超楽ちんです。※ただし、回転はIE8だとうまくいかないです。あきらめましょう。
このほかにも数字で指定されているものであれば、大抵アニメーションできるので試してみてください。

TweenMax.to('#demo1-6Anim', 1, {
	left: '200px',
	rotation: 180
});

沢山の指定するとき

あれもやりたい、これもやりたいと、たくさんの指定を行う時は、css:{}を使用してCSS系の記述を明示的にまとめると、分かりやすくなると思います。

TweenMax.to('#demo1-7Anim', 1, {
	css: {
		left: '200px',
		backgroundColor: '#0000ff',
		opacity: 0.3,
		rotation: 360
	}
});

デモ2(アニメーションを止める)

pauseでアニメーションを停止、playで停止したアニメーションを動かすことができます。
pauseもplayも、変数に格納したTweenMaxオブジェクトに対して行います。
※それぞれ1回しかアニメーションされません。
ボタンを押したときに処理は実行はされているのですが、移動しきった後に初期値の設定をしていないためです。

その場で停止

pause()を使用するとアニメーションがその場で停止します。

var anim;
$('実行ボタンセレクタ').on('click', function(){
	//if(anim)とやらないと、animにTweenmaxオブジェクトが格納されてない状態だとエラーになってしまうので注意
	if(anim){
		//Tweenmaxオブジェクトが格納されたanim変数にplayを指定する
		anim.play();
	} else{
		//anim変数にTweenmaxオブジェクトを格納。
		anim = TweenMax.to('#demo2Anim', 2, {
			left: 400
		});
	}
});
$('停止ボタンセレクタ').on('click', function(){
	//if(anim)とやらないと、animにTweenmaxオブジェクトが格納されてない状態だとエラーになってしまうので注意
	if(anim){
		//Tweenmaxオブジェクトが格納されたanim変数にpauseを指定する
		anim.pause();
	}
});

指定箇所に停止

pause(数値)と()内に数値を指定すると、指定した数値箇所に停止します。
数値はtoの第二引数に指定した秒数を最終位置として計算されます。
例だと2が最終位置なので、1秒後の位置に停止したいのであれば1、最終位置に指定したければ2を指定します。
ちなみに、play()にも数値を指定することができます。指定すると、指定秒目からアニメーションが実行されます。

var anim;
$('実行ボタンセレクタ').on('click', function(){
	if(anim){
		anim.play();
	} else{
		anim = TweenMax.to('#demo2-2Anim', 2, {
			left: 400
		});
	}
});
$('1秒後に停止ボタンセレクタ').on('click', function(){
	if(anim){
		//()内に数値を指定する。下記だと1秒地点に停止する。
		anim.pause(1);
	}
});
$('最終位置に停止ボタンセレクタ').on('click', function(){
	if(anim){
		//TweenMaxオブジェクトで定義した秒数を指定すると最終位置に停止する
		anim.pause(2);
	}
});

デモ3(アニメーションを何度も実行する)

startAtを使う

startAtでアニメーションの開始位置を定義すると、アニメーションが終わっていても再実行することが可能です。

TweenMax.to('#demo3Anim', 1, {
	left: '200px',
	startAt : {left: 0}
});

play(0)を使う

デモ2で使用したplayを応用して行うことも可能です。
play(0)とすると、0秒目の位置からアニメーションをすることになるので、アニメーションを何度も実行することが可能です。

var anim;
//if(anim)とやらないと、animにTweenmaxオブジェクトが格納されてない状態だとエラーになってしまうので注意
if(anim){
	//Tweenmaxオブジェクトが格納されたanim変数にplay(0)を指定する
	anim.play(0);
} else{
	//anim変数にTweenmaxオブジェクトを格納。
	anim = TweenMax.to('#demo3-2Anim', 1, {
		left: '200px'
	});
}

restart()を使う

restart()を使用して行うことも可能です。
play(0)とのに違いは、TweenMaxオブジェクトにdelay(遅延)の指定がしてある場合、restart(true)とすると再実行の際もdelayが効くようになります。
もう一つ使い方ありますが、ちょっと省きますね。。。
delayの説明はデモ5で・・・

var anim;
if(anim){
	anim.restart();
} else{
	anim = TweenMax.to('#demo3-3Anim', 1, {
		left: '200px'
	});
}

デモ4(アニメーションの繰り返し)

repeatを指定するとアニメーションを繰り返します

回数を指定して繰り返し

回数を指定することにより、指定した回数分繰り返されます。
繰り返しの回数なので、3と指定すると3回繰り返され、アニメーションは4回実行されます。

TweenMax.to('#demo4Anim', 1, {
	left: '200px',
	repeat: 3
});

エンドレスで繰り返し

回数に-1を指定すると、無限に繰り返されます。

TweenMax.to('#demo4-2Anim', 1, {
	left: '200px',
	repeat: -1
});

行って帰ってくる繰り返し

repeatと共にyoyoにtrueを指定すると、行って帰ってくるアニメーションになります。
返ってくる動作でも繰り返し回数がカウントされます。
yoyoをtrueにしても、repeatが指定されていなければ動かないので注意が必要です。

TweenMax.to('#demo4-3Anim', 1, {
	left: '200px',
	repeat: 5,
	yoyo: true
});

repeat、yoyoはTweenMaxオブジェクトのメソッドで設定する事も可能です。
外から色々できるってのはポイント高いですね。

//anim変数にTweenmaxオブジェクトを格納。
var anim = TweenMax.to('#demo4-3Anim', 1, {
	left: '200px'
});
//repeatとyoyoをセット
anim.repeat(5);
anim.yoyo(true);

アニメーションの遅延

delayを指定すると、指定秒数アニメーションの実行が遅延します。

TweenMax.to('#demo5Anim', 1, {
	left: '200px',
	//0.5秒アニメーションの実行を遅延させる
	delay: 0.5
});

delayはTweenMaxオブジェクトのメソッドで設定する事も可能です。

var anim = TweenMax.to('#demo5-2Anim', 1, {left: '200px'});
anim.delay(0.5);

アニメーションのイージング

easeを指定すると、アニメーションのイージング具合を指定できます。
デフォルトはQuad.easeOutになってるらしいです。

イージングは種類が多すぎてとてもじゃないですが紹介できないので、オフィシャルを見てくださいませ。

TweemMax Easing

TweenMax.to('#demo6Anim', 2, {
	left: 400,
	ease: Bounce.easeInOut
});

アニメーション時の各種コールバック

TweenMaxにはアニメーション実行時の様々なタイミングでのコールバックが用意されています。素敵ですね。
使用頻度が高そうなものだけ紹介しておきますね。

onComplete

onComplete:function(){処理}の指定で、アニメーションが完了したタイミングで処理が実行されます。

TweenMax.to('#demo7Anim', 1, {
	left: '200px',
	onComplete: function(){
		alert('アニメーション終わり!');
	}
});

デモ3のpauseを使用すれば、アニメーションが終了したタイミングで、初期位置に戻すことも可能です。

TweenMax.to('#demo7-1-1Anim', 1, {
	left: '200px',
	onComplete: function(){
		alert('アニメーション終わり!');
		this.pause(0); //ここのthisはこのTweenmaxオブジェクトをさします。
	}
});

functionは外に定義して呼び出すことも可能です

//functionを外におくため、anim変数にTweenMaxオブジェクトを格納する必要がある
var anim = TweenMax.to('#demo7-1-3Anim', 1, {
	left: '200px',
	onComplete: func7_1_3
});
function func7_1_3(){
	alert('アニメーション終わり!');
	//外に出したため、thisだと無理です。
	anim.pause(0);
}

onStart

onStart:function(){処理}の指定で、アニメーションが開始したタイミングで処理が実行されます。

TweenMax.to('#demo7-2Anim', 1, {
	left: '200px',
	onStart: function(){
		alert('アニメーション開始!');
	}
});

onUpdate

onUpdate:function(){処理}の指定で、アニメーションが実行される間中、処理が実行されます。

TweenMax.to('#demo7-3Anim', 2, {
	left: '200px',
	onUpdate : function(){
		console.log('hoge');
	}
});

progress()で変化値を取得(アニメーション開始時が0で終了時が1)できるので、合わせ技で現在のleft値を算出もできます。
※$('#demo7-3-2Anim').css('left')でも取得できますが、まぁprogressってのを紹介しておきたかっただけです・・・・

TweenMax.to('#demo7-3-2Anim', 2, {
	left: '200px',
	onUpdate : function(){
		var progress = this.progress();
		progress = Math.ceil(progress * 200);
		$('#demo7-3-2Txt').text('現在のleft値は' + progress + 'です')
	}
});

オブジェクトの値の監視にも使えます。その場合onUpdateParamsを使用して、以下のように書きます。

//TweenMaxで監視するオブジェクト
var obj = {value: 100};

var anim = TweenMax.to(obj, 2, {
	value: 500,
	onUpdate : function(tw){
		//onUpdateに渡ってくる引数のtargetにオブジェクトが渡されてきます。
		var value = tw.target.value;
		$('#demo7-3-3Txt').text('{value:' + value + '}');
	},
	//onUpdateParamsには['{self}']を指定します。
	onUpdateParams: ['{self}']
});

onRepeat

onRepeat:function(){処理}の指定で、リピートされた時に処理が実行されます。

var count = 1;
TweenMax.to('#demo7-4Anim', 2, {
	left: '200px',
	repeat: 10,
	yoyo: true,
	onRepeat : function(){
		$('#demo7-4Txt').text('リピート' + count + '回目');
		count++;
	}
});

複数の要素を時間差でアニメーション

TweenMax.staggerToを使うと、配列で渡された複数の要素に対して、時間差でアニメーションをさせることができます。
書き方はtoとほぼ一緒で、最後に一つ値を追加するだけです。その値がアニメーションをさせる時間差の数値になります。

//複数回さないと意味ないのでclassで指定します
TweenMax.staggerTo('.demo8Anim', 1,
	{
		top: '50px',
		opacity: 0
	},
	//↑まではtoと同じ記法で、↓にアニメーションの時間差を指定します。
	0.2
);

指定のしかたはtoと同じなので、repeat等も問題なく使えます。

TweenMax.staggerTo('.demo8-2Anim', 1,
	{
		top: '50px',
		opacity: 0,
		repeat: -1,
		yoyo: true,
	},
	0.2
);

アニメーションの連結

アニメーションの連結にはTimelineMaxを使用します。
TimelineMaxはnew TimelineMax() で呼び出します。
あとはそれにたいしてtoでつなげていくと、順番にアニメーションが実行されます。toの使い方は替わりません。

//TimelineMaxの呼び出し
var timeLine = new TimelineMax();

//アニメーションさせるアイテム
var elm = $('#demo9Anim');

//toを一行で書くと可読性が落ちるため、以下のように一つのtoごとでの改行がおすすめです
timeLine.to(elm, 1, {left: '200px'})
	.to(elm, 1, {top: '210px'})
	.to(elm, 1, {left: '10px'})
	.to(elm, 1, {top: '10px'});

TimelineMaxオブジェクトを変数に格納して、addを使用して、アニメーションを追加することも可能です。
なかなか便利ですね。

var timeLine = new TimelineMax();
var elm = $('#demo9-2Anim');
var tl = timeLine.to(elm, 1, {left: '200px'});

//アニメーションの追加
tl.add(TweenMax.to(elm, 1, {top: '210px'}));
tl.add(TweenMax.to(elm, 1, {left: '10px'}));
tl.add(TweenMax.to(elm, 1, {top: '10px'}));

new TimelineMaxを呼び出す時に、repeatの指定をすると、一連のアニメーションがrepeatされます。
repeat以外にも、デモ1~7で紹介している他の機能も大体使えます。
指定の仕方も変わりませんので、例えば下の例でいくと、timeLine.repeat(1)といった書き方もできます。

//ここのタイミングでrepeatを指定。
var timeLine = new TimelineMax({repeat:1});
var elm = $('#demo9-3Anim');
var tl = timeLine.to(elm, 1, {left: '200px'});
tl.add(TweenMax.to(elm, 1, {top: '210px'}));
tl.add(TweenMax.to(elm, 1, {left: '10px'}));
tl.add(TweenMax.to(elm, 1, {top: '10px'}));