├── Bubblecano ├── README.md ├── README_1.jpg ├── game2.fla ├── game2.html ├── game2.js ├── index.html ├── js │ ├── Collision.js │ └── Rnd.js └── sounds │ ├── BubblecanIntro_01.mp3 │ ├── BubblecanoLoop.mp3 │ ├── BubblecanoTheme_01.mp3 │ ├── Bubbled_01.mp3 │ ├── DyingWithSizzle.mp3 │ ├── Erupt_Explode_OneShot.mp3 │ ├── Lose_03.mp3 │ ├── Pop_01.mp3 │ ├── Score_01.mp3 │ ├── Shoot_01.mp3 │ └── bubblepop.mp3 ├── LICENSE ├── README.md └── TrashDash ├── AnimateGame.fla ├── AnimateGame.html ├── AnimateGame.js ├── README.md ├── README_1.jpg ├── index.html ├── js ├── Rnd.js ├── createjs-2015.05.21.combined.js └── movieclip-0.8.1.min.js └── sounds ├── crunch.mp3 ├── demosong.mp3 ├── jump.mp3 ├── splat.mp3 └── woosh.mp3 /Bubblecano/README.md: -------------------------------------------------------------------------------- 1 | # Bubblecano 2 | Mini game with visual assets created in Adobe Animate CC by [@gskinner](https://twitter.com/gskinner) and [@mike_gaboury](https://twitter.com/mike_gaboury) in 6 hours for the [Adobe Creative Twitch stream](http://www.twitch.tv/adobe). 3 | 4 | All assets except the sounds are licensed under MIT. Audio by [@beatlejase](https://twitter.com/beatlejase/) 5 | 6 | The game is hosted here: 7 | http://gskinner.com/playpen/AdobeAnimateDemo/bubblecano/index.html 8 | 9 | ![ScreenShot](https://raw.githubusercontent.com/CreateJS/AdobeAnimateDemo/master/Bubblecano/README_1.jpg) 10 | 11 | Stream recordings (these will expire after 60 days): 12 | * [day 1](http://www.twitch.tv/adobe/v/42789933?t=03h03m37s) 13 | * [day 2](http://www.twitch.tv/adobe/v/43264835) 14 | * [day 3](http://www.twitch.tv/adobe/v/43561636) -------------------------------------------------------------------------------- /Bubblecano/README_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CreateJS/AdobeAnimateDemo/8cd0ed296295f332415f9bf71776a1446315d25d/Bubblecano/README_1.jpg -------------------------------------------------------------------------------- /Bubblecano/game2.fla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CreateJS/AdobeAnimateDemo/8cd0ed296295f332415f9bf71776a1446315d25d/Bubblecano/game2.fla -------------------------------------------------------------------------------- /Bubblecano/game2.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | 11 | 12 | game2 13 | 14 | 15 | 16 | 17 | 18 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /Bubblecano/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Bubblecano! 6 | 7 | 8 | 9 | 10 | 11 | 12 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | -------------------------------------------------------------------------------- /Bubblecano/js/Collision.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | var Collision = function() {}; 3 | 4 | Collision.test = function(o, group2, remove) { 5 | var ox= o.x, oy= o.y, or= o.radius, dx=0.1, dy=0.1, o2; 6 | 7 | for (var i=group2.length-1; i>=0; i--) { 8 | o2 = group2[i]; 9 | dx = ox-o2.x; 10 | dy = oy-o2.y; 11 | if (Math.sqrt(dx*dx+dy*dy) < or+o2.radius) { 12 | if (remove) { group2.splice(i, 1); } 13 | return o2; 14 | } 15 | } 16 | return null; 17 | } 18 | 19 | window.Collision = Collision; 20 | })(); -------------------------------------------------------------------------------- /Bubblecano/js/Rnd.js: -------------------------------------------------------------------------------- 1 | /* * Rnd (JS) by Grant Skinner. June 18, 2011 * based on Rnd (AS3) by Grant Skinner. Dec 5, 2008 * Visit http://github.com/gskinner for documentation, updates and examples. * * * Copyright (c) 2011 Grant Skinner * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, * copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following * conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. */ (function(window) { // Rnd is not a constructor. function Rnd(min,max) { if (isNaN(max)) { max = min; min=0; } if (isNaN(max)) { max = 1; } return Rnd.random()*(max-min)+min; }; // public static methods: // random(); // returns a number between 0-1 exclusive. Rnd.random = function() { return Math.random(); }; // float(50); // returns a number between 0-50 exclusive // float(20,50); // returns a number between 20-50 exclusive Rnd.float = Rnd; // boolean(); // returns true or false (50% chance of true) // boolean(0.8); // returns true or false (80% chance of true) Rnd.boolean = function(chance) { if (isNaN(chance)) { chance = 0.5; } return (Rnd.random() < chance); } // sign(); // returns 1 or -1 (50% chance of 1) // sign(0.8); // returns 1 or -1 (80% chance of 1) Rnd.sign = function(chance) { if (isNaN(chance)) { chance = 0.5; } return (Rnd.random() < chance) ? 1 : -1; } // bit(); // returns 1 or 0 (50% chance of 1) // bit(0.8); // returns 1 or 0 (80% chance of 1) Rnd.bit = function(chance) { if (isNaN(chance)) { chance = 0.5; } return (Rnd.random() < chance) ? 1 : 0; } // integer(50); // returns an integer between 0-49 inclusive // integer(20,50); // returns an integer between 20-49 inclusive Rnd.integer = function(min,max) { if (isNaN(max)) { max = min; min=0; } // Need to use floor instead of bit shift to work properly with negative values: return Math.floor(Rnd.float(min,max)); } // shuffle(arr); // shuffles the items in the specified array. Modifies the original array. // arr2 = Rnd.shuffle(arr1.slice()); // to get a new shuffled array w/o modifying original. // no allocations or array resizing. Rnd.shuffle = function(array) { var l = array.length; for (var i=0; i 2 | 3 | 4 | 5 | AnimateGame 6 | 7 | 8 | 9 | 10 | 11 | 12 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /TrashDash/README.md: -------------------------------------------------------------------------------- 1 | # TrashDash 2 | Mini game with visual assets created in Adobe Animate CC by [@gskinner](https://twitter.com/gskinner) and [@mike_gaboury](https://twitter.com/mike_gaboury) in 6 hours for the [Adobe Creative Twitch stream](http://www.twitch.tv/adobe). 3 | 4 | All assets except the sounds are licensed under MIT. Sounds are from: 5 | https://freesound.org/ 6 | 7 | The game is hosted here: 8 | http://gskinner.com/playpen/AdobeAnimateDemo/trashdash/index.html 9 | 10 | Unfortunately, the recordings of the stream have expired. 11 | 12 | ![ScreenShot](https://raw.githubusercontent.com/CreateJS/AdobeAnimateDemo/master/TrashDash/README_1.jpg) -------------------------------------------------------------------------------- /TrashDash/README_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CreateJS/AdobeAnimateDemo/8cd0ed296295f332415f9bf71776a1446315d25d/TrashDash/README_1.jpg -------------------------------------------------------------------------------- /TrashDash/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Trash Dash!! 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 301 | 302 | 303 | 304 | 305 | 306 | -------------------------------------------------------------------------------- /TrashDash/js/Rnd.js: -------------------------------------------------------------------------------- 1 | /* * Rnd (JS) by Grant Skinner. June 18, 2011 * based on Rnd (AS3) by Grant Skinner. Dec 5, 2008 * Visit http://github.com/gskinner for documentation, updates and examples. * * * Copyright (c) 2011 Grant Skinner * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, * copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following * conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. */ (function(window) { // Rnd is not a constructor. function Rnd(min,max) { if (isNaN(max)) { max = min; min=0; } if (isNaN(max)) { max = 1; } return Rnd.random()*(max-min)+min; }; // public static methods: // random(); // returns a number between 0-1 exclusive. Rnd.random = function() { return Math.random(); }; // float(50); // returns a number between 0-50 exclusive // float(20,50); // returns a number between 20-50 exclusive Rnd.float = Rnd; // boolean(); // returns true or false (50% chance of true) // boolean(0.8); // returns true or false (80% chance of true) Rnd.boolean = function(chance) { if (isNaN(chance)) { chance = 0.5; } return (Rnd.random() < chance); } // sign(); // returns 1 or -1 (50% chance of 1) // sign(0.8); // returns 1 or -1 (80% chance of 1) Rnd.sign = function(chance) { if (isNaN(chance)) { chance = 0.5; } return (Rnd.random() < chance) ? 1 : -1; } // bit(); // returns 1 or 0 (50% chance of 1) // bit(0.8); // returns 1 or 0 (80% chance of 1) Rnd.bit = function(chance) { if (isNaN(chance)) { chance = 0.5; } return (Rnd.random() < chance) ? 1 : 0; } // integer(50); // returns an integer between 0-49 inclusive // integer(20,50); // returns an integer between 20-49 inclusive Rnd.integer = function(min,max) { if (isNaN(max)) { max = min; min=0; } // Need to use floor instead of bit shift to work properly with negative values: return Math.floor(Rnd.float(min,max)); } // shuffle(arr); // shuffles the items in the specified array. Modifies the original array. // arr2 = Rnd.shuffle(arr1.slice()); // to get a new shuffled array w/o modifying original. // no allocations or array resizing. Rnd.shuffle = function(array) { var l = array.length; for (var i=0; i0&&0!=this.scaleX&&0!=this.scaleY)},c.draw=function(a,b){return this.DisplayObject_draw(a,b)?!0:(this._updateTimeline(),this.Container_draw(a,b),!0)},c.play=function(){this.paused=!1},c.stop=function(){this.paused=!0},c.gotoAndPlay=function(a){this.paused=!1,this._goto(a)},c.gotoAndStop=function(a){this.paused=!0,this._goto(a)},c.advance=function(b){var c=a.INDEPENDENT;if(this.mode==c){for(var d=this,e=d.framerate;(d=d.parent)&&null==e;)d.mode==c&&(e=d._framerate);this._framerate=e;var f=null!=e&&-1!=e&&null!=b?b/(1e3/e)+this._t:1,g=0|f;for(this._t=f-g;!this.paused&&g--;)this._prevPosition=this._prevPos<0?0:this._prevPosition+1,this._updateTimeline()}},c.clone=function(){throw"MovieClip cannot be cloned."},c.toString=function(){return"[MovieClip (name="+this.name+")]"},c._tick=function(a){this.advance(a&&a.delta),this.Container__tick(a)},c._goto=function(a){var b=this.timeline.resolve(a);null!=b&&(-1==this._prevPos&&(this._prevPos=0/0),this._prevPosition=b,this._t=0,this._updateTimeline())},c._reset=function(){this._prevPos=-1,this._t=this.currentFrame=0,this.paused=!1},c._updateTimeline=function(){var b=this.timeline,c=this.mode!=a.INDEPENDENT;b.loop=null==this.loop?!0:this.loop;var d=c?this.startPosition+(this.mode==a.SINGLE_FRAME?0:this._synchOffset):this._prevPos<0?0:this._prevPosition,e=c||!this.actionsEnabled?createjs.Tween.NONE:null;if(this.currentFrame=b._calcPosition(d),b.setPosition(d,e),this._prevPosition=b._prevPosition,this._prevPos!=b._prevPos){this.currentFrame=this._prevPos=b._prevPos;for(var f in this._managed)this._managed[f]=1;for(var g=b._tweens,h=0,i=g.length;i>h;h++){var j=g[h],k=j._target;if(k!=this&&!j.passive){var l=j._stepPosition;k instanceof createjs.DisplayObject?this._addManagedChild(k,l):this._setState(k.state,l)}}var m=this.children;for(h=m.length-1;h>=0;h--){var n=m[h].id;1==this._managed[n]&&(this.removeChildAt(h),delete this._managed[n])}}},c._setState=function(a,b){if(a)for(var c=a.length-1;c>=0;c--){var d=a[c],e=d.t,f=d.p;for(var g in f)e[g]=f[g];this._addManagedChild(e,b)}},c._addManagedChild=function(b,c){b._off||(this.addChildAt(b,0),b instanceof a&&(b._synchOffset=c,b.mode==a.INDEPENDENT&&b.autoReset&&!this._managed[b.id]&&b._reset()),this._managed[b.id]=2)},c._getBounds=function(a,b){var c=this.DisplayObject_getBounds();return c||(this._updateTimeline(),this.frameBounds&&(c=this._rectangle.copy(this.frameBounds[this.currentFrame]))),c?this._transformBounds(c,a,b):this.Container__getBounds(a,b)},createjs.MovieClip=createjs.promote(a,"Container"),b.priority=100,b.install=function(){createjs.Tween.installPlugin(b,["startPosition"])},b.init=function(a,b,c){return c},b.step=function(){},b.tween=function(b,c,d,e,f,g){return b.target instanceof a?1==g?f[c]:e[c]:d}}(),this.createjs=this.createjs||{},function(){"use strict";var a=createjs.MovieClip=createjs.MovieClip||{};a.version="0.8.1",a.buildDate="Thu, 21 May 2015 16:17:39 GMT"}(); -------------------------------------------------------------------------------- /TrashDash/sounds/crunch.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CreateJS/AdobeAnimateDemo/8cd0ed296295f332415f9bf71776a1446315d25d/TrashDash/sounds/crunch.mp3 -------------------------------------------------------------------------------- /TrashDash/sounds/demosong.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CreateJS/AdobeAnimateDemo/8cd0ed296295f332415f9bf71776a1446315d25d/TrashDash/sounds/demosong.mp3 -------------------------------------------------------------------------------- /TrashDash/sounds/jump.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CreateJS/AdobeAnimateDemo/8cd0ed296295f332415f9bf71776a1446315d25d/TrashDash/sounds/jump.mp3 -------------------------------------------------------------------------------- /TrashDash/sounds/splat.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CreateJS/AdobeAnimateDemo/8cd0ed296295f332415f9bf71776a1446315d25d/TrashDash/sounds/splat.mp3 -------------------------------------------------------------------------------- /TrashDash/sounds/woosh.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CreateJS/AdobeAnimateDemo/8cd0ed296295f332415f9bf71776a1446315d25d/TrashDash/sounds/woosh.mp3 --------------------------------------------------------------------------------