イナヅマTVログ

2010.01.30
10:04
author: taikiken
0件のコメント

iPad, AppleのデモビデオじゃFlashが表示されてるよネな話(?)

iPadの発売が待ち遠しい今日この頃です。
Kyenoteを見てエキサイティングな気持ちになった人も多いかと思います。

まぁ、残念なのはデモ中のSafariにFlashのブロークンアイコンが出てたことです。
iPhone に続いて iPad でも Flash の扱いは残念なことになってしまいました。

すっかり色んなところで話題になってますねー。

cnet : アドビ、「iPad」の「Flash」非対応に苦言
Adobe Flash Platform Blog : Apple’s iPad — a broken link?

うーーん、cnetのAppleへの取材で「AppleがiPadでFlashをサポートしないことを認めた」って記事が見つからない、見たのになー。

それはさておき、今の話題は iPad のデモビデオではFlashがちゃんと表示されてる、よなことが伝わってきています。
デモビデオ:http://www.apple.com/jp/ipad/#video

話の出所は
AppleInsider : Apple’s iPad promo materials misleading on Adobe Flash support
Macrumors : iPad Promotional Video and Images Show Properly-Displayed Flash Content

Jobsさんのデモでブロークンアイコンだったけどビデオじゃ表示されてるよねって話ですが、真相はどうなんでしょう・・・

Macrumors : Display of Flash Content in iPad Promo Materials Likely Not Indicative of Actual Flash Compatibility
あれはデモように高解像度の画像を表示してるだけらしい・・・

残念だけどこっちがホントっぽい。

Adobe は iPhone OS 用の Flash Player の準備はできてる様子。
あとは Apple の太っ腹度合いだね。
$499 て価格をつけてくれた位だから期待したい。
ほんと、期待してます。

update 2010-02-02

Web制作が、XHTML + CSS デザイン移行する時に指針のひとつになった「Designing with Web Standards」の著者(Jeffrey Zeldman)のブログにも iPad と Flash に関する投稿がありました。

FLASH, IPAD, STANDARDS

さすがに影響力のある方のエントリー、あっという間に多数のコメントがついています。


2010.01.29
12:09
author: taikiken
1件のコメント

HTML5のビデオコーデック, H.264の未来

cnetのエントリー
HTML5のビデオコーデック–YouTubeの選択に異議を唱えるモジラ

HTML5 video タグでのコーデックについて、YouTube(Google)が採用したH.264コーデックに対しOgg Theoraの方が、と異議を唱えてるって内容。

HTML5 のビデオ規格の問題にも見えるけど、もっと深い問題も含まれてる。
モジラが異議を唱えたのはH.264のライセンスがMPEG LAに押さえられていて、MPEG LAは20010-12-31までは無償でH.264を使わせてあげるけどその後のことは決まってないよ、になってるから。
本ブログのエントリー「Flash Player と H.264 ビデオデータと onMetaData と onXMPData」。

MPEG LAがH.264使用に対しライセンスを要求したら大変なことになりそうだなぁ。
現在HDと呼ばれているビデオはH.264が使われていることがほとんど、Flash ビデオの f4v も同じ。

引き続き無償で使わせてくれたらいいんだけど。
誰がどこでその話し合いをしてるんだろう。
そもそも話し合いは行われているのでしょうか?

ちょっと心配になってきた。

2010.01.27
17:34
author: taikiken
0件のコメント

気になるサイト, astatic notes @inspirit

blog : astatic notes
http://blog.inspirit.ru/
Google Code : in-spirit
http://code.google.com/p/in-spirit/

@inspirit さんのサイトを以前から注目しています。
Google Code にもパーソナルプロジェクトがホストされています。

プロジェクトはいくつかあって、それぞれフォルダ分けされています。
何か1つの目的に向かって作られたものではなく興味の向くままに作られているようです。

Bitmap, 3Dなどの記事など面白い記事ばかり、なかでも
Adaptive Thresholding using Integral Image はお薦め!

http://www.inspirit.ru/
の絵もかわいい。

2010.01.26
15:06
author: taikiken
0件のコメント

【ActionScript】HYPE frameworkっておもしろい

http://hype.joshuadavis.com/
http://www.hypeframework.org/

HYPE framework

