forked from: nengafl
forked from nengafl (diff: 69)
文字列を表示する召喚系のおまじないだぜ。これだけだと何もしないぜ 表示されるものをつかうおまじないだぜ なんか起こったとき用だぜ 幾何学的データとかつかうぜ サイズが465 x 465 で背景色を黒にして、さらに描画を1/30秒に1階にするおまじないだぜ 年賀フラッシュなクラスをスプライトから継承して作るぜ
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// ちょっとずつうごくぜ
}
}
}
}