Ameba Pigg でカジノエリアリリース!

6/17 にカジノエリアがリリースされました!
いつか作りたいと思っていたルーレットに携わることができて感無量です!
ピグみたいな BtoC コンテンツはユーザーの反応がダイレクトにみれていいですね。

よかったら遊んでみてくださいー。
http://pigg.ameba.jp/

Mac でアプリケーションを多重起動する方法

備忘録

ターミナルで以下のコマンド入力

$ open -na [アプリケーションまでのパス]




[ example ]

・Safari
$ open -na /Applications/Safari.app

・Flash Builder
$ open -na /Applications/Adobe\ Flash\ Builder\ 4/Adobe\ Flash\ Builder\ 4.app

こっそりトップページ更新

こっそりとトップページを更新しました。
前のは無駄に Tweensy とか使ってあったり、更にはなぜか Tweener も併用していたというよく分からん構成になっていたわけですが、いい加減書きなおそうと一念発起した次第です。トローンとした感じはうまくできたかなーと思います。ただ満足できてない部分もあるので、今後もバージョンアップして行こうと思います。

ソースはこちら

フレームラベル名入力でジャンプする jsfl

タイムラインアニメーションやってると、フレームの行き来がめんどくさいですよね。
フレームラベル名入力でジャンプできる jsfl とかないかなーとググッたんですが、見つからなかったので作りました。

【使い方】
1. 下記のコードをテキストエディタにコピペして、 “jumpToFrameLabel.jsfl” という名前で保存。


// タイムラインを取得
var timeline = fl.getDocumentDOM().getTimeline();
// 選択中のレイヤーを取得
var selectedLayer = timeline.getSelectedLayers();
// ジャンプ先のフレームラベル名を入力
var targetLabel = prompt("input jump to frame label", "");
// 入力されたフレームラベルが存在するかどうかの判定用
var found = false;
// 走査するフレーム数
var l = timeline.layers[selectedLayer].frames.length;
// 目的地のフレーム番号
var n = 0;

// フレームラベルを 1 フレームずつ走査
for(var i = 0; i < l; i++) {
	if(targetLabel == timeline.layers[selectedLayer].frames[i].name) {
		n = i;
		found = true;
		break;
	}
}

if(found) {
	// 目的地へジャンプ
	timeline.setSelectedFrames([0, n, n + 1]);
}else {
	// エラー処理
	fl.trace("not found");
}


2. /Users/ユーザー名/Library/Application Support/Adobe/Flash CS4/language/Configuration/Commands に入れる。
( win は Document and Setting\Application Data とかそんな感じのとこに同じような階層があります )

3. 以下実行手順
・フレームラベルのレイヤー選択
ss1

・コマンド実行
ss2

・フレームラベル名入力
ss3

・ジャンプ!
ss4


以上!
注意点は 1 フレームずつ走査するので、数 1000 フレーム超えたりしてると処理が重くなります。最悪 Flash が落ちるかも?
改善案あったら教えてくださいー。

MovieClip のインスタンス名を一括設定する jsfl

こういう jsfl があるのを教えてもらいました。
Instance_setMcName.jsfl

これの機能はレイヤーに配置してある MovieClip のインスタンス名をライブラリのシンボル名に一括変更してくれるという優れものです。キーフレームがあろうがなかろうが関係ないので便利だなーと思ったのも束の間、ライブラリをフォルダ分けしてある場合はインスタンス名に “フォルダ名 / シンボル名” というように階層まで書かれてしまいます。

これではあまり使えないなと思い、少し改造してみることにしました。シンボル名に置き換えるのではなく、自分で入力した文字列に置き換えるようにすればいいんじゃねと思って調べる内に下記のメソッドを発見しました。

prompt("", "")

これを実行すると、ポップアップでテキスト入力フィールドが出てきます。第 1 引数はポップアップウィンドウに表示する説明文、第 2 引数はテキスト入力フィールドの初期値です。例えば以下を実行すると画像のようになります。

prompt("input instance name", "hogehoge")

ss1
ではこれを Instance_setMcName.jsfl に組み込みます。

//=====================================================	
// Instance : setMcName1.0
// hisayuki takagi | www.wildcard.jp.org
//=====================================================	
var cur_doc = fl.getDocumentDOM();
var str = prompt("input instance name", "");
for(var i1=0; i1<cur_doc.selection.length; i1++){
	if(cur_doc.selection[i1].elementType == "instance"){
		cur_doc.selection[i1].name = str;
		//cur_doc.selection[i1].name = cur_doc.selection[i1].libraryItem.name
	}
}