HYPE framework はちょっと風変わり(?)な Actionscript フレームワークです。
Flash コンテンツ開発で良く使用するような機能実装を簡単にしてしまおうとしているようです。

簡単に Mouse に追随するインスタンスを作成したりできます。
http://hype.joshuadavis.com/01_background/mousefollow-hype/
http://www.hypeframework.org/01_background/content/mousefollow-hype/
サンプルコードはたったの3行です。

モーションをコントロールする Tween Engine 系の機能もあったりするのですが少々アプローチが違うようです。

KeyboardEvent の取得も簡単に行えるようになっています。
http://hype.joshuadavis.com/02_examples/hotkey/01_hotkey/
http://www.hypeframework.org/02_examples/hotkey/content/01_hotkey/

ObjectPool はインスタンスを文字通り Pool し参照を使い回すことでパフォーマンスの低下を防ごうとしています。
http://hype.joshuadavis.com/02_examples/objectpool/01_objectpool/
http://www.hypeframework.org/02_examples/objectpool/content/01_objectpool/
FITC Tokyo 2009 で gskinner のデモの中の1つに同じアイデアのものがありました。

インスタンスへaddEventListenerしてハンドラ書いてEventを処理するのってたまに億劫になったりするのを助けてくれそうです。
自分自身のプロジェクトにどう組み込むかは難しいところですが、HYPE に収められいるコードや設計思想は面白いなぁと感心しました。

2010.01.22
18:27
author: taikiken
1件のコメント

詳解 ActionScript 3.0アニメーション

Advanced Actionscript 3.0 Animation (Advanced) の日本語訳がもうすぐ発売です。

作者は BIT-101 の Keith Peters さんです。
原書が出版されて1年、待望の翻訳本です。

原書は Advanced の名に恥じない超内容の濃い本でした。
私の英語力では理解不能な箇所もあり翻訳されるのを首をながーくして待っていました。

Keith さんの本はコードを完成させていく過程をわかりやすく解説してくれているのでとても助かります。
「衝突判定」はこの章だけでも購入する価値があったと思っています。

その待望の翻訳は オライリージャパンからの出版になります。
Amazonでは1/25からの発売予定で現在予約を受け付けています。

前作の ActionScript 3.0 アニメーション と2冊揃えて本棚に並べておくと、きっとこいつFlashできるやつと思われるのではないかと期待して予約をすることにします。

2009 FITC Tokyo でサインをもらえば良かったと、今さらながら悔やんでいます。

update
BIT-101 でもエントリーがありました。
AdvancED ActionScript 3.0 Animation published in Japan
著者ご本人も喜んでいるようです。

2010.01.15
12:24
author: taikiken
2件のコメント

gordon, runtime written in pure JavaScript 続報

iPhone で FLash(swf)再生できると小躍りした、gordon Javascript ライブラリでしたが、実際には少々違うもののようです。
Gordon, iPhoneでFlashを再生する魔法のJavascriptライブラリ

SWFファイルを SVG へ変換し HTML 5 アニメーションを行うもののようです。
現在、変換できるSWFも Flash Player 1 をターゲットに書出されたものに限定されるようです。(詳しく検証していないので間違っているかもしれません)
ボタン機能も実現できるとDemoファイルがアップされています。
Button Demo
http://jancona.com/gordon/demos/buttons.html

インスタンスにActionscriptを記述すれば良いようです。

on (release) {
}

必ずしもファイルを2880px近くにしなくても良いみたいなのですが、デモファイル(blue.swf)が 2834 x 2805 な理由は良くわかりません。

将来はActionscript 2サポートも視野に入っているようなので期待したいと思います。

【感想】
iPhone で Flash を再生させるためのライブラリと期待するとがっかりするかと思います。
swf を SVG へ変換するためのライブラリでアニメーションも可能です。
Flash で HTML 5 アニメーションを作れると思うとかなり嬉しいかな。

今後の開発動向を目が離せないことには間違いありません。

gordon ライブラリの動向が気になる方は @tobeytailor のTwitterをフォローすると良いでしょう。

update 2010-01-17
gordon を使ったコンテンツをiPhoneで見てるとみるみるバッテリーが減ります。
これはgordonが悪いわけでなくiPhone Safari が HTML 5 アニメーション再生にCPUを使いまくるのでしょう。

