一人でできるもん(涙

企画、アプリ設計・制作、サーバ構築、DB設計、サーバサイドプログラム、デザインまで一人でやらされてる都合のいいひr(yu

SWFの動的生成 その4.5

ちょっと趣旨を変えてみることにする。

 

どうせなら、仕組みうんぬんより、モジュール整理して公開しちゃえばよくね?ってなったwww

 

ただし、Perlだがな。PHP?んなもんしるか(笑

 

ちなみに言うと、Perlスキルは底辺なので、めんどくさい書き方してあっても苦情は受け付けません(笑

 

とりあえず、初版としてはSWF::Analysisみたいな感じで解析のみ整理して公開すると思う。

そのうち、SWF::Analysis::ReCompilerとかも用意するよ。

 

ただし、SWF全部解析してからの再コンパイルなので、速度は遅いよ。

実用化するなら、自分でカスタマイズして下さい。 

 

とりあえず、逃げ道がなくなるようにブログに書いておく。 

SWFの動的生成 その4

swfの構造はこんな感じ

・Header

・FileAttributes

・Tagいっぱーい

・End Tag

 

Headerはその1で説明してるからもう大丈夫だよね?

わかんなかったら、コメにでも書いて下さい。

じゃんじゃん答えるハズw

 

FileAttributes

たぶん、使う事はないとおもう。

これはVersion8以降に入っているやつなのでそもそもこのレベルなら

動的生成するメリットないしw 

 

Tagいっぱーい

ここはその5で説明するね。

 

EndTag

これはおきまり。

0x40 0x00 0x00 0x00

最後はかならずこれで終わるよ! 

SWFの動的生成 その3

ここまで書いてから、大事な前提書いてなかったことに気づいた。

基本的にバイナリ情報はリトルエンディアン方式です。

つまり、

0x00  0x00 0x00 0x01 は1じゃなくて

0x01 0x00 0x00 0x00 と解釈されますので

16777216という膨大な数字になります。

前からじゃく、後ろから数えるということだねっ!

 

 

SWFの動的生成 その2

その1でかいたけど、rect型のtwipについて説明。

 twip = 1/20 pixel 

 

最初の5bit => length (例:01111なら15bit区切り)

 lengthに合わせて、x,w,y,hに並ぶ。余剰bitには0が入る。

例)x=0,y=0,w=240,h=320の場合

x=>000000000000000

w=>001001011000000

y=>000000000000000 

h=>001100100000000

この場合、合計bitが15*4+5なので、65bit

byte単位にすると7bit足りないので、最後に

0000000

が付与される。

 

 

rect型についてはここまで。 

SWFの動的生成 その1

ひろゆきさんからtwitterでリクエストされたので、SWFの動的生成について軽くメモっちゃうよ。

 

とりあえず、簡単な構造

SWF Header

 

Signature: 3byte => 'FWS'(非圧縮) or 'CWS' (圧縮)

Version:1byte => そのままバージョン (例: 0x09 => SWF 9)

Length:4byte => ファイルサイズ。ただし、CWSの場合は圧縮前のサイズが入る。

FrameSize: 2~17byte(理論値) => rect型で twip 単位。ここだけちょっとややこしい

FrameRate:2byte => 1byte(少数部):1byte(整数部) に分かれる。(例: 0x00,0x1E=> fps30)

FrameCount:2byte =>  ファイルの全フレーム数

 

とりあえずここまで。また今度続きかくよ。

大阪ソーシャルゲーム開発勉強会に参加してきました。

つい先日(6/16)に、参加してきたよっと。

 

やっぱり、ブログを書くまでが勉強会!

 

・KLabソーシャルゲームのKPI分析について

KPI分析、やっぱり大事!

実は、AppDriver つかうと実装が楽だったりします。

広告収入も得れて、一石二鳥!

 

・AWS関係の話し

これ!これが聞きたくて今回参加したようなものです!

関心させられる事いっぱい!

とりあえず、マスタは最初からマルチにしておこう。

マルチじゃなくてもいけるかな?っと甘い事考えてた自分乙www

 

 

iPhone版真戦国バスターの裏側

ネイティヴへのこだわり、私は大好きです!と声を大にして言います。

結構前に、UIWebViewでいろいろと表示してて、ネイティヴ使えってrejectされた過去があります。

 はぁ?そもそもAppStoreだってUIWebViewつかってんじゃん!

と、突っ込もうか悩んだけど我慢。我慢(笑 

 話はそれたけれども、やっぱりアップルの審査でみなさんお困りですねぇ。

今は8日とかでくるけど、最初の頃は1ヶ月以上とかザラでしたよ・・・。

WaitingForReviewの長い事長い事・・・。

InReviewはあっというまなのにねw 

StatusCodeってどうとるの?

サーバログだと、

HTTP/1.1 403 316

なのに、

 

NSLog(@"%d",[(NSHTTPURLResponse *)response statusCode] );

ってやると200が返ってくる。

 

いみわからん・・・。

 

だれかおしえてえろいひと!!