Permalink
Browse files

part 4 complete

  • Loading branch information...
1 parent 9028504 commit 0324a14e50b3c40c9dded0d3a465576e31574599 @presstube committed Nov 18, 2012
Showing with 28 additions and 4 deletions.
  1. +27 −4 index.html
  2. BIN nounPuffAnim.fla
  3. +1 −0 nounPuffAnim.json
  4. BIN nounPuffAnim.png
  5. BIN nounPuffAnim.swf
View
@@ -13,6 +13,7 @@
<canvas id="canvas"></canvas>
<script type="text/javascript" src="http://code.createjs.com/easeljs-0.5.0.min.js"></script>
<script type="text/javascript" src="http://code.createjs.com/tweenjs-0.3.0.min.js"></script>
+<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.2/underscore-min.js"></script>
<script type="text/javascript">
var c = createjs,
@@ -41,40 +42,51 @@
noun.y = Math.random()*200 - Math.random()*200;
noun.rotation = Math.random()*30 - Math.random()*30;
centeredContainer.addChild(noun);
+ // wait 2 seconds, then dematerialize noun
+ _.delay(function() {
+ noun.dematerialize();
+ }, 2000);
}
function onPress() {
spawnNoun();
}
+ function onTick() {
+ if (Math.random() < .05) {
+ spawnNoun();
+ }
+ }
+
resize();
window.onresize = resize;
c.Ticker.setFPS(30);
c.Ticker.addListener(stage);
stage.addChild(bgRect);
stage.addChild(centeredContainer);
bgRect.onPress = onPress;
+ stage.onTick = onTick;
}
pt.Noun = function() { this.initialize(); };
p = pt.Noun.prototype = new c.Container;
p.Container_initialize = p.initialize;
- pt.Noun.libraryAnimSpriteSheet = new c.SpriteSheet({"animations": {"all": [0, 2]}, "images": ["nounLibraryAnim.png"], "frames": {"regY": 42, "height": 90, "regX": 22, "width": 42, "count": 3}});
p.initialize = function() {
this.Container_initialize();
var noun = this,
- libraryAnim = new c.BitmapAnimation(pt.Noun.libraryAnimSpriteSheet);
+ libraryAnim = new c.BitmapAnimation(pt.Noun.libraryAnimSpriteSheet),
+ puffAnim = new c.BitmapAnimation(pt.Noun.puffAnimSpriteSheet);
function materialize() {
- c.Tween.get(libraryAnim).to({scaleX: 1, scaleY: 1}, 1000, c.Ease.quintOut);
+ c.Tween.get(libraryAnim, {onChange: matchPuffFrameToLibraryScale}).to({scaleX: 1, scaleY: 1}, 800, c.Ease.quintIn);
}
function dematerialize() {
- c.Tween.get(libraryAnim).to({scaleX: 0, scaleY: 0}, 1000, c.Ease.quintOut).call(onDematerializeComplete);
+ c.Tween.get(libraryAnim, {onChange: matchPuffFrameToLibraryScale}).to({scaleX: 0, scaleY: 0}, 800, c.Ease.quintOut).call(onDematerializeComplete);
}
function onDematerializeComplete() {
@@ -85,13 +97,24 @@
dematerialize();
}
+ function matchPuffFrameToLibraryScale() {
+ var frame = Math.floor(puffAnim.spriteSheet.getNumFrames() * libraryAnim.scaleX);
+ puffAnim.gotoAndStop(frame);
+ }
+
libraryAnim.scaleX = libraryAnim.scaleY = 0;
noun.addChild(libraryAnim);
libraryAnim.gotoAndStop(Math.floor(Math.random() * libraryAnim.spriteSheet.getNumFrames()));
materialize();
noun.onPress = onPress;
+ noun.addChild(puffAnim);
+ noun.dematerialize = dematerialize;
+
}
+ pt.Noun.libraryAnimSpriteSheet = new c.SpriteSheet({"animations": {"all": [0, 2]}, "images": ["nounLibraryAnim.png"], "frames": {"regY": 42, "height": 90, "regX": 22, "width": 42, "count": 3}});
+
+ pt.Noun.puffAnimSpriteSheet = new c.SpriteSheet({"frames": {"height": 103, "count": 14, "regY": 50, "width": 99, "regX": 50}, "animations": {"all": [0, 13]}, "images": ["nounPuffAnim.png"]});
View
Binary file not shown.
View
@@ -0,0 +1 @@
+{"frames": {"height": 103, "count": 14, "regY": 50, "width": 99, "regX": 50}, "animations": {"all": [0, 13]}, "images": ["nounPuffAnim.png"]}
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Binary file not shown.

0 comments on commit 0324a14

Please sign in to comment.