4月とかウワサされているデュアルコアCPUなiPhonenなら楽々処理してしまうのかもしれません、本物のFlashが再生されるiPhoneになってることを祈りたいものです。

update 2010-01-26
2010-01-18 にソースコードの一部がアップデートされています。
Twitter情報によれば最適化を施したようでiPhoneのCPUを使いまくりはしなくなったらしいです。

update 2010-02-02
2010-01-31 にソースがアップデートされています。

some bug fixes and performance improvements

らしいので gordon 使いは must update です。

update 2010-02-21
gordon 作者の @tobeytailor のツイート

After reading several posts about Gordon, i’ve to clarify one important detail: It’s NOT a Flash Player emulator, it’s a SWF interpreter!

別にFlash Player エミュレータを作った訳じゃないよってことかな。

update 2010-03-17
http://www.publickey1.jp/blog/10/flashhtml5canvas.html
アドビ、FlashをHTML5のCanvasへ変換するプロトタイプ機能を明らかに。アニメーションも変換

http://blogs.adobe.com/designandweb/2010/03/canvas_for_designers.html
Canvas for Designers

Adobeもやってるよ、な話が聞こえてくるようになりました。

HTML 5 + CSS 3 の Canvas を利用したコンテンツ制作って敷居が高そう。
普及させるためには制作ツールの充実が欠かせないと思ってました。
業界筆頭の Adobe さんが作ってくれるなら歓迎です。
iPhone / iPod Touch / iPad が Flash 非対応なことはおいといて・・・

Flash -> コンバータ -> HTML 5 のコンバータ部分が gorodon や Adobe でできるなら嬉しい。

でも、Flash 対 HTML 5 な話には興味ない。
Flash でしか提供できない感覚ってあると思うから・・・

2010.01.14
14:32
author: taikiken
4件のコメント

Gordon, iPhoneでFlashを再生する魔法のJavaScriptライブラリ

つ、ついにiPhone SafariでFlashが再生されました。

ajaxian.com
http://ajaxian.com/archives/gordon-flash-runtime-implemented-in-javascript

github
http://github.com/tobeytailor/gordon

Twitter
http://twitter.com/tobeytailor

githubのダウンロードファイルにサンプルファイルが添付されています。
tobeytailorさんのGordonライブラリはJavaScriptです。
iPhone Safari の HTML 5機能を使っているようです。
swfを解析してSVG分解してるのかなぁー。
Actionscriptも使えるようです。

Button Demo
http://jancona.com/gordon/demos/buttons.html

ajaxian.comにはオンラインファイルへのリンクがあります。

See Gordon in action (demos hosted by Paul Irish).

確かに、iPhone Safari でFlashが再生されています。

残念ながらFlashファイルの作成方法がよくわかりません。
Actionscript 2 でないといけないらしいのは@tobeytailorさんのTLにでています。
サンプルファイルのswfサイズがFlashで作成できる上限サイズ2880pxなのはどういうこと・・・

これからボチボチ試していこう。。。

update 2010-01-14 19:50
Demo の blue.swf は 2834 x 2805, 30fps
こうやって作らないといけないのかなぁー

update 2010-01-14 21:04
gordonライブラリ作者の@tobeytailorさんのTwiiterによれば・・・

@all Gordon will not aim to be Flash for the iPhone…well, not yet.

だそうです。

gordonライブラリはswfを解析しHTML 5 のSVGにしてしまおうとしてるようです。
そのためにswfの作成には、それようの作り方How toがあるのだと思います。

update 2010-01-15 10:12
いくつか分かりました。
Flash Player 1をターゲットに作成する。
サイズはマックスサイズで作成する。

WebKit系で再生できるファイルができました。
iPhone で Flash(swf)再生

update 2010-01-15 10:29
iPhoneで再生できるけどなぁー。
なんか微妙。
これはFlashを再生してるとは言えないよね。
FlashでHTML 5+SVGのアニメーションが作成できました。としか言えない気がする。
@tobeytailorさんのチャレンジはすばらしいと思いますが、やっぱり無理がある。。

Appleが素直にFlash Playerを実装してくれたら良いのですが、Appストアの兼合いで「イイヨ」ってなかなか言えないのでしょう。
これは政治の話になるんだよね、残念。

