0

ファイル内のテキストを半角に変換するAIR製アプリ「hankakuConverter」

5月 21, 2012 By MELLOWDOWN in actionscript, air

hankakuConverter

仕事で大量のファイル内のテキストを半角にする(一部の文字は変換しない)ことがあって、今後もこんな作業がありそうだったので、AIRで変換アプリを制作しました。

使い方は
(1)変換したいファイルがあるフォルダ
(2)変換したいファイルの種類
(3)文字コード
(4)変換方法
を選択して「開始」ボタンを押すだけ。

あと、オプションで変換しない文字(5)を入力すると、その文字は半角に変換されません。(「~」とか)

気をつけないといけないのは、ファイルが上書きされることです。
事前にバックアップしたほうがいいかもです。

0

+bookmarkがブックマークサイトに紹介されました

3月 15, 2012 By MELLOWDOWN in other

先日公開した、+bookmarkが下記のブックマークサイトでも紹介されました。
どれも有名サイトなのでうれしい限りです。
これからも更新し続けなければ!

Web Design Clipさん
http://www.webdesignclip.com/

デザインリンクデータベースさん
http://www.designlinkdatabase.net/

Good Design Webさん
http://gooddesignweb.com/

ほかにもあったんですが、失念してしまいました。。。
申し訳ないです。

0

[JS]センターからスタートするスライドショー

3月 4, 2012 By MELLOWDOWN in javascript

また、JSでスライドショーを作る機会がありました。
これまたよくあるスライドショーでセンターから始まってループし続けるやつです。
普段からJSやFlashを作ってる人なら楽勝で作れると思いますが、フリーで配布されているJSをいじってる人には若干ハードルが高いかも。

つまづく点は、下記の2点かな思います。
1.センターから始まる。
2.ループする。

デモ

説明するのはめんどくさいので、ソースを見てください。
※超特急で作ったので、ソースがダサいことになってます。。。

サンプル

サンプルファイルダウンロード

0

[AS3][Progression]WordPressとProgressionでブックマークサイト

2月 9, 2012 By MELLOWDOWN in actionscript, Progression

+bookmark | キャプチャの多いブックマークサイト

普段からブックマークサイトをよく見るのですが、キャプチャが少なかったり、リンク先のサイトがダメな感じにリニューアルされてたり、無くなってたりして残念な気分になることがしばしば。
そこで、キャプチャ大きめで多めの自分専用ブックマークサイトを作ることにしました。
ここは定番のWordPressでと思ったのですが、せっかくなのでProgressionの勉強も兼ねてPCサイトはWordPress + Progressionで制作しました。スマホやFlash非表示にも対応してます。

まだまだ改良の余地ありまくりですが、よかったら見て使ってください。

+bookmark | キャプチャの多いブックマークサイト

0

[AS3]VerifyError: Error #1014: クラス flash.display::Stage3D が見つかりません。でハマった

1月 26, 2012 By MELLOWDOWN in actionscript

そろそろ、Stage3Dのテストもしてみようと思って試していたのですが、下記のエラーでハマってしまいました。

VerifyError: Error #1014: クラス flash.display::Stage3D が見つかりません。

原因はいつものようにcmd + enterでムービープレビューしていたこと。
Flash Professional CS5/CS5.5ではムービープレビューのプレイヤーがFlash Player 11対応じゃないので、上記のようなエラーが出るとのことです。
なので、htmlでパブリッシュプレビューをすれば問題なくプレビューできます。

下記の説明にしっかり載ってました。ちゃんと読もう!>自分
Stage3Dコンテンツ制作入門

0

[AS3]beginBitmapFillでビットマップを中心からリピートする方法

1月 22, 2012 By MELLOWDOWN in actionscript

beginBitmapFillでビットマップをタイル状に並べる場合、ビットマップの位置は左上からリピートされます。
でも、中心からリピートさせたい場合もあると思います。
方法としては、リピートの開始位置をbeginBitmapFillの第二引数のmatrixに指定すればオッケーです。

デモはこちら

