イナヅマTVログ

2011.04.15
13:23
author: taikiken
0件のコメント

スゴイよ、Magnum Pleasure Hunt

@otachanさんのtweetで知ったFlash サイト、Magnum Pleasure Hunt
“Across The Internet”ってあるように数々のWebサイトをアスリート風な女性が駆け抜けて行くってゲーム仕立てになってます。

まぁ、一応ゲームなんだけど画面遷移の演出が素晴らしい。
お試しあれ!

2011.04.15
07:05
author: taikiken
0件のコメント

cXtra, Director xtra が無償になってました

今やほとんど使うことがなくなったDirector。
@nori_togoruさんのついっとで知ったのですが、DirectorのxtraメーカーcXtraが開発継続を中止を発表し全てのxtraを無償解放してくれています。

http://www.cxtra.net/

Dear users,

We decided to stop all activities at cXtra. It’s time for us to work on other projects.

The website will shutdown at the end of 2011.

To help you on your projects, we publish a list of serial keys for all our products which become free for all users.

We wish you all the best.

ひとつの時代が終わったんだと思わされます。

気になって他のextraメーカーのサイトも見てみました。

Printomatic
印刷には欠かせないxtraです。
Director 11に大幅な変更が加えられ再開発を余儀なくされ、しばらくはBeta版を提供してくれてはいたのですが、2008年6月でサイト更新が止まっています。

DirectXtras
Direct OS 使ってたなー。
2004年9月でサイト更新は止まってました。

Magic Modules

Buddy APIで良く知られたxtraメーカーです。
嬉しいことに開発は続けられていました。
な、なんとBuddy APIはDirector 11.5用も提供されています。

INM

V12 Database EngineってDirector ProjectorのDB エンジンを作ってた。
昔々、クローズド・ネットワーク内の業務システムに使ったことがあります。
ここも生き残ってた。
名前を変えてDBエンジンを作り続けてた。
Director 11.5でも動作するらしい。
まぁ、使わないけど。
ほかにもPDF書き出しxtraも作ってます。

Director 11.5 + Buddy APIだったら最新OS対応可能かも。
ということで、Directorのお仕事を下さい。

2011.04.13
13:42
author: taikiken
0件のコメント

オライリー日本の被災者支援キャンペーンで購入した電子書籍

すでにキャンペーンは終了していますが、オライリー・ジャパンが「被災者支援キャンペーン」として電子書籍を大盤振る舞いしてくれていたので大人買いしたリストです。

Android Hacks
jQueryクックブック
iOS SDK HACKS
正規表現クックブック
デザイニング・ウェブインターフェース
Arduinoをはじめよう
Make Electronics

すべてPDFでダウンロード可能でした。
驚いたのは注文後PDFを生成するシステムだったこと。

USサイトはepub, PDF, Kindleと複数タイプのダウンロードが可能なのでいつかは同様になってもらえると嬉しいけど…

2011.04.12
11:01
author: taikiken
0件のコメント

HTML5 Canvas なスゴイやつ

HTML5 Canvasを使ったデモが root.nuclearpixel.com でアップされていました。
Admiral’s HTML5 Canvas experiments #01

他にも…
http://root.nuclearpixel.com/misc/canvas_00.html
http://root.nuclearpixel.com/misc/canvas_01-00_test_spyrograph.html
http://root.nuclearpixel.com/misc/canvas_01-02_test_multistroke_radial_spyrograph.html
http://root.nuclearpixel.com/misc/canvas_01-03_learn_atan2.html

作者の Admiral Potato さんは design scientist だそうです。
Nuclear Pixel

2011.04.12
10:36
author: taikiken
0件のコメント

paper.li, 無精者でも毎日発刊できるオンラインメディア

Twitter / Facebook フォロワーの力を借りて毎日発刊できる新聞もどきなオンラインメディア、paper.li始めました。

Twitter か Facebook のどちらかで作れるようなのでTwitterを選択しました。
http://paper.li/taikiken

レイアウトは新聞ぽい。
いつから始まったサービスかは知らないけどすでにたくさん発刊されています。
Twitter / Facebook がメジャーになったことで付随するサービス開発競争も熾烈だと思わずにいられません。

memolaneと違うのはフォロワーの情報がフィーチャーされてるところでしょうか。
誰をフォローしているのかセンスを問われそうです。
リストをもとにもできるので paper.li ようにリストを作っても面白そうです。

政治家ばかり集めて読むに耐えられるものになるか試してみたい気がします。

2011.04.07
11:08
author: taikiken
0件のコメント

でた!Monster Debugger 3, ActionScript デバッグ・ツール

Monster Debugger の Ver.3 がリリースされています。
Monster Debugger 3 is here!

まだかまだかと待っていました。

Monster Debugger は ActionScript のデバッグ用のAIRアプリケーションです。
Flash, Flex, AIR などのデバッグに重宝します。
コード確認用の trace を代替えできます。
フレームレートやメモリ使用量をグラフ表示してくれます。