続きgordon, runtime written in pure JavaScript 続報

2010.01.11
16:57
author: taikiken
0件のコメント

Text Layout Framework, Flashで縦書きレイアウト

Text Layout Framework を使って「縦書き」文章レイアウトを行いました。

文章は青空文庫の北大路魯山人作「若鮎について」を使わせていただきました。

Text Layout Framework を使うと Flash 上の文章をHTML+CSSのように手軽に操れることも分かってきました。
あるいはJavaScriptのようにDOM操作もできるようです。

これはFlashにとってすばらしい出来事です。
CS5が登場し、この Text Layout Framework から早く Betaがとれることを願わずにはいられません。

Sample File
Textlayout Frame Work – 縦書き
*Flash Player 10以上が必要です。

import flash.text.engine.FontLookup;
import flash.text.engine.FontWeight;
 
import flashx.textLayout.container.ContainerController;
import flashx.textLayout.edit.SelectionManager;
import flashx.textLayout.elements.DivElement;
import flashx.textLayout.elements.ParagraphElement;
import flashx.textLayout.elements.SpanElement;
import flashx.textLayout.elements.TextFlow;
import flashx.textLayout.formats.BlockProgression;
import flashx.textLayout.formats.Direction;
import flashx.textLayout.formats.TextAlign;
import flashx.textLayout.formats.BaselineOffset;
 
var xml:XML = <book>
	<author>北大路魯山人</author>
	<title>若鮎について</title>
 
	<body>
		<line>あゆの小さなものは、どうかするとうまくないというひともあるが、わたしは一概にそうは思わない。</line>
		<line>小田原の手前に酒匂川《さかわがわ》という川がある。まだ禁漁中にあの近辺のひとが酒匂川のあゆをよく盗み取りするが、わたしはそれをもらうことがあって、たびたび食ったことがある。大きさはまだやっと一寸ぐらいのものだが、ちょっとあぶって食うと、実に調子の高いうまさが舌になじむ。</line>
		<line>もっとも、最初東京にはいってくるものは、江州《ごうしゅう》地方でいわゆるあゆの飴煮《あめに》にするものであって、これはあまり美味なものではない。あゆは不思議な魚で、水勢のないところでは大きくならない。また同じ水勢であっても、水質や餌《えさ》の関係であろうか、川によって成長率が違う。一般に大きな川のあゆは大きくなり、小さな川のものは小さく育つようである。</line>
		<line>琵琶湖のあゆは非常に小さく、一年経っても若あゆ以上に大きくならない。大きくならないで一人前に子を持っている。昔は琵琶湖のあゆは他のあゆとはまったく種類が違うかと思われたが、その実、琵琶湖で生まれた子あゆが江州から石山などを通って宇治川へ落ちて出ると、立派に成長するらしい。それかあらぬか、琵琶湖で孵化《ふか》したあゆの稚魚を地方の渓流へ放流すると、通常のあゆ通り立派に成長することが分って、近来は諸所で盛んに放魚が行われているようだ。</line>
		<line>琵琶湖では、あゆの稚魚を茄《ゆ》でてひうおと呼んでいる。このひうおの大ぶりなのが飴煮にされて来るもので、琵琶湖にはほとんど無限といってよいほど発生する。それがこの頃では諸地方の大川へどしどし放流され、あゆの産出を全国的に増加させている。この点、あゆ党にとってはまことにありがたいことである。</line>
		<line>ところで、前述の琵琶湖産のひうおなるものは、なんといっても小さすぎるから、みた目の割合にうまくない。しかし、このひうおも川に出て成長してからは一人前のあゆの味を備え、やはりうまい。そこで、先の酒匂川の若あゆのことなども合わせて考えてみると、若あゆなるものは結局琵琶湖のひうおではあゆらしいうまさはないが、初めから河川で発生したものはちょっとぐらいでも、すでに立派な美食価値を持っている。いわば、それぞれの川の味をもっているのだ。</line>
	</body>
</book>;
 
// TextFlow
var flow:TextFlow = new TextFlow();
flow.color = 0x333333;
flow.fontSize = 14;
flow.lineHeight = 20;
flow.fontFamily = 'ヒラギノ明朝 Pro W3, メイリオ, MS P明朝, _serif';
flow.fontLookup = FontLookup.DEVICE;
flow.locale = "ja";
flow.direction = Direction.LTR;
flow.blockProgression = BlockProgression.RL;
flow.interactionManager = new SelectionManager();
 