package {
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Shape;
	import flash.display.Sprite;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.events.Event;
	import flash.geom.Matrix;

	[SWF(width="900", height="600")]
	public class Main extends Sprite {

		[Embed(source="asset/bg_line.gif")] private var Image:Class;

		private var _circle:Shape;
		private var _bitmapData:BitmapData;
		private var _bitmapW:Number;
		private var _w:Number;
		private var _h:Number;

		public function Main() {
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}

		private function init(e:Event = null):void {
			removeEventListener(Event.ADDED_TO_STAGE, init);

			stage.scaleMode = StageScaleMode.NO_SCALE;
			stage.align = StageAlign.TOP_LEFT;

			//ステージサイズ
			_w = stage.stageWidth;
			_h = stage.stageHeight;

			//中心確認用の丸
			_circle = new Shape();
			_circle.graphics.beginFill(0x000000);
			_circle.graphics.drawCircle(0, 0, 10);
			_circle.graphics.endFill();
			addChild(_circle);

			var bitmap:Bitmap = new Image();
			_bitmapW = bitmap.width;
			_bitmapData = bitmap.bitmapData;

			stage.addEventListener(Event.RESIZE, onResize);
			onResize();
		}

		private function draw():void {
			var matrix:Matrix = new Matrix();
			matrix.translate(_w / 2 - _bitmapW / 2 , 0);

			graphics.clear();
			graphics.beginBitmapFill(_bitmapData, matrix, true);
			graphics.drawRect(0, 0, _w, _h);
			graphics.endFill();

			_circle.x = _w / 2;
			_circle.y = _h / 2;
		}

		private function onResize(e:Event = null):void {
			_w = stage.stageWidth;
			_h = stage.stageHeight;

			draw();
		}
	}
}
0

[AS3][Progression]for文とかの中でaddCommandするときに便利なやつ

1月 17, 2012 By MELLOWDOWN in actionscript, Progression

progressionのaddCommandをfor文の中で使うときに、思ったようにループ変数が取得できないので、下記のようにするとできます。確かそうだった。

addCommand(
	function():void {
		for (var i:int = 0; i < 5; i++) {
			addCommand(
				new Var("i", i),
				function():void {
					i = this.getVar("i");
					trace(i); //順番通りにiが出力される。
				}
			);
		}
	}
);
0

[HTML5]HTML5でコーディングし直しました

11月 2, 2011 By MELLOWDOWN in html+css

特に意味はないですが、HTML5でのコーディングも慣れとこうかなーということで、mellowdown.netをHTML5でコーディングし直しました。
といっても、見た目の変化は一切なし。
そもそも、Flashサイトなので・・・

Off

[AS3]テキストがランダムに表示するSHUFFLE TEXT

10月 25, 2011 By MELLOWDOWN in actionscript

先日、shuffleTextのJS版を公開したのですが、意外とAS3版を求めて検索してこのBLOGに来る方が多いので、AS3版も公開します。

デモはこちら。

使い方はドキュメントクラスを見ていただければ分かると思います!
因みに、ランダムな文字はfromCharCodeを利用していたのですが、macでは何故か動きが遅いので、事前に文字列を変数に用意して、ランダムな位置の文字を返すようにしてます。

何故かわかる方教えてください!!

ドキュメントクラス

package {
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;

	public class Main extends Sprite {
		private var _tFld:TextField;
		private var _shuffleText:ShuffleText;
		private var _btn:Sprite;

		public function Main():void {
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}

		private function init(e:Event = null):void
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point

			stage.scaleMode = StageScaleMode.NO_SCALE;
			stage.align = StageAlign.TOP_LEFT;

			contentsStart();
		}

		private function contentsStart():void {
			_tFld = new TextField();
			_tFld.autoSize = TextFieldAutoSize.LEFT;
			_tFld.text = "abcdefghijklmnopqrstuvxyz"
			_tFld.x = stage.stageWidth / 2 - _tFld.textWidth / 2;
			_tFld.y = 50;
			addChild(_tFld);
			_shuffleText = new ShuffleText(_tFld, "en");

			_btn = new Sprite();
			_btn.graphics.beginFill(0);
			_btn.graphics.drawRect(stage.stageWidth / 2 - 50, 100, 100, 50);
			_btn.graphics.endFill();
			addChild(_btn);
			_btn.addEventListener(MouseEvent.MOUSE_OVER, onMouseover);
		}

		private function onMouseover(e:MouseEvent):void {
			_shuffleText.shuffle();
		}

	}

}

