仕事で詰まって、徹夜。
イライラしたので、AIRでなんか作ろうと思った。
今も反省してない。
で、ですね。AIRで何か作るうんぬん以前の問題で行き詰まる。
仕事に行き詰まり、趣味に行き詰まり、
行き詰まってばかりだな。。
AIRを使って、はてなのRSSを取得して、どーこーしようと思ったのだけれど
EX4を使って、XMLの操作すらできなかった。無念。
以下駄目な例:
[js]
var rss:XML =
http://b.hatena.ne.jp/zackle
zackleのブックマーク
;
trace(rss.channel.title==null); // false
trace(rss.channel.title); //
[/js]
rss.channel.titleは空ではないが、EX4で操作できない。
これで数時間詰まる。
で、以下のようにして解決
[js]
var rss:XML =
http://b.hatena.ne.jp/zackle
zackleのブックマーク
;
// デフォルト名前空間を設定
default xml namespace = new Namespace(“http://purl.org/rss/1.0/”);
trace(rss.channel.title==null); // false
trace(rss.channel.title); // zackleのブックマーク
[/js]
default xml namespace
は、珍妙なシンタックスに見えるが、ここまでで1つのディレクティブらしい。
http://livedocs.adobe.com/flex/2_jp/langref/statements.html#default
xmlns:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#”
の方に気を取られていたんだけれど
大事なのは
xmlns=”http://purl.org/rss/1.0/”
XMLに疎いのですが、恐らくデフォルトの名前空間を”http://purl.org/rss/1.0/”にしているんだな。
試しにこうしてみたら、普通に通る。
[js]
// ルートノードのxmlnsを削除してみる
var rss:XML =
http://b.hatena.ne.jp/zackle
zackleのブックマーク
;
//default xml namespace = new Namespace(“http://purl.org/rss/1.0/”);
trace(rss.channel.title==null); // false
trace(rss.channel.title); // zackleのブックマーク
[/js]
Posted in
actionscript3.0,
flash,
日記 at 8月 28th, 2007.
No Comments.
やっとFlex2に本格的に触れそうなので
環境を用意しました。
FlashDevelop3を使うにあたり、英語でも全くなんの問題もなかったのですが
リファレンスのURLをちょいちょい変更したついでに日本語化もしました。
よろしければどうぞ。
mainmenu.zip
MainMenu.xmlを
C:\Program Files\FlashDevelop\FirstRun\Settings
に放り込んでください。
当然、オリジナルのファイルは要バックアップです。
enjoy!
http://www.schillmania.com/projects/soundmanager2/
このFLV版を作るのは結構容易いだろうなぁと思った。
最近特に何もしてないし
比較的FLVとExternalInterfaceは得意だから作ってみようかなぁと。
AS3.0でFLVを再生するくらいのスクリプトなら、5分もあれば書ける。ていうか書けた。
基本的なUIをHTML側にやらせて、
それをFlashに以上するだけだから
[js]
flv = new FlvJS();
$(‘flvplayer’).apendChild(flv);
flv.play(‘hoge.flv’);
[/js]
てなJSを書いたら
ExternalInterface経由で、そのままNetStreamに委譲すればいいわけだ。
あと基本的なイベントのコールバックも受け取れるようにすれば。
そういうのは、eyevioで何回も設計実装してるから作れるぞ。
むしろそのまま採用して欲しいくらいだぞ。
ま、問題は作る時間があるかって話だね。ははは。
デブサミ楽しんできました。
主にApollo系で今回(僕が)しった情報。
・M3=開発者向けSDKリリース 3月予定
・Apolloアプリへのドラッグ&ドロップ可能
・バックエンド稼働可能
・サーバからアプリへのデータプッシュ可能(待ち受け状態?)
・アプリ(SWF?)の差分アップデート機能(Flash9で実装済み?ちょっとその辺理解が曖昧)
・SDKは無料配布。つまりすでにコマンドライン版のFlex2SDKで開発環境があれば、Apolloも無料で開発できる。
・DreamWeaverでもプラグインとかで開発ができるようになるらしい。
・HTMLベースのApolloアプリはM3で実装される予定らしい
といった感じかなぁ。これ以外は特に目新しい情報はなかったかな。
実際にFlex2Builderで開発するデモを見たけど
Flash9メインでApolloを開発ってのは、非現実的かもなぁという印象を受けた。
僕は素直にFlex2で開発したいと思いました。
Canvasの存在を知った時に、とりあえず作ってみたサンプルが
そのままデスクトップに放置してあったので公開してみます。
サンプルはここです。
忙しくて全然手を付けられないや。
Canvasを使ったグラフライブラリはいくつかあるけど
グラフ以外にCanvasの良い利用法って何かねぇ・・・。
全然思いつかないや。
Read More…
インスタンス変数のオーバーライドができないのは、
コンストラクタがprivateにできないのと同様に非常にやっかいな問題だと思うんだけど、今日ついに引っかかった。
クラスの初期化(コンストラクタやコンストラクタから呼ばれるメソッドで使う)用の変数として用意したものは、どうあがいても変更できねぇー。
いや、できるんだけど、早すぎるか、遅すぎるかっていう問題にぶちあたる。
継承したクラスのコンストラクタでsuperの前で変数を変更すれば、親クラスのコンストラクタでご丁寧に最初期化され、superのあとでは当然もう使い終わった後なので、全く意味がない。
クラスの設計がAS3的じゃないってことなんだろうけど、なんだかなぁと思う。萎えるよ。
Read More…
先週の休みに作ったものをうpしました。

Particles
ソースコードつきです。
Read More…
[JavaScript]Deferredチェーン、非同期処理の逐次実行
http://d.hatena.ne.jp/brazil/20061229/1167352281
昨日作ったやつ、これを参考にしてもっとビューチフルになるんじゃまいかと。
MochiKit.Async.Deferredは、「現時点ではまた利用できない値」を扱うためのクラスです。
よく把握してないんだけど、このサンプルだと
Deferred.addCallback
に追加したメソッドの戻り値をどんどんつなぎ渡している雰囲気だよね。この発想はなかった。
d.callback(1);
で、最初に渡す引数を与えて、どんどんチェーンしていくのね。おもしろい。
どういうシチュエーションで使うのが効果的なのかまだ思いつかないけれども、mochkitおもしろそう。
なんといっても追加するメソッドの引数をそのままreturnっていうのがシンプルでいいなぁ。
昨日作ったやつは、非同期とかいいつつも別に非同期じゃなくてもイケるようになっているので、Asyncとかいうクラスの名前もThreadというクラスの名前も気に入ってなくて、何か良い名前ないかなぁと。
で、休日やろうと手をいれてみようと思ったけど、会社にソース忘れた。ぐすん。
なので、Processingライクな、というかいわゆるParticles系のスクリプトを書きたいと思った時にいつでも書けるように、メインクラスとIParticleインターフェイスを作った。インターフェイスを実装したシンプルなParticleクラスを作って、その都度継承してけばいいなと。
JavaScriptもかわいいけど、AS3もかわいい。
Array.forEachとかうれしい。
AS3で、よくわかんないのは、DisplayObjectに対して直接beginFillとかで描画しても、マウスイベントの対象にならない。しかたなく子供のSpriteとかをaddChildするんだけど、どうにかならないものか・・。
Processingで作った作品をAS3に移植しました。
プログラムのイメージ画像。
こちらもご覧ください。
FlashDevelop環境で、AS3を開発してみる。
Read More…
さっそくFlashDevelop環境を試してみた。
Processingで単純なプログラムを作ってみたので、それを移植。
ランダムに色、位置、角度を変更しながら毎フレーム十字のオブジェクトをキャンバスに配置するだけのプログラム。
十字を描くプログラムなのでCrossDrawerという名前にしました。

プログラムのイメージ画像。
もの自体は簡単なので、今回はFlashDevelop環境でどう作るのか?という感じです。
Read More…