// div
var div:DivElement = new DivElement();
flow.addChild(div);
 
// title
var titleP:ParagraphElement = new ParagraphElement();
var titleSpan:SpanElement = new SpanElement();
titleSpan.text = xml.title;
titleSpan.fontSize = 24;
titleSpan.color = 0x000000;
titleSpan.fontWeight = FontWeight.BOLD;
titleSpan.lineHeight = 48;
 
titleP.addChild(titleSpan);
div.addChild(titleP);
 
// author
var authorP:ParagraphElement = new ParagraphElement();
authorP.textAlign = TextAlign.END;
authorP.paragraphEndIndent = 100;
var authorSpan:SpanElement = new SpanElement();
authorSpan.text = xml.author;
authorSpan.fontSize = 18;
authorSpan.lineHeight = 36;
 
authorP.addChild(authorSpan);
div.addChild(authorP);
 
// body
var i:int = -1;
var limit:int = xml.body.line.length() -1;
for ( ;i++ < limit; )
{
	var p:ParagraphElement = new ParagraphElement();
	p.textIndent = 14;
	p.paddingRight = 100;
	var span:SpanElement = new SpanElement();
	span.text = xml.body.line[i];
 
	p.addChild(span);
	div.addChild(p);
	p = null;
	span = null;
}
 
var sprite:Sprite = new Sprite();
sprite.x = 10;
sprite.y = 10;
 
addChild(sprite);
 
flow.flowComposer.addController(new ContainerController(sprite, 780, 480));
flow.flowComposer.updateAllControllers();

Flash Builder Beta 2 + Flex SDK 4

2010.01.08
03:34
author: taikiken
0件のコメント

Text Layout Framework, はじめの一歩

Text Layout Framework
Flashの文字表示を驚くほど多種多様にコントロールできるText Layout Framework
細かく設定できるのはいいけど、同じ結果になるのにも何通りもの方法があるようです。ものにできるには少々覚悟が必要だと思います。

右往左往しながら使ってみたのですが、コアなClassがあるようです。

TextFlow
ヘルプによれば・・・

The TextFlow class is responsible for managing all the text content of a story. In TextLayout, text is stored in a hierarchical tree of elements. TextFlow is the root object of the element tree. All elements on the tree derive from the base class, FlowElement.

TextFlowがルートオブジェクトになるらしい。
なにはさておきTextFlowインスタンスを作るのが吉らしい。
まずはTextFilterを使ってインスタンスを作成。

でも、このTextFilterってAPIにのってないんだよなぁー。
のってるのはflashx.textLayout.conversion.TextConverter
プロパティとメソッドは同じようだけど・・・

import flashx.textLayout.elements.TextFlow;
import flashx.textLayout.conversion.TextFilter;
import flashx.textLayout.formats.BlockProgression;
import flashx.textLayout.factory.TextLineFactory;
import flash.geom.Rectangle;
import flash.text.engine.TextLine;
 
// TextFlowインスタンス作成
var flow:TextFlow = TextFilter.importToFlow("ここに文章を設定。今回はプレインタイプのテキスト。", TextFilter.PLAIN_TEXT_FORMAT);
// 縦書き
flow.blockProgression  = BlockProgression.RL;
// テキストブロック x:0, y:20, w:500, h:300
var bounds:Rectangle =  new Rectangle(0, 20, 500, 300);
// 出力
TextLineFactory.createTextLinesFromTextFlow(
	function (tl:TextLine):void {
		 addChild(tl);
	}
	, flow
	, bounds
);

縦書き文字が表示される。
初めの一歩としては、こんなものでしょうか。

font-maily, font-size, color…etc
など色々設定してみたい。

DOM操作するようにもっと細かな制御もしてみたい。
それはまた今度にしてみる。

良くわからないのは、TextFilterTextConverterに変えるとコンパイルエラーになっちゃう。

1046: 型が見つからないか、コンパイル時定数ではありません : ImportExportConfiguration。

発展途中のベータ版だし、しょうがないか。

