FlashCS3のIDE上で、フォントシンボルを使った埋め込みフォントが、全く上手く行かなかったので
対処法を探しました。いやーハマった。
まず何も考えずに僕が試した方法は、以下の通り。
Flash8の感覚でやると、こうではなかろうか?
間違った方法
[js]
import flash.text.*;
// テキストフォーマットを作成
var format:TextFormat = new TextFormat();
format.size = 30;
//フォントをリンケージ名で指定する
format.font = ‘MyFont’;
// テキストフィールドを作成
var field:TextField = new TextField();
field.defaultTextFormat = format;
field.embedFonts = true;
field.antiAliasType = AntiAliasType.ADVANCED;
field.text = ‘テスト’;
// ステージに配置
addChild( field );
[/js]
そして、ライブラリに「新しいフォント」シンボルを作る、
埋め込むフォントを指定して、リンケージを設定だ。


これでコンパイルすると、フォントが表示されません。。
調べた
で、調べてみるとあった。
Font embedding problems in Flash CS3 IDE
ざっくりと呼んでみると
Font.enumerateFonts()で埋め込んだフォントを調べてみると
フォントの名前がリンケージ名じゃないから
TextFormat.fontでリンケージ名を指定しても、フォントが見つからないって寸法だ。
やってみた
それを回避するための方法が以下
[js]
//FontクラスのサブクラスMyFontからフォント名を取得
format.font = new MyFont().fontName;
[/js]
できた!
ライブラリにフォントシンボルを作って、リンケージを指定するときに
ベースクラスがflash.text.Fontだった事に気づいていると思う。
CS3では、リンケージ名=クラス名だから、クラスのインスタンスプロパティを使ってあげれば良いという事になる。
Posted in
actionscript3.0,
flash,
日記 at 10月 3rd, 2007.
No Comments.
Flash、Flexデベロッパの僕から見て、Silverlightって何なのか?
ちょっとまとめてみました。間違っている部分もあるかと思いますが、あしからず・・。
ちなみに、僕はMicroSoft系の言語はさっぱりです。VBはおろか、エクセルのマクロだって使えませんよ、はい。
Silverlightってどういう技術?
-
ブラウザ上でリッチインタラクティブアプリケーション(RIA)を実現する。
-
Windows、Macで動作。クロスプラットフォーム。(LinuxではMoonlightプロジェクトにより動作可能となるらしい)
-
Webブラウザ用プラグイン、IE、FireFox、Safari対応。
これだけ見ると、Flashと変わらないような気がするよね。うーん。
Silverlightのメリット
- 強力なマルチメディア関連のサポート
- ハイビジョン相当(HD 720p)の動画を配信可能
- デジタル著作権管理(DRM)
- 開発言語の選択が可能
- C#
- C++
- VB
- Python
- Ruby
- JavaScript
- .Net Frameworkベース。
大手GyaoがSilverlightを採用したニュースは、ご存じのとおり
DRM対応ってのはポイント高いですね。
しかしFlashだって、H.264 HDにまで対応するので、画質的な差はほとんどないんじゃなかろうか・・。
Silverlight1.1からCLRが含まれ、「.NETプラットホームのサブセットをブラウザから使える」とのこと。
この辺よくわからなかったんですが、.NET標準のUIライブラリなんかが利用できると考えていいのかなぁ?
開発の言語を選べるというのは、結構素敵なんですが
実際同じプロジェクトみんなが使える言語となると、自ずと選択肢が決まってくる気がするのですげーメリットっていう感じでもないな。
開発スタイル
- 普通のテキストエディタで作る
- Visual Studioを使って開発
- Expression Blendで開発
簡単なサンプル程度なら、ランタイムをいれて、テキストエディタでも十分開発可能です。
でもギャラリーの「Page Turn」のサンプルソースコードを見ると
あの程度でも、結構膨大なソースなのでちゃんとしたものを作ろうとしたらBlendとVisual Studioは必須なのではないだろうか。
実際の所どうなのよ?
Flex2とSilverlightの公式サンプルアプリケーションをざっと見比べてみる。
Silverlightのサンプルページ
http://silverlight.net/community/gallerydetail.aspx?cat=3
http://silverlight.net/community/gallerydetail.aspx?cat=4
Flex2のサンプルページ
http://www.adobe.com/jp/devnet/flex/
う~ん。エンタープライズなアプリケーションを現段階のSilverlightで開発するのは
果てしなく難易度が高い気がするんだが・・。
Flexの良いところは、高度なUIコンポーネントが標準で用意されていて
しかもスキンの変更なんかが楽ちんなところにあると思う。
SilverlightはどこまでUIコンポーネントが用意されるのか、興味津々ではある。
一応作ったサンプル
さすがに何も作らないという訳にもいかないので、申し訳程度に、サンプルを作りました。
円のオブジェクトがロールオーバー、ロールアウトに反応して、色が変わるという
ものすごく朴訥としたサンプルアプリケーションです。
当然ながらSilverlightのランタイムがないと見れないので
インストールしてない方は、こちらからインストールするべし。
見る
ソースをダウンロード
まとめ
今のところ、SilverLightはFlashほどグラフィックとアニメーションに強い印象もなく
Flexほどエンタープライズに強い印象もなく、中途半端な感じ。
Flexの方はJava開発者の流入が多いみたいだけれど、Silverlight(WPF)には.Net開発者が中心になるんだろうなと。
参考サイト
Microsoft Silverlight: Light Up the Web
ふるにゃん - 初めてのSilverlight 1.1α + Expression Blend β2(取っ掛かり編?)
「GyaO」がSilverlight採用へ 映画予告編でテスト配信
Posted in
flash,
flex,
silverlight at 9月 21st, 2007.
No Comments.
Ruby on RailsとAdobe AIRでデスクトップアプリを作る
第1回:付箋紙アプリケーションを作ろう!
http://www.thinkit.co.jp/free/article/0709/3/1/
はてブで注目エントリーになってた。
僕が登録した時にはまだ1桁だったのだが、RailsとAIRのお手軽な組み合わせに注目している人が多いという事の表れか?
scaffold_resourceなんて知らなかったなぁ。
そろそろAIRとRoRでなんか作っておかないと時代に乗り遅れると思いつつ。
おもしろいもん作ろうと思って、始める前から挫折している自分ガイル。
やっぱ付箋くらいが妥当だよな。
仕事で詰まって、徹夜。
イライラしたので、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の学習中です。
同時にCairnGormも勉強してます。
ちょろちょろとブログに書いていきたいなと。
Posted in
flex,
日記 at 8月 23rd, 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で何回も設計実装してるから作れるぞ。
むしろそのまま採用して欲しいくらいだぞ。
ま、問題は作る時間があるかって話だね。ははは。
Adobe Apollo触り始めました。
といっても、実はM2版のApolloを持っていたので
他の人より早く触れる状態にはあったんだけど
ドキュメント見て、HelloWorld作っただけでした。
アルファ公開ということで、一気に情報が増えて
もう全然皆さんに追いつけないのですが、のんびり公開ができればなぁと思います。
開発環境は
Mac 10.4 + Vim + Apollo SDK with Terminal
FlexBuilder2を持っていないので、地道に無料で開発できる手段でがんばります。
FlexBuilder欲しいなぁ。
Posted in
air,
日記 at 3月 26th, 2007.
No Comments.
つい3日前くらいまで、自分がFlash Lite2.0を触ることになるとは思っていなかったんですが
仕事で開発することになったので、メモ。
まずここから「Flash Professional 8 用 Flash Lite 2 アップデート」をダウンロードして
Flash Professional 8で、Flash Lite2.0を開発できるようにしておきます。
http://www.adobe.com/jp/support/flash/downloads.html
それからLite2.0の情報を集めます。
http://www.dango-itimi.com/blog/archives/2006/000912.html
http://www.trick7.com/blog/flash_lite/
この辺のブログが参考になりました。
各端末の情報とか
ソフトバンク端末情報
ドコモ端末情報
au端末情報
Read More…
デブサミ楽しんできました。
主にApollo系で今回(僕が)しった情報。
・M3=開発者向けSDKリリース 3月予定
・Apolloアプリへのドラッグ&ドロップ可能
・バックエンド稼働可能
・サーバからアプリへのデータプッシュ可能(待ち受け状態?)
・アプリ(SWF?)の差分アップデート機能(Flash9で実装済み?ちょっとその辺理解が曖昧)
・SDKは無料配布。つまりすでにコマンドライン版のFlex2SDKで開発環境があれば、Apolloも無料で開発できる。
・DreamWeaverでもプラグインとかで開発ができるようになるらしい。
・HTMLベースのApolloアプリはM3で実装される予定らしい
といった感じかなぁ。これ以外は特に目新しい情報はなかったかな。
実際にFlex2Builderで開発するデモを見たけど
Flash9メインでApolloを開発ってのは、非現実的かもなぁという印象を受けた。
僕は素直にFlex2で開発したいと思いました。