Twitterやってます。
2010.09.04

感想と推薦

UNISON SQUARE GARDEN - UNISON SQUARE GARDEN

THE BACK HORN、GRAPEVINEを聞いていたと言うだけあって、そのテイストが感じられる曲調。3ピースでも音にしっかりとした厚みがあって、バランスが良いと思った。

just A moment - 凛として時雨

その名の通り、切なくて冷たい雨が降る。TK(男性Vo)のハイトーンは好みが分かれるところだが、345(女性Vo)とのツインボーカルが生み出す緊迫感はとても狂おしく、破滅的で情緒に溢れている。

軌道-WARPHOLL

でもね、曲はめっちゃカッコイイス。そういう細かいところを気にするアホウは僕くらいなもんで、良いアルバムに仕上がってますよ。

衝撃の展開に思わず笑みがこぼれる一品 "Stick Stickly" Attack Attack!

いやはや、凄いの見てもーた。基本はスクリーモなんですが、エモが来たと思ったらいきなりエレクトロニカなん?4つ打ちなん?っていう最高の一品です。

On Fire-The Higher

1曲目の「insurance?」からいきなり「It's Only Natural」と似たテイストのノリノリナンバーで、一気に持ってかれてしまいました。全体的に気持ちよく聴けるアルバムに仕上がっています。

SO MANY MUSIC,SO MANY COLORS - Looking For

埼玉産インディーズバンドLooking For。同郷なら応援しないわけにはいかない。とにかくメロディック・メロディックなのであります。まさしく僕好み。ありがとうございます。

NIGHT FISHING - サカナクション

初めて聴いた感想はズバリ「つまらん」。 で、封印しようかと思いつつ、他に聴くものもないし・・・などとループ再生していたところ・・・4,5回目くらいから良くなってきました。

Music is the key-UNCHAIN

僕のファーストインプレッションは、 「んー、フライングキッズ?いや、オリジナルラヴ?」 でした。 前作 rapture が割とアップテンポで勢いのある印象だったので、アップテンポ好きな僕には少し物足りないというか、お子ちゃまな僕の好きな路線とはちょっと違うかなぁという感想。

air feel,color swim - school food punishment

女性Vo.なんですが、彼女の声と曲の世界観が絶妙です。彼女の声を聴いていると、切なくなるような、苦しくなるような、かと思えば一気に解放されるような、フワフワ浮かんでいるような。 クラムボンが好きな人とかすんなり聴けるんじゃないかと思います。

ALBO─Mistral

正統派J-popとでもいうべき非常に聴きやすい作品。メロディーも心地よく耳に残る感じ。無意識のうちに結構気に入っていたらしく、このまえ気付いたら4曲目のサビをひたすら口ずさんでました。
RSS
2009.05.20

ステージをランダム画像で埋め尽くすFLASHを作ってみる

ステージにペタペタと画像が貼られて、ステージが画像で埋め尽くされるものを作ってみます。

本日のレシピ

  • FLASH CS3
  • 画像20枚ほど
  • お酒
  • お気に入りの音楽

Step.1 FLASHのライブラリに画像を読み込む

外部画像の読み込みはこの前やったので、今回はライブラリ経由で配置してみます。

ちょうどピクテクのほうで100×100の画像が大量にあるので、それを適当にFLASHのライブラリに読み込みました。勢い余って22枚。

んで、それらのピットマップアイテムにリンケージプロパティを設定します。
・・・22個。ぶっちゃけ後悔しました。Photo1,Photo2,Photo3...嗚呼めんどくさい!

Step.2 フレームスクリプトを書く

タイムラインにこれから作成するスクリプトの呼び出し部分を先に書いちゃいます。

var hoge:Peta = new Peta();
hoge.init(this);

今回作るクラスはPetaと名付けました。ペタペタ貼り付くのでPetaであります。
ちなみにhogeには特に深い意味はありません。
ってか、hogeを最初に考えた人(流行らせた人?)は良いセンスしてると思う。

Step.3 Petaクラスを書くぞ!

我らがPetaクラスを頑張って書きます。

ライブラリから任意のアイテムを呼び出す部分

var myClass:Class = Class(getDefinitionByName(name_str));

先日の記事で書いたgetDefinitionByNameが大活躍します。
Math.random()で決まった番号のライブラリアイテムを読み込んでます。

大まかな動作の流れとしてはこんな感じ。

  • スプライトを一個作る(wrapper)
  • イベントリスナーで毎フレームsetMovieを呼び出すようにする
  • setMovieがカウントしながらpasteを呼び出し、画像を適当にペタペタ
  • カウント数が上限に達したらイベントリスナーを解除しておしまい
package  
{
	import flash.display.*;
	import flash.events.*;
	import flash.utils.getDefinitionByName;
	
	public class Peta extends MovieClip
	{
		public function Peta() {}

		private const roopMax:int = 250;				//写真配置枚数
		private const scatWidth:int = 1000;				//散布範囲X
		private const scatHeight:int = 700;				//散布範囲Y
		private var roopCnt:int = 0;					//写真カウンター
		private var photoBmpArray:Array = new Array();	//写真配列
		private var photoArray:Array = new Array();		//写真MC配列
		private var target:MovieClip;					//ベースMC
		private var wrapper:Sprite;						//真ん中に置く用ラッパー
		
		public function init(t:MovieClip):void
		{
			target = t;
			wrapper = new Sprite();
			wrapper.x = 400;
			wrapper.y = 300;
			target.addChild(wrapper);
			//散布
			target.addEventListener(Event.ENTER_FRAME, setMovie);
		}
		private function setMovie(e:Event):void
		{
			if (roopCnt < roopMax) {
				paste();

			} else {
				//リスナー削除
				target.removeEventListener(Event.ENTER_FRAME, setMovie);
			}
		}
		private function paste():void
		{
			roopCnt++;
			//ランダム値生成
			var ranP:int = Math.floor(Math.random() * 20);
			var ranX:int = Math.random() * 1000;
			var ranY:int = Math.random() * 700;
			var ranR:int = Math.random() * 360;
			//写真定義
			var name_str:String = "Photo" + ranP;
			var myClass:Class = Class(getDefinitionByName(name_str));
			var bmp:Bitmap = new Bitmap(new myClass(0, 0));
			//スプライトセット
			var container:Sprite = new Sprite();
			container.x = ranX - scatWidth / 2;
			container.y = ranY - scatHeight / 2;
			container.rotation = ranR;
			container.addChild(bmp);
			//配列に格納
			photoArray[roopCnt] = container;
			wrapper.addChild(container);
		}
	}
}

Step.4 動作確認

こんな感じで出来ました。

次回は敷き詰められた画像が四方八方に飛び散るように改造したいと思います。

トラックバック(0)

トラックバックURL:

コメントする

お名前 Eメイル
URL ログイン情報を記憶