追記
と、ココまで書いていて大事なことに気がついた。
Adobe Labs : http://labs.adobe.com/downloads/textlayout.html のFlash CS4 Componentが古いことに!
APIにないClassを使ったりするのはそのせいだった様子。

Extension Manager から Text Layout Flash Component 0.207.0を削除し textLayout.swc を使用するようにした。
上記コードを書き直した。

import flashx.textLayout.elements.TextFlow;
import flashx.textLayout.conversion.TextConverter;
import flashx.textLayout.factory.TextFlowTextLineFactory;
import flashx.textLayout.formats.BlockProgression;
 
import flash.display.DisplayObject;
import flash.geom.Rectangle;
 
// TextFlowインスタンス作成
var flow:TextFlow = TextConverter.importToFlow("ここに文章を設定。今回はプレインタイプのテキスト。", TextConverter.PLAIN_TEXT_FORMAT);
// 縦書き
flow.blockProgression  = BlockProgression.RL;
// TextFlowTextLineFactoryインスタンス作成
var factory:TextFlowTextLineFactory = new TextFlowTextLineFactory();
// テキストブロック x:0, y:20, w:500, h:300
factory.compositionBounds = new Rectangle(0,20,500,300);
// 出力
factory.createTextLines(
	function (d:DisplayObject):void {
		addChild(d);
	}
	, flow
);

こっちの方がコードがスッキリしてる。

Flash CS4 でTLFコンポーネントを使うやり方は一世代前の方法みたいだ、Flex SDKから textLayout.swc を取出して使うことにする。
Using the Text Layout Framework with Adobe Flash CS4 Professional
このリンク先の方法が◯ってことだね。

Adobe Labs にTLFコンポーネントへのリンクが残ってるのが間違いの元なんだよ。 🙁

update
CS4 を使い始めたばかりで誤解がありました。
.swc をパス指定で使用できるようになってたんですね。
必ずしも.mxpでコンポーネントをインストールしなくても良くなって、使い勝手は著しく向上しています。

CS3と同じようにに.mxpをインストールさせるタイプのものがあることも分かりました。

2010.01.01
01:33
author: taikiken
0件のコメント

ImageTone type Theremin Beta 1, Webcamが楽器に・・・

先日(2009-12-26)の福岡てら子でお見せした音ものコンテンツの1つを公開します。

ImageTone type Theremin Beta 1

ImageTone type Theremin は Webcam を使い、映された手(指)をマウスがわりにコントローラにして音を出す楽器です。
画面右の赤い縦線を右手を使ってカメラの前で遮ると、音が鳴ります。
Webcamで撮影された画像は操作しやすいように反転させているので、鏡に映ったように見えています。
画面の高い位置で遮ると高い音が鳴ります。
低い位置だと低い音が鳴ります。

左の青い線を遮ると音色が変わります。

音の生成には SiON を使いました。

【使い方】
起動後Webcamを「許可」して下さい。
カメラ画像が表示されたら「スペースバー」を押すと「音」を鳴らすことができます。
カメラに映し出された手で「赤い線」を遮ると「音」が鳴ります。
「青い線」を遮ると、遮っている間音色が変わります。
もう一度「スペースバー」を押すと「音」を鳴らす処理が停止します。

背景が赤・オレンジ系・白の場所での使用はお控えください。
背景に反応し音が鳴りっぱなしに鳴る可能性があります。

手にうまく反応できない時は「Min」「Max」スライダーを操作して下さい。
「Min」「Max」スライダーはマウスで操作して下さい。
デフォルトは Min:10, Max:20 です。
Max を大きくすると反応が良くなります。
手以外でも反応しすぎる時はMinを大きくして下さい。

注意
まだまだ操作性には改善の余地が多いにあります。
オプティマイズもまだまだ途中です。
かなり負荷の高い処理が連続して走ります、ブラウザがハングアップしたり最悪の場合はシステムをも巻き込んで落ちてしまうかもしれません。
それでもチャレンジしてみようという心優しい方、お使いいただき使用感、バグリポート、改善要望などなどコメントとしてお聞かせください。

*Flash Player 10 + Webcam が必要です。
*ImageTone type Theremin Beta 1を再生することで起きたいかなるトラブルも保証できません。

ImageTone type Theremin Beta 1

再度お願いです。
感想などコメントで残していただけると助かります。 😮