1文字ずつ出てくる nacookan forked:3favorite:4lines:71license : MIT License modified : 2009-11-27 17:12:15 Embed Tweet package { import flash.display.*; import flash.text.*; import flash.events.*; import com.flashdynamix.motion.*; import fl.motion.easing.*; public class FlashTest extends Sprite { public function FlashTest() { var list:Array = getDotsList('いつもお世話になっております。'); var people:Array = generatePeople(5, 300) build(list, 0, people, 2); } private function build(list:Array, index:Number, people:Array, speed:Number):void{ var g:TweensyGroup = new TweensyGroup(); g.onComplete = function():void{ index++; if(list.length <= index) return; build(list, index, people, speed); }; for(var i:Number = 0; i < people.length; i++){ var a:Number = r(list[index].length); g.to(people[i], { x: 100 + list[index][a].x * 2, y: 100 + list[index][a].y * 2 }, speed, Elastic.easeInOut); } } private function getDotsList(message:String):Array{ var list:Array = []; for(var i:Number = 0; i < message.length; i++){ list.push(getDots(message.substr(i, 1))); } return list; } private function getDots(s:String):Array{ var f:TextFormat = new TextFormat(); f.size = 200; var t:TextField = new TextField(); t.defaultTextFormat = f; t.autoSize = TextFieldAutoSize.LEFT; t.text = s; var bd:BitmapData = new BitmapData(t.textWidth, t.textHeight); bd.draw(t); var dots:Array = []; for(var yy:Number = 0; yy < bd.height; yy++){ for(var xx:Number = 0; xx < bd.width; xx++){ if(bd.getPixel(xx, yy) == 0xffffff) continue; dots.push({ x: xx, y: yy }); } } return dots; } private function generatePeople(size:Number, count:Number):Array{ var people:Array = []; for(var i:Number = 0; i < count; i++){ var person:Sprite = new Sprite(); person.graphics.beginFill(r(0xffffff), (r(30) + 30) / 100); person.graphics.drawCircle(0, 0, r(size * 10) / 10); person.graphics.endFill(); person.x = r(430); person.y = r(430); addChild(person); people.push(person); } return people; } private function r(max:Number):Number{ return Math.floor(Math.random() * max); } } } Code Fullscreen Preview Fullscreen tjoen matacat plus-tic takeken index Math.max message textWidth textHeight substr getPixel TextFormat Array drawCircle defaultTextFormat TextFieldAutoSize.LEFT autoSize endFill height width beginFill size Math.floor draw sort new page view favorite forked pv599 forked from: 1文字ずつ出てくる Tamanegi_kenshi forked:5 favorite:6lines:71 (diff:2) tag: Effect Text 形状 效果 文字 pv188 forked from: 1文字ずつ出てくる plus-tic forked:0 favorite:0lines:71 (diff:3) pv187 forked from: 1文字ずつ出てくる plus-tic forked:0 favorite:0lines:71 (diff:2)