【使い方】
/Users/ユーザー名/Library/Application\ Support/Adobe/Flash\ CS4/ja/Configuration/Commands/ に入れます。
そして画像のように設定したあと、レイヤー名のところをクリックし、コマンド -> Instance_setMcName を実行すると、レイヤーに配置されたインスタンス名を一括変更できます。
ss2

以上!

trace をターミナルで見るときの文字化け解消

ずっと悩まされ続けていた問題をとうとう解決できました!

ターミナル > 環境設定 > 設定 > 詳細タブ > 言語環境設定 > 日本語 (Mac OS)

ss

trace 文の出力の仕方はコチラ
※デバッグ版の Flash Player 必須

書籍紹介

現在はじめての iPhone3 プログラミングを読んでいます。
丁寧に書いてあるのでオススメです。
新しい言語は楽しいですね。
さあ勉強勉強。

禁煙なんか簡単だ。私はもう50回はやったよ。

最近なにやら身の回りで禁煙を始める人が非常に増えました。値上げの影響でしょうか。
でもですね、タイトルの通り「禁煙」はひじょーーに難しいことなんです。ちょっとした間ができると口が寂しくなり、ガムとか噛んでみるけど何か違う・・・そんな時にヤニ臭い人が近くに居たりしたらもう吸いたくて吸いたくて頭がタバコでいっぱいになる、そして吸ってしまう。そんなもんです。

Twitter のアイコンからも分かるように、僕も以前は喫煙者でした。吸わなくなってかれこれ 3 年ぐらいかな?それぐらい経ちます。どうしても禁煙したい人の為に、僕がどういう過程を経てタバコを吸わなくなったのかを紹介します。

■ FRISK
最初は口が寂しくてしょうがないので、FRISK をオススメします。アメとかガムはまったくもって無駄な投資で終わるので。

■ 日数を数えない
禁煙開始日をカレンダーに記して経過日数を数えるのは愚の骨頂です。経験上、そんなことをすれば 3 日、 1 週間、 1 ヶ月、半年、1 年、・・・という節目を迎えたときに吸ってしまいます。冒頭でのぼくの「 3 年ぐらい」と曖昧なのはこのためです。

■ 禁煙したと思わないこと
これが一番重要な項目なのですが、「禁煙する」ということはそれだけですごいストレスです。そんなストレスを感じてしまうと吸いたくてどうしようもなくなってしまいます。そこで発想を変えて「少し休憩する。自分の限界がきたら我慢せずに吸おう」というふうにします。(※「禁煙」というワードの使用も避けましょう)
そしてそろそろ限界だなーと思ってタバコを手に取り、火を点ける直前にこう思うわけです。
「これが本当に自分の限界なのか?」
するとまだがんばれるなと思い、タバコを箱に戻すことができました。僕はいまだに禁煙したとは思っていなくて、本当に限界がくれば吸ってやろうと思っています。この「自分との戦い」みたいなのが予想外に効いてオススメです。


以上が僕の体験談です。要は人それぞれ自分に合った方法に出会えるか、ですね。
余談ですが、不思議なもので吸わなくなって浮いたはずのタバコ代はどこにも存在することはありません(笑)

Progression 4 メモ -CastButton のカレント設定について-

CastButton 内で manager に ProcessEvent.PROCESS_COMPLETE をリスナー登録し、そのリスナー関数内で現在の sceneId と自身に設定された sceneId を比較して判別する。

[ example ]

override protected function atCastAdded():void
{
	//~~~ 色々な処理 中略~~~

	manager.addEventListener(ProcessEvent.PROCESS_COMPLETE, _onProcessComplete);
}
private function _onProcessComplete(event:ProcessEvent):void
{
	// 自身がただの外部リンクボタンだった時のための処理
	if(sceneId == null) return;
	
	// ここで判定
	if(manager.current.sceneId.toString() == sceneId.toString()) {
		// カレント設定の処理
	}else {
		// カレント設定解除の処理
	}
}
(ver 3.xx の時は、manager を progression に変更すれば ok)

今年度を振り返って

仕事も納め、現在帰省中です。
昨日酔っぱらってリビングでそのまま寝てしまって朝目が覚めたら、おかんが丁度乳バンド(あえてそう呼ばせていただく)を装着しとる最中でなんかもうすべてが嫌になりました。

さて僕の今年度を一言で言い表すと、「輪」です。
著名な方やまったく別業種の方等、本当にいろんな人と知り合えました。
お世話になった方々には本当に感謝しています。
これからもよろしくお願いします。

■ 来年度の目標
・ MacBook Pro 買う
・ バイク買う
・ iPhone app なんか作る
・ FDT もっと使いこなす
・ もっとコミットする

良いお年を!

Return top