still alive miyaoka forked:2 favorite:1 lines:126 license : MIT License modified : 2008-12-23 17:42:37 package { import flash.display.Sprite; import flash.events.Event; [SWF(backgroundColor= 0x000000)] public class Main extends Sprite { private var cube:Cube; public function Main():void { addEventListener(Event.ENTER_FRAME, enterFrameHandler); //make a cube cube = new Cube(); cube.x = stage.stageWidth * 0.5; cube.y = stage.stageHeight * 0.5; addChild(cube); //still alive? while (GLaDOS.isStillAlive()) GLaDOS.SingsTo(cube); } private function enterFrameHandler(evt:Event):void { cube.rotation -= 0.2; } } } import flash.display.Sprite class Cube extends Sprite { public function listen(word_:String):void { trace(word_); rotation += 90; var word:Word = new Word(word_, 220); addChild(word); word.rotation = -rotation; var num:uint = numChildren; var i:uint = num; while (i--) { var w:Word = getChildAt(i) as Word; w.scaleX = w.scaleY = i / num * 0.7 + 0.3; } } } import flash.text.TextField; import flash.text.TextFormat; import flash.display.BitmapData; import flash.display.Bitmap; class Word extends Sprite { public function Word(word_:String, center:Number):void { var tf:TextField = new TextField(); tf.defaultTextFormat = new TextFormat("Arial", 9); tf.textColor = 0xcc9900; tf.autoSize = "left"; tf.text = word_; var bd:BitmapData = new BitmapData(tf.width,tf.height, true, 0x000000); bd.draw(tf); var bmp:Bitmap = new Bitmap(bd); var sp:Sprite = new Sprite(); sp.addChild(bmp); addChild(sp); bmp.x = bmp.y = -center; bmp.height = 32; bmp.width = center * 2 - bmp.height; } } class GLaDOS { public static function isStillAlive():Boolean { return noteLine < notes.length; } public static function SingsTo(cube:Cube):void { cube.listen(notes[notes.length - 1 - noteLine++] ); } private static var noteLine:uint = 0; private static var notes:Array = [ "Froms FROM-29827281-12:", "Test Assessment Report", "This was a triumph.", "I'm making a note here:", "HUGE SUCCESS. It's hard to overstate my satisfaction.", "Aperture Science We do what we must because we can.", "For the good of all of us. Except the ones who are dead.", "But theres no sense crying over every mistake.", "You just keep on trying till you run out of cake.", "And the Science gets done. And you make a neat gun.", "For the people who are still alive.", "Froms FROM-55551-5:", "Personnel File Addendum:", "Dear <<Subject Name Here>>,", "I'm not even angry.I'm being so sincere right now.", "Even though you broke my heart.", "And killed me. And tore me to pieces.", "And threw every piece into a fire.", "As they burned it hurt because I was so happy for you!", "Now these points of data make a beautiful line.", "And we're out of beta. We're releasing on time.", "So I'm GLaD. I got burned.", "Think of all the things we learned for the people who are still alive.", "Froms FROM-55551-6:", "Personnel File Addendum Addendum:", "One last thing:", "Go ahead and leave me.", "I think I prefer to stay inside.", "Maybe you'll find someone else to help you.", "Maybe Black Mesa... THAT WAS A JOKE. FAT CHANCE.", "Anyway, this cake is great.", "It's so delicious and moist.", "Look at me still talking when there's Science to do.", "When I look out there, it makes me GLaD I'm not you.", "I've experiments to run. There is research to be done.", "On the people who are still alive.", "PS: And believe me I am still alive.", "PPS: I'm doing Science and I'm still alive.", "PPPS: I feel FANTASTIC and I'm still alive.", "FINAL THOUGHT:", "While you're dying I'll be still alive", "FINAL THOUGHT PS:", "And when you're dead I will be still alive", "STILL ALIVE" ]; } Code Fullscreen Preview Fullscreen mr10 height rotation width scaleY scaleX addEventListener trace Boolean text length TextFormat uint String Event.ENTER_FRAME Array Bitmap Event Number sort new page view favorite forked pv 223 forked from: still alive smallflowergame forked:0 favorite:0 lines:126 ( diff:117 ) pv 1303 PS: still alive miyaoka forked:1 favorite:3 lines:265 ( diff:266 )