====== Tutorials & Code Snippets ====== This section contains extensive tutorials that help you to get started on different topics of game development with Starling. Feel free to add your own tutorials to this list, and to add links to external resources! ===== Video Tutorials ===== === Building Flash Games with Starling === Join //Lee Brimelow// in this project-style course (total length: three hours!) that teaches you how to build a complete shoot-em-up game with Starling! Find the course on lynda.com: [[http://www.lynda.com/ActionScript-tutorials/Building-Flash-Games-Starling/98951-2.html|Building Flash Games with Starling]] Topics include: {{ :tutorials:building-flash-games-with-starling.png?220&nolink|}} * Downloading and installing Starling and Flash Builder * Creating the project * Creating the main game class, static assets, and other classes * Building the state machine * Creating a static assets class * Adding images * Creating sprite sheets with Texture Packer * Creating and importing bitmap fonts * Detecting collisions * Adding particle effects * Adding sound effects === Starting with Starling === Watch over the shoulders of //Hemanth Sharma// while he is developing the game [[http://www.hungryherogame.com/|Hungry Hero]] from scratch in this extensive series of [[http://tv.adobe.com/show/starting-with-starling/|video tutorials]]! //Hint: the game is now even available [[https://github.com/hsharma/Hungry-Hero|on GitHub]].// {{ :tutorials:hungry-hero.png?220&nolink|}} * [[http://www.hsharma.com/tutorials/starting-with-starling-ep-1-intro-setup/|Episode 1: Introduction & Setup]] * [[http://www.hsharma.com/tutorials/starting-with-starling-ep-2-welcome-screen/|Episode 2: Welcome Screen]] * [[http://www.hsharma.com/tutorials/starting-with-starling-ep-3-sprite-sheets/|Episode 3: Sprite Sheets]] * [[http://www.hsharma.com/tutorials/starting-with-starling-ep-4-navigation/|Episode 4: Navigation]] * [[http://www.hsharma.com/tutorials/starting-with-starling-ep-5-parallax-background/|Episode 5: Parallax Background]] * [[http://www.hsharma.com/tutorials/starting-with-starling-ep-6-hero-flies-in/|Episode 6: Hero flies in]] * [[http://www.hsharma.com/tutorials/starting-with-starling-ep-7-obstacles/|Episode 7: Obstacles]] * [[http://www.hsharma.com/tutorials/starting-with-starling-ep-8-collision-detection/|Episode 8: Collision Detection]] * [[http://www.hsharma.com/tutorials/starting-with-starling-ep-9-items/|Episode 9: Items]] * [[http://www.hsharma.com/tutorials/starting-with-starling-ep-10-text-and-fonts/|Episode 10: Text and Fonts]] * [[http://www.hsharma.com/tutorials/starting-with-starling-ep-11-particles/|Episode 11: Particles]] === Building a Mobile App with Feathers and Starling === In this course, author Joseph Labrecque shows you how to use Starling and Feathers to create a fully functional drawing app, suitable for both desktop and mobile. Find the course on [[http://www.lynda.com/Feathers-tutorials/Building-Mobile-App-Feathers-Starling/140375-2.html|lynda.com]]. Topics include: * Downloading the frameworks and the AIR SDK * Configuring the project * Implementing a theme * Creating the screen classes * Adding a navbar component * Building the classes * Returning saved files * Publishing a project * Installing and running the app === More === * Other video tutorials from Lee Brimelow: * [[http://www.gotoandlearn.com/play.php?id=157|Starling Physics using Nape]] * [[http://www.gotoandlearn.com/play.php?id=147|Introducing the Starling Framework]] * [[http://www.gotoandlearn.com/play.php?id=173|Introduction to Feathers]] ===== Written Tutorials ===== === Getting Started == * [[http://www.adobe.com/devnet/flashplayer/articles/introducing_Starling.html|Introducing Starling]] --- a short overview of Starling and its architecture, written by Thibault Imbert. * [[http://gamedev.tutsplus.com/articles/how-to-learn/how-to-learn-starling-framework/|How to learn Starling Framework]] --- an extensive overview of all the resources and concepts you need to successfully master Starling. Written by [[http://www.hsharma.com/|Hemanth Sharma]], who also created the great "Hungry Hero" tutorial above. * [[http://www.codeandweb.com/blog/2014/01/13/getting-started-with-starling-a-flash-game-development-framework|Getting Started with Starling]], including descriptions about how to set up [[http://www.flashdevelop.org/|FlashDevelop]] and [[https://www.codeandweb.com/texturepacker/starling?source=gamua|TexturePacker]]. === Display Objects === * [[Flipping an object]] * [[Modifying the Color of an Image]] * [[Modifying the Color of an Image (Advanced)]] * [[Creating Color Gradients]] * [[http://www.codeandweb.com/blog/2014/01/13/getting-started-with-starling-a-flash-game-development-framework|Creating and controlling a MovieClip]] --- Set up your first game project with Starling, FlashDevelop and TexturePacker, written by Francesco Maisto. === Custom Display Objects === * [[http://gamedev.tutsplus.com/tutorials/implementation/create-a-glowing-flowing-lava-river-using-bezier-curves-and-shaders/|Create a Glowing, Flowing Lava River Using Bézier Curves and Shaders]] * [[http://northwaygames.com/?p=2228#comment-6672|Drawing a Trapezoid with Stage3d]] * [[http://www.emanueleferonato.com/2013/09/30/string-avoider-starling-prototype-using-starling-extension-graphics-library-and-flash-drawing-api-methods/|Prototype using the Graphics Extension and Flash Graphics API]] by Emanuele Feronato * A series of articles about AGAL shaders by Denis Golovkin: [[http://c0de.pro/en/|English]] / [[http://c0de.pro/ru/|Russian]] === Game Development === * [[http://www.zombieflambe.com/series/as3-starling-tower-defense-tutorial/|Tower Defense Tutorial]] --- an extensive tutorial (10 parts!) that shows you how to build a complete Tower Defense game with Starling * [[Basic Collision Detection]] * [[http://active.tutsplus.com/tutorials/animation/handling-animation-states-with-starling/|Handling Animation States With Starling]] --- learn to add multiple animations to a sprite * [[http://sdjournal.org/working-with-sprite-sheets-in-starling|Working With Sprite Sheets In Starling]] --- Issue 03/2012 of the Flash & Flex Developer's Magazine * [[http://sdjournal.org/creating-particle-effects-with-starling|Creating Particle Effects With Starling]] --- Issue 04/2012 of the Flash & Flex Developer's Magazine * "Migrating to Starling" series at NorthWayGames.com: * [[http://northwaygames.com/?p=966|Get it to Compile]] * [[http://northwaygames.com/?p=1038|Manage your Texture Memory]] === Interoperability === * [[Combining Starling with other Stage3D frameworks]] * [[http://www.adobe.com/devnet/flashplayer/articles/away3d-starling-interoperation.html|Away3D and Starling Interoperation]] * [[http://www.adobe.com/devnet/flash/articles/designing-multidevice-multiresolution.html|Designing for a multi-device, multi-resolution world]] === Performance Optimization === * [[http://villekoskela.org/2012/02/18/tuning-starling-based-games/|Tuning Starling based Games]] from Ville Koskela, the lead developer of Angry Birds on Facebook * [[http://www.gotoandlearn.com/play.php?id=160|Using Object Pools]] from Lee Brimelow * [[http://www.emanueleferonato.com/2013/07/22/how-to-properly-optimize-your-starling-flash-projects/|How to properly optimize your starling flash project]] from Emanuele Feronato === Build Process === * [[How to compile Starling in FDT]] * [[How to compile Starling with Maven]] === Custom Particle Systems === * [[Create Stars Background]] === Open Source Games === * [[http://www.whacksite.com/|Whack!]] is a great Starling-based game that is fully Open Source. Find out all about it [[http://www.adobe.com/devnet/flashplayer/articles/creating-whack-with-starling.html|here]]. * [[http://www.hungryherogame.com/|Hungry Hero]], the game developed in the course of Hemanth Sharma's video tutorial (described a little further up) is Open Source, too! * [[https://git.oschina.net/bingheliefeng/GemsHome|Gem's Home]], an imitation of a Cocos2d-X demo. Screenshots: [[http://git.oschina.net/uploads/images/2013/0918/231029_301bbe5c_12360.jpeg|1]], [[http://git.oschina.net/uploads/images/2013/0918/231032_02e0cd0f_12360.jpeg|2]] ===== Code Snippets ===== There are things every Starling developer needs now or then, but it's not worth adding it to Starling directly, or to create an extension for it. If you know such a useful little helper, please add it to this list! * [[Custom transitions]] --- how to create custom transition methods for tweens * [[Finding out the FPS]] --- how to get the real number of frames per second * [[Image Tiling]] --- how to easily tile an image * [[Scrolling Image Tiling]] --- how to easily tile an image and add an infinite scroll to it. * [[tutorials:locating_the_pivot_point_of_a_sprite|Locating the Pivot Point of a Sprite]] --- how to find the Pivot point of the movieClips you create in Flash. * [[Deploying to iOS and Android]] --- how to copy app packages to a device * [[iOS Gyroscope Handler]] --- Gyroscope Handler * [[Loading Zip-Files with the AssetManager]] * [[https://gist.github.com/PrimaryFeather/5983685|Water Distortion]] --- Water reflection effect implemented with Starling's "DisplacementMapFilter" (Starling v1.4)