In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

forked from: FlashTextEngine の真価 f.f.: FTE(FlashTextEngine)を使ってみる on 2010-1-29

最も FlashTextEngine の真価が発揮される文章.
出典; http://beebee2see.appspot.com.nyud.net/d/agpiZWViZWUyc2VlchQLEgxJbWFnZUFuZFRleHQYweMgDA.jpg
勢いでやった.反省はしていない.
/**
 * Copyright kkstudio2007 ( http://wonderfl.net/user/kkstudio2007 )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/1pIq
 */

// forked from keim_at_Si's FlashTextEngine の真価 f.f.: FTE(FlashTextEngine)を使ってみる on 2010-1-29
// forked from sakusan393's forked from: FTE(FlashTextEngine)を使ってみる on 2010-1-29
// forked from komatsu's FTE(FlashTextEngine)を使ってみる on 2010-1-29
// 
// 最も FlashTextEngine の真価が発揮される文章.
// 出典; http://beebee2see.appspot.com.nyud.net/d/agpiZWViZWUyc2VlchQLEgxJbWFnZUFuZFRleHQYweMgDA.jpg
// 勢いでやった.反省はしていない.
package {
	import flash.text.engine.TextLine;
	import flash.text.engine.TextBlock;
	import flash.text.engine.TextElement;
	import flash.text.engine.ElementFormat;
	import flash.text.engine.FontDescription;
	import flash.text.engine.EastAsianJustifier;
	import flash.text.engine.LineJustification;
	import flash.text.engine.TextRotation;
    import flash.display.Sprite;
    import caurina.transitions.Tweener;
    public class main extends Sprite {
        public function main() {
           var sp:Sprite = new Sprite();
			sp.graphics.beginFill(0x000000,0.1);
			sp.graphics.drawRect(0,0,465,400);
			sp.y = 32;
			addChild(sp);
            //表示したいテキスト
			var str:String = "    我们平时会觉察到自己的影子吗?\n\n  身体和这空间中的投影到底有什么关系呢?这正是关注的问题。通过一套复杂的视频投影系统将参观者的身体和反应态度紧密相连。\n 只要有参观者在投影仪照亮的区域走动,他的影子就会被捕捉下来,并被二次投影到屏幕上,进而触发一系列不可预料的交互反应。有时可能毫无反应,有时影子会从一边游荡到另一边,有时影子之间呈现镜像。当参观者的运动穿越某个投影时,影子就会突然崩塌或简单地溶化掉。\n\n  个体出世后,身体与自己的影子——身体之灵或灵的身体——通常是一体的。身体看不到自己的影子,就像眼睛看不到眼睛。除非在一种特别的光亮照射下,影子才会与自己的身体分开,我才可能看到自己的影子—— 还得看我站在什么位置,与光处于什么关系。一个人要站到可以让自己身体的影子显露出来的有光的地方,不是因为身不由己,就是由于忘乎其形(身体)。";
			
			
			//フォント書式
			var fontDesc:FontDescription = new FontDescription();
			fontDesc.fontName = "MS 明朝";//"Kozuka Mincho Pro M";

			//エレメントのフォーマット
			var format:ElementFormat = new ElementFormat();
			format.locale = "ja";//テキストのロケール。jaだと日本語。
			format.fontSize=14; //18
			format.fontDescription = fontDesc;//FontDescription形式のデータを設定

			//テキストエレメントを作る
			var txtEle:TextElement = new TextElement(str , format);

			//テキストブロック
			var txtBlock:TextBlock = new TextBlock();
			txtBlock.textJustifier = new EastAsianJustifier("ja",LineJustification.UNJUSTIFIED);//ALL_BUT_LAST
			
			txtBlock.lineRotation = TextRotation.ROTATE_90;//縦書きにする
			txtBlock.content = txtEle;//テキストエレメントをコンテンツとして設定



			var txtW:uint = 365;//1行あたりのピクセル数にする予定
			var textLine:TextLine= txtBlock.createTextLine(null , txtW);
			var posX:uint = sp.width;//textLineのX座標用
			var posY:uint = 10;//textLineのY座標用
			var cnt:uint = 0;//各textLineの個別の条件を与えるための変数


			while(textLine != null){
				//TextLineオブジェクトを参照している、textLine
				//変数の参照粋ォnullになるまで繰り返す。
				sp.addChild(textLine);
				cnt++;
				posX -= (textLine.width + 10);//12//textLineの幅+マージン分、次座標を修正
				textLine.x = posX;
				textLine.y = posY+50;
				textLine.alpha = 0;
	
				Tweener.addTween(textLine , {y:posY , alpha:1  , time:0.5 ,delay:cnt/10, transition:"easeOutBack"});
	
				textLine = txtBlock.createTextLine(textLine , txtW);
				//現在のtextLineから、次のTextLineオブジェクトを参照
			}
            
            }
    }
}