forked from: nengafl

by h_sakurai forked from nengafl (diff: 69)
文字列を表示する召喚系のおまじないだぜ。これだけだと何もしないぜ
表示されるものをつかうおまじないだぜ
なんか起こったとき用だぜ
幾何学的データとかつかうぜ
サイズが465 x 465 で背景色を黒にして、さらに描画を1/30秒に1階にするおまじないだぜ
年賀フラッシュなクラスをスプライトから継承して作るぜ
♥0 | Line 49 | Modified 2010-01-01 22:07:01 | MIT License
play

ActionScript3 source code

/**
 * Copyright h_sakurai ( http://wonderfl.net/user/h_sakurai )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/ijhf
 */

// forked from nengafl's nengafl
package {
	import flash.text.*;// 文字列を表示する召喚系のおまじないだぜ。これだけだと何もしないぜ
    import flash.display.*;// 表示されるものをつかうおまじないだぜ
    import flash.events.*; // なんか起こったとき用だぜ
    import flash.geom.*;// 幾何学的データとかつかうぜ
    	// サイズが465 x 465 で背景色を黒にして、さらに描画を1/30秒に1階にするおまじないだぜ
    	[SWF(width="465", height="465", backgroundColor="0x000000", frameRate="30")]      
	// 年賀フラッシュなクラスをスプライトから継承して作るぜ
    public class Nengafl extends Sprite {
    		    	
		private var nengaTextBox:TextField = new TextField();// テキストが入るぜ
		private var bitmapData:BitmapData = new BitmapData(465,465, false, 0);// 画像のデータそのものだぜ
		private var bitmap:Bitmap = new Bitmap(bitmapData);// 画像の入れ物だぜ
		/**
		 * コンストラクタという名のクラスを初期化する関数だぜ
		 * クラスが作られるときに最初に呼ばれるぜ
		 */
        public function Nengafl() {
    			// とりあえず、縞々をつくってみるぜ
        		var rect:Rectangle = new Rectangle(); // 四角をかくための長方形だぜ

   			// 20回ループでグリグリ回るぜ
  			for(var i:int = 0; i < 50; i++) {
  				rect.x = 0;
  				rect.y = i * 12;
  				rect.width = 465;
  				rect.height = 9;

    				bitmapData.fillRect(rect, 0x070300*(i+10));
  			}
  			// bitmapを表示するぜ
  			addChild(bitmap);
        		// as3ならhtmlでかけるぜ
            var nengaText:String = "<font color='#ff8800'><b>あけましておめでとうございます-2010賀正<br/>とらとらとららとらとららとらとららとらとららとらとららとらとらとらとらとららとらとららとらとららとらとららとらとららとらとららとららとらとららとらとららとらとららとららとらとららとらとららとらとららとららとらとららとらとららとらとららとららとらとららとらとららとらとら</b></font>"; 
			// フォーマットで文字の大きさを変えられるぜ
			var format:TextFormat = new TextFormat();
			format.size = 50;// 文字のサイズだ
			
			nengaTextBox.width = 465; // テキストボックスの幅だ
   	        nengaTextBox.height = 800;// 高さだ
            nengaTextBox.x = -200;// x座標だぜ
   	        nengaTextBox.y = -200;// y座標だぜ
            nengaTextBox.z = 0;// z座標だぜ。そう3Dもいけるんだぜ
            nengaTextBox.multiline = true; // 複数行でいくぜ
            nengaTextBox.wordWrap = true; // 文字列が右に行ったら左に行くぜ
            nengaTextBox.border   = false;// 枠線なしだぜ
            nengaTextBox.defaultTextFormat = format;// さっき作ったフォーマットを適用するぜ
            nengaTextBox.htmlText = nengaText;// htmlの文字列を設定だぜ
            nengaTextBox.rotationX = -50;// 50°倒すぜ
            nengaTextBox.scaleY = 4;// y方向に4倍引き伸ばすぜ
            nengaTextBox.scaleX = 2;// x方向に引き伸ばしは辞めたぜ
  		   this.addChild(nengaTextBox);// 作ったテキストを表示させるぜ
  		   addEventListener("enterFrame", update);// 1こまごとに呼ばれる関数を設定するぜ
  		   
        }
        
        private var sita:Number = 0;// 文字列拡大率の角度だぜ

        /**
         * 1コマごとに呼ばれるメソッドだぜ
         * @param eは気にしちゃいけないぜ
         */
        public function update(e:Event):void {
        		if(sita<1.7) {// 1.7以下なら動くぜ
	        		nengaTextBox.z += Math.cos(sita)*50;// cosはとにかく1-1の間でうごくぜ
	        		nengaTextBox.rotationX += 7.4;
	        		sita += 0.11// ちょっとずつうごくぜ
        		}
        	}
    }
}

Forked