ON / OFF が一行で設定できるので、リリースビルドの前にわざわざtrace文を探し出して削除する必要がありません。

Objectやインスタンスのトレースではプロパティやメソッドも全て出力してくれます。
Firebug ではおなじみの機能です。
Flash, Flash Builder のデバッグ機能と併用しながら使っています。

Ver.3 になって作法が少し変わってました。
プロジェクトに追加するMonster DebuggerのASがswcに変更されています。
あとメソッドも少し変わってました。

import flash.display.Sprite;
 
import com.demonsters.debugger.MonsterDebugger;
// 初期化
MonsterDebugger.initialize(this);
// 出力をクリア
MonsterDebugger.clear();
 
// ON / OFF
MonsterDebugger.enabled = true;// false
 
var sp:Sprite = new Sprite();
// trace
MonsterDebugger.trace(this,sp);

Ver.2 の時は Monster Debugger の trace がボトルネックになってしまうことがあったけど、Ver.3ではどうかな。
使い込まないとそこらへんはまだわかんない。

使い方がいたって簡単なところが大好きです。

2011.04.05
18:20
author: taikiken
0件のコメント

facebook-ios-sdk, iOSでFacebookアプリをつくりましょ

Andy Yanok (Twitter) 氏の2011-03-28の記事。
Facebook SDK – Posting to User News Feed

Andy Yanok氏は記事によると Friended for Facebook の制作者だそうです。
Friended for Facebook – NapkinStudio.com

記事を参考にすると短時間でFacebookアプリを作れるようです。

1.http://www.facebook.com/developers/ で登録する

2. facebook-ios-sdk をダウンロード
facebook-ios-sdk は githubにホストされています。
https://github.com/facebook/facebook-ios-sdk

記事末尾にSample Project へのリンクがあります。
同じくgithubにホストされています。
https://github.com/ayanok/Andy-Yanok—Public-Sample-Code

Xcodeでprojectファイルを開いてビルドするとアプリが起動します。

映画の影響かFacebookも盛り上がって行くのでしょうか?
公式・非公式を含め、すでに多くのFacebookアプリが登場していますがアイデア次第で受け入れられることでしょう。
実稼働可能なソースコード付きでサンプルがダウンロードさせていただけるのはありがたいことです。

iOSでFacebookアプリを考えている方は記事に目を通すと良いかと思います。

2011.03.31
12:08
author: taikiken
1件のコメント

AIR 2.6 で iOS アプリ開発 – 参考サイトメモ

AIR for iOS, AIR 2.6で可能になったAIRでiOSアプリ開発に関連するサイトをメモ。

Adobe
Adobe AIR 2.6 開発者向けリリースノート

akihiro kamijo氏
iOS 視点からの Adobe AIR 2.6 の新機能
AIR 2.6 と Android アプリケーション画面の回転
Adobe AIRデベロッパーセンター – 上条 晃宏氏
Android 向け AIR アプリケーションと画面の回転の実現 パート 1
Android 向け AIR アプリケーションと画面の回転の実現 パート 2

英語サイト
Adobe AIR Developer Center
iOS features in Adobe AIR 2.6

Transitioning From AIR 2.5 to 2.6

AIR 2.6 Game Development : iOS included

johnlindquist.com
Top 10 AIR 2.6 for iOS Questions
Flixel on the iPad
*FlixelはGame開発用ライブラリらしい。
Flixelで作られたゲームをiPadでデモするビデオが見れる。
AIR4AIR
AIR4AIRはiOSアプリ作成で証明書とかProvisionningの設定を補助してくれるAIRアプリ。

Flixel
Flash Game Dojo’s Getting Started page
Flash Game Dojo’s online knowledge base

2011.03.25
13:07
author: taikiken
0件のコメント

ActionScript 3 ライブラリ Signals, Event処理を簡単に – DeluxeSignal

数少ない Signals の日本語ドキュメントをヒム・カンパニー 永井さんが作成されていました。
http://www.himco.jp/articles.php

このドキュメントは DevelopRIA の 2010-10-18 の記事 An introduction to AS3 Signals の翻訳になります。
単なる翻訳だけでは無く永井さんの訳注付きのスグレものです。
いつもいつも大変感謝しています。

ActionScript 3 で避けて通れないのが addEventListener, removeEventListener, dispatchEvent だと思います。
しかし、すこぶるめんどくさい。
カスタムイベントを作成する時は、Eventサブクラスを作りEvent定数を作り….などなど儀式にならって初めて使えるようになります。

また、リスナー関数に渡される引数はEventインスタンスになるので独自の値を送る時には別の方法を考えなければなりません。

昨日この点に関して、野中先生がTweetされていらっしゃいました。
http://twitter.com/FumioNonaka/status/50847301408796672
野中先生のサイトで詳しく解説されています。
私にはかなり難解です。
Adobe Flash非公式テクニカルノート:リスナー関数が使う値を外から指定する