ShuffleTextクラス

package {
	import flash.events.Event;
	import flash.events.TimerEvent;
	import flash.text.TextField;
	import flash.utils.Timer;

	/**
	 * ...
	 * @author mellowdown.net
	 */
	public class ShuffleText {

		private var _type:String;
		private var _originallyStr:String;
		private var _fld:TextField;
		private var _showStr:String;
		private var _loopTimer:Timer;
		private var _showTimer:Timer;
		private var _en:String = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-/^!?&%$#+*"
		private var _hiragana:String = "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほらりるれろ";
		private var _katakana:String = "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホラリルレロ";
		private var _kanji:String = "亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷";

		public function ShuffleText(fld:TextField, type:String = "en", loopDelay:uint = 10, showDelay:uint = 50) {
			_fld = fld;
			_originallyStr = _fld.text;
			_type = type;

			_loopTimer = new Timer(loopDelay);
			_loopTimer.addEventListener(TimerEvent.TIMER, onLoop);

			_showTimer = new Timer(showDelay);
			_showTimer.addEventListener(TimerEvent.TIMER, onOriginallyStrShow);
		}

		public function shuffle():void {
			_showStr = "";

			_loopTimer.reset();
			_showTimer.reset();

			_loopTimer.start();
			_showTimer.start();
		}

		public function dispose():void {
			_loopTimer.removeEventListener(TimerEvent.TIMER, onLoop);
			_showTimer.removeEventListener(TimerEvent.TIMER, onOriginallyStrShow);
			_loopTimer = null;
			_showTimer = null;
		}

		private function onLoop(e:TimerEvent):void {
			_fld.text = _showStr;
			if (_originallyStr.length - _showStr.length > 0) {
				for (var i:int = 0; i < _originallyStr.length - _showStr.length; i++) {
					var shuffleStr:String = getShuffleStr();
					_fld.appendText(shuffleStr);
				}
			} else {
				_loopTimer.reset();
			}
		}

		private function getShuffleStr():String {
			var str:String;
			switch (_type) {
				case "en":
					str = _en.charAt(Math.round(Math.random() * (_en.length - 1)));
					//str = String.fromCharCode(33 + Math.round(Math.random() * 99));
					break;
				case "hiragana":
					str = _hiragana.charAt(Math.round(Math.random() * (_hiragana.length - 1)));
					//str = String.fromCharCode(12352 + Math.round(Math.random() * 84));
					break;
				case "katakana":
					str = _katakana.charAt(Math.round(Math.random() * (_katakana.length - 1)));
					//str = String.fromCharCode(12448 + Math.round(Math.random() * 84));
					break;
				case "kanji":
					str = _kanji.charAt(Math.round(Math.random() * (_kanji.length - 1)));
					//str = String.fromCharCode(19968 + Math.round(Math.random() * 200));
					break;
			}
			return str;
		}

		private function onOriginallyStrShow(e:Event):void {
			if (_showStr.length < _originallyStr.length) {
				_showStr = _originallyStr.substr(0, _showStr.length + 1);
			} else {
				_showTimer.reset();
			}
		}
	}

}
0

[AS3]写真を水彩画っぽい感じにする

10月 20, 2011 By MELLOWDOWN in actionscript

写真を水彩画っぽい感じにする

先日、トイレを借りるために寄ったさびれた本屋で.fla―Idea of Flash Creationを発見!トイレのお礼に購入し、ちょこっと試してみました。
本の内容はAS2なので、AS3に書きなおしてみました。

サンプル

Read the rest of this entry »