twitter APIの仕様書

No Comments

twitter APIを利用して何かを作るときに必ず必要となってくるのが、APIの仕様書。
日本語版はないのかと探していたら、結構あったので紹介。

Twitter API 仕様書 (勝手に日本語訳シリーズ)
http://watcher.moe-nifty.com/memo/2007/04/twitter_api.html

実は、1時間または1日で何回リクエストを飛ばせるのか調べていた。(twitter APIは、1時間に150回までと回数が決まっていた。)作っていると1時間150回はアッという間に越えてしまう。3回ほど、リクエスト回数制限エラーにひかかった。XMLで返ってくるからメッセージ解析する、スクリプトも組まなくちゃ。

もうすぐ完成。
AS3のいろんな発見ができて楽しい。


追記(2009/9/1)

はてぶを見てたら、リンク先が間違っていた。
リンク先を修正しました。

Twitter API 仕様書

flashDevelopにおけるフォント埋め込みにハマった

No Comments

flashDevelopを利用した場合のフォントの埋め込みをする方法がよくわからなかったので、調べてみた。

フォントファイルを指定して埋め込む
この方法は、「.ttf」しか使えないみたい。なので、今はほとんどがOpen fontなのでフォントを改めて探したりしないといけないので、面倒かも。まぁ、「TrueType フォントパーフェクトコレクション」っていう本でほぼ有名フォントが掲載されているので、これを利用するのもいいと思う。

埋め込み方法は、画像を埋め込むみたいにファイルの指定・変数を定義して使うようだ。

システムフォントを使用する場合

// 名前を指定してフォントを埋め込み。
[Embed(systemFont='Century Gothic', fontName='myGothic', mimeType='application/x-font')]
private var myFont:Class;

ローカルファイルにあるフォントを埋め込む場合

// 位置を指定してフォントを埋め込みます。
[Embed(source='myfont.ttf', fontName='foo', mimeType='application/x-font')]
var myfont:Class;

フォント名を指定してあげればいいんだけど、変数は使わないで「fontName」を使うらしい。今、作っているものは、フォントファイルを埋め込む方法で作ろうと思う。

<参考になったサイト>
Web制作/Flash/ActionScript/ActionScript3/フォントを埋め込む- zkdesign/Archives
Kinarie&amp;May | FlashDevelopでフォントの埋め込み
trick7

[AS3]オブジェクトの重なり順制御するには・・・

No Comments

オブジェクトの重なり順を制御できないかと思っていろいろと調べてみた。

ActionScript3のオブジェクトの重なり順の考え方とAS2の重なり順の考え方が違うみたい。
AS3は、表示順。つまりaddChildされた新しいオブジェクトは、一番上に表示されて、前にaddChildされたものは、後ろに配置されてしまう。

AS2には、深度という考え方があったためにスクリプト深度を調整するみたい。
こんな感じで考え方が違うので、長くFlashをやる人は覚えてたほうがいいかもしれない。

AS3上で制御するには・・・
オブジェクトをaddChildする際に順番を考える。動的なものだったら、なるべく制御はシンプルにしたほうがいいし、できるならこっちで制御したほうがいいかも。

それとスクリプトで制御するパターンがあるみたい。
addChildしたあとで、以下のようなスクリプトを実行するみたい。
オブジェクトを最前面にする場合

container.setChildIndex(sprite, container.numChildren - 1);

オブジェクトを最背面にする場合

container.setChildIndex(sprite, 0);

ひとつ上にオブジェクトに順番を変更する場合

var index:int = container.getChildIndex(sprite);
if (index + 1 < container.numChildren) {
container.swapChildren(sprite, container.getChildAt(index + 1));
}

ひとつしたにオブジェクトに順番を変更する場合

var index:int = container.getChildIndex(sprite);
if (index - 1 >= 0) {
container.swapChildren(sprite, container.getChildAt(index - 1));
}

という風にするみたい。
この内容は、Adobe Flashクイックスタート:ActionScript 3.0を使用したプログラミングにも掲載されている。

Flexのスクロールバーをデザインする

1 Comment

Flexで作っているといつもスクロールバーのデザインがものすごく気になる。かっこ悪いので、カスタマイズしたいんだけど、なかなかできなかった。

たまたま調べ物をしていたら、カスタマイズの方法が掲載されていたので、紹介する。

Designer ScrollBars in Flex 3」という記事に掲載されている。
CSS上でパーツを画像で用意してそれをCSSで読み込むという方法。これがてっとり早い。
あと、Flex ビルダでphotoshopやFlashで作ったスキンを読み込む方法がある。これは、ツールを持っている人だったら問題ないと思う。俺みたいに遊び程度で作るにはちょっと投資が大きくなるので、CSSを利用する方法を選ぶかな。

ScrollBar {
up-arrow-skin: ClassReference(null);
down-arrow-skin: ClassReference(null);trackSkin: Embed(source="skins/ScrollBarTrack.png", scaleGridLeft="1", scaleGridTop="4", scaleGridRight="5", scaleGridBottom="16");
thumbUpSkin: Embed(source="skins/ScrollBarThumb_up.png", scaleGridLeft="1", scaleGridTop="4", scaleGridRight="5", scaleGridBottom="16");
thumbOverSkin: Embed(source="skins/ScrollBarThumb_over.png", scaleGridLeft="1", scaleGridTop="4", scaleGridRight="5", scaleGridBottom="16");
thumbDownSkin: Embed(source="skins/ScrollBarThumb_down.png", scaleGridLeft="1", scaleGridTop="4", scaleGridRight="5", scaleGridBottom="16");
}

今度試してみようと思う。

AS3 TextFieldでの折り返し

No Comments

Action script3で、TextFieldの横幅を固定した場合、単純に幅を指定しても折り返してくれなかった。いろいろと調べてみたら、TextFieldのプロパティを設定しないといけないらしい。

幅を指定して自動的に折り返した場合

var textObj:TextField = new TextField();
textObj.wordWrap = true;

改行したい場合

var textObj:TextField = new TextField();
textObj.multiline = ture;

という風にする。
HTMLとJavascriptとでは、やっぱり違うね。

Actionscript3のパフォーマンスについて

No Comments

今、作っている作品のためいろいろと調べてたら、AS3のパフォーマンス向上についていろいろ書かれている記事を見つけた。

例えば・・・乱数の場合

Math.floor(Math.random()*10);

パフォーマンスアップためにはintを使うとパフォーマンスが上がるらしい

int(Math.random()*10)

参考
ActionScript 3.0におけるパフォーマンス向上のヒント

ActionScript 3.0におけるパフォーマンス向上のヒント

[AS3.0][JS]クロスドメインに対応する

No Comments

ActionScriptでもJavascriptでもそうだけど、異なるドメインにあるファイルを参照できない。JSONやYahoo Pipeを利用するという手段をとらないとデータ取得ができない。

ここでPHPが代わってデータを取得するというのがいい方法だ。前はリダイレクトさせて取得したりしたけど、これだけだとちょっと辛い。
いろいろと調べたらYOPPA BLOGさんでPHPでプロキシーを使った方法が掲載されていた。これでいろいろと代用できるので、実験プロジェクトのたび設置しなくていいから便利かも。
YOPPABLOG

Newer Entries