これもSignalsなら簡単に実現できます。
引数には好きなものを指定することができます。
もちろんオリジナルのEventインスタンスを指定することも可能です。

また、SignalsでのカスタムイベントではEvent.typeは必要がありません。
これってかなり便利だと思います。

永井さん翻訳のドキュメントでようやく理解できたのは DeluxeSignal と Signal の違いです。
ドキュメントには次のように書かれています。

DeluxeSignal を使用するとターゲットにアクセスできますが、とりわけ重要なのが Signal そのものにもアクセス できるようになるということです。われわれは今後その両方が操作できるようになるのです。もちろん DeluxeSignal にも基本的な Signal の全機能が備わっています。

訳者注: DeluxeSignal のコンストラクタには、値クラスに加え、ターゲット(target)が指定できます。DeluxeSignal イ ンスタンスは指定されたターゲットに代わって、イベントを送出します。 DeluxeSignal(target:Object = null, … valueClasses)
GenericEvent は IEvent インターフェイスを備えるイベントクラスで、public プロパティとして bubbles や curretTarget、target のほか signal(イベントを送出したシグナル)を持っています。

さらにポイントになるのが GenericEvent です。
サンプルコードでは次のように使われています。

 
package insideria.deluxeSignal
{
	import org.osflash.signals.DeluxeSignal;
	import org.osflash.signals.events.GenericEvent;
 
	public class AlarmClock 
	{
		public var alarm:DeluxeSignal;
		public var message:String;
 
		public function AlarmClock() 
		{
			alarm = new DeluxeSignal(this);
			message = "This is a message from our AlarmClock";
		}
 
		public function ring():void
		{
			alarm.dispatch(new GenericEvent());
		}
	}
}
 
 
 
package insideria.deluxeSignal 
{
	import org.osflash.signals.events.GenericEvent;
	import flash.display.Sprite;
 
	public class WakeUp extends Sprite
	{
		private var alarmClock:AlarmClock;
 
		public function WakeUp() 
		{
			alarmClock = new AlarmClock();
			alarmClock.alarm.add(onRing);
			alarmClock.ring();
		}
 
		private function onRing(event:GenericEvent):void
		{
			trace(event.target);
			trace(event.signal);
			trace(event.target.message);
		}
	}
}

GenericEventインスタンスからSignalインスタンスにアクセス可能になります。
これでSignalをaddするClass内でSignalインスタンスを保持する必要がありません。

またtargetプロパティからdispatchインスタンスのプロパティにアクセスできるのも魅力です。

Signalsはgithubからダウンロード可能です。
https://github.com/robertpenner/as3-signals

2011.03.22
18:08
author: taikiken
0件のコメント

ActionScript 3, 配列とオブジェクトを複製する – 2

Array, Objectの複製は前回 Flex API Helpに書かれていた方法で実現できました。
ところが mx ライブラリのAPIをながめているとすでに便利そうなClassが用意されているようです。

mx.utils.ObjectUtil
用意されているメソッドにそれらしきものがあります。

clone
copy

clone

指定されたオブジェクトのクローンを作成し、クローンへの参照を返します。クローンの作成は、ネイティブ直列化方法を使用して行われます。つまりクローン作成中にカスタム直列化が順守されます。clone() は、各オブジェクトインスタンスの uid プロパティが維持される点が copy() と異なります。

copy

指定されたオブジェクトをコピーし、コピーへの参照を返します。コピーは、ネイティブ直列化方法を使用して行われます。つまり、コピー中にカスタム直列化が順守されます。

いまいち違いが分からないのですが uid の部分だけが違うようです。

import mx.utils.ObjectUtil;
 
var obj:Object = {
	red : "赤",
	blue : "青",
	white : "白"
}
 
var ref:Object = obj;
 
var copied:Object = ObjectUtil.copy(obj);
var cloned:Object = ObjectUtil.clone(obj);
 
ref.red = "あか";
 
trace(obj.red, ref.red, copied.red, cloned.red);
// あか あか 赤 赤
trace(ObjectUtil.toString(copied));
/* (Object)#0
  blue = "青"
  red = "赤"
  white = "白" */
trace(ObjectUtil.toString(cloned));
/*(Object)#0
  blue = "青"
  red = "赤"
  uid = (null)
  white = "白" */

ObjectUtil.clone を使い複製すると uid プロパティができました。
clone, copy も前回のByteArrayを使ってAMF 化する方法と同じような処理みたいです。

ObjectUtil.toString は Objectの中身(?)を表示してくれる便利な関数です。
インスタンスも表示してくれます。

mx.utils には他にも便利そうなクラスが色々あります。
mx パッケージ自体がかなり便利そうです。
知らないと色々損すると思わされました。

* Flash CS5で使うためにはFlex SDKのswcライブラリにパスを通して下さい。
Flash CS5でmxライブラリを使う

update 2011-05-17
mx.utils.ObjectUtil で複製可能なものは Object 型に限られているようでした。