埋め込みスプライトがBitmapDataにdrawできない

埋め込みスプライトの生成タイミングの都合上

2フレーム待てばdrawに反映されるようになるみたい。

2フレーム経っていないとdrawしても何も描画されないのでハマった。

addChildしたのに表示されない

同じ参照物をどこかで2回以上addChildすると起こる

一度addChild済みのDisplayObjectは

複製するなりしてからaddChildする事

Windows7(64bit)のFlashDevelopでデバッグできない

Windows7(64bit)のFlashDevelopで

このバージョンの %1 は、実行中の Windows のバージョンと互換性がありません。コンピューターのシステム情報を確認して、プログラムの x86 (32 ビット) のバージョンと x64 (64 ビット) のバージョンのどちらが必要か確認してから、ソフトウェアの発行元に問い合わせてください。

と表示されてデバッグができなくなったのでメモ。


解決方法:

FlashDevelop(以下FDと記述)のプロジェクトを右クリック>「プロジェクト設定」を開く

Playerのバージョンを確認する。(今回は11.3として記述していく)

http://www.adobe.com/support/flashplayer/downloads.html

「Download the Windows Flash Player 11.3 Projector content debugger」をダウンロード
(11.3はこの記事を書いた時点のものなので、バージョンはその時に合わせる)

そのexeを適当な場所に置く。

FDのメニューから「ツール」>「環境設定」>「FlashViewer」を選択

「External Player Path」に先ほどのexeを指定する。

ビルドを一度クリーンしてからリビルド&実行。





GAE/P の通信でuser-agentを設定する

urlfetchの場合は、

urlfetch.fetch( your_url, headers={'User-Agent': your_ua })

とする。

urllib2の場合は、

o = urllib2.build_opener()
o.addheaders = [('User-agent', your_ua)]
o.open(your_url)

とする。

Google app engine / python で lxml

1.7.0の更新履歴に lxmlのunicodeサポートみたいな事が書いてあった。

つまり、lxmlが使えるようになったらしい。早速使ってみようと思ったらちょっと詰まったのでメモ。

自前でHTMLパーサを作らない場合、BeautifulSoup3くらいしか手軽に導入できるライブラリがない上に

ベンチマークしているサイトの情報によれば、lxmlの方が結構な差が出るくらい早いようなので

これからGAE/PでHTMLやXML解析をしたい人はlxmlを選んだほうがいいかも?


さて、導入方法は、まずPython2.7にする必要があるのと、

app.yamlに以下を追加

libraries:
- name: lxml
version: latest


もし、Python2.7にしたばかりで、app.yamlの設定がまだなら

application: your-app-name
version: 1
runtime: python27
api_version: 1
threadsafe: true

- url: /(.*)
script: main.app

みたいな感じの設定を追加。

この2.7用の設定については別記事参照。

開発環境では、これだけではダメで(本番環境ではまだ試していない)

別途、lxmlをインストールする必要がある。

コマンドでインストールもできるみたいだけど、

面倒くさがりな私は

ちょい古いバージョンでリリースされているインストーラを使って導入した。

インストーラが用意された中で一番最新のバージョンは、

この記事を書いた時点では2.3のものみたい。

http://pypi.python.org/pypi/lxml/2.3

今回WindowsでGAEのPythonも2.7用の設定なので、

下の方にある「lxml-2.3.win32-py2.7.exe (md5)」をDLしてインストールした。

あとは使い方が書いてあるサイトなり、マニュアルなりに書かれた通り

importして使うだけ。