These pages are written by only Japanese.

Welcom to My Diary.com
最新の日記タイトル一覧カテゴリ別タイトル一覧トップへ戻る〜

こんばんわ♪ 現在は5月5日(日)4時13分。 静寂が闇を包む頃です。


hns - 日記自動生成システム - Version 2.19.5 (色々 Fixed)

先月 2011年03月 来月
1 2 3 4 5
6 7 08 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Namazu for hns による簡易全文検索です。
詳細は 詳細指定/ヘルプをご参照下さい。
検索式:

2011年03月08日(火)

SWFEditor 0.32 replaceMovieClip 対応

SWF の画像入れ替えやテキスト入れ替えに加えて、
(動きのある)シンボル入れ替えにも対応しました。 入れ替えたいシンボルのインスタンス名と SWFデータを渡すと、
渡した SWF をシンボルに変換して差し替えます。 まだ実験的なリリースです。今の所、
depth 重複避けとか根本的な処理が幾つか抜けています。

原理:

  • インスタンス名からシンボルを検索する
    • インスタンス名(name)を持つ PlaceObject2 タグを探す
    • PlaceObject2 が character_id で指し示す Spriteタグを探す
  • CID 重複避け
    • テンプレートの SWF が使用している CID をリストアップする。
    • 入れ替える SWF 中の CID で上記のと衝突する番号は renum する
  • 渡した SWF をシンボルに変換して差し替える
    • その SWF のコンテンツ系のタグは Spriteタグの前に展開
    • その SWF の制御系タグは Sprite の中身を消して、その中に改めて展開する。

制限事項:

  • 差し替える SWF 中の ActionScript のターゲットで相対パスは使わないのを推奨します。SWF を MovieClip に包む処理を入れている為、渡した SWF 内の ActionScript で root 以外を指すターゲットが別の場所を指すようになるかもしれません。

課題:

  • テンプレートの SWF と差し替え SWF で depth が重複しないよう renum する。
  • 入れ替えて不要になったコンテンツタグを削除する。
  • 差し替え SWF の中に Sprite タグが含まれる場合に、その Sprite 中の CID を renum する。
  • 別の Sprite の中に入っている Sprite を指定して入れ替えられるようにする。(ただ、ちょっとパフォーマンスが心配)
続く

2011年03月19日(土)

[swfed] replaceMovieClip の使い方

これ の続き
先々週に実験的に追加した replaceMovieClip の使い方です。

土台の SWF:

適切な絵をシンボル化して名前(この場合は miku)を付けて、

シンボル化された中のタイムラインでアニメーションを作って。

これで出来上がり。

MC に差し替えたい SWF を用意する:

メインのタイムラインでムービーを作ります。

入れ替え実行:

php swfreplacemovieclip.php negi.swf miku saitama2.swf > saitamaize.swf
入れ替わりました。\(^o^)/

Adobe CS3 ファイル:

fla ファイル見た方が早いという方は、こちらをどうぞ。

2011年03月22日(火)

SWF Editor 0.34 replaceMovieClip 正式リリース

今まで実験的と銘打っていた replaceMovieClip ですが、
手元にある素材SWFでは一通り意図した通りに動きましたので、
0.34 として正式リリースしました。 使い方はこちらで → replaceMovieClip の使い方
replaceMovieClip に限らず幾つか不具合を修正しています。 セグフォで落ちる可能性もかなり減ったはずです。

2011年03月24日(木)

SWF Editor 0.35 replaceMovieClip unused_cid_purge

0.35 をリリースしました。

replaceMovieClip:

0.34 で入れたはずの replaceMovieClip の古いコンテンツ削除機能ですが機能していませんでした。0.35 で有効にして、かつ引数で無効化できるようにしてます。 0.34 に比べて結果のサイズがかなり減るはずです。

setCompressLevel:

PNG/GIF 入れ替え時に Zlib 圧縮が働くのですが、その圧縮レベルを指定できます。

setHeaderInfo:

Flash 全体の描画枠を指定できます。min_x や min_y に負の値を指定すると、原点(0, 0) より左上の領域も表示できて、デバッグに便利かもしれません。

2011年03月27日(日)

DefineShape => DefineBits 参照

SWF の CID 参照関係をテーブルにまとめる処理を実装していて、1 つの DefineShape から複数の DefineBits を参照するケースを発見。
多分、複数の画像をグラフィックシンボルでまとめたものと思われる。
シンボルなんだけど、Sprite でなく Shape になるケース。
[016]       140 DEFINESHAPE2 defines id 0084
                 | fillstyles(06)        linestyles(00)
                 | 1 ) BITMAPc 65535
                 | 2 ) BITMAPc 83
                 | 3 ) BITMAPc 65535
                 | 4 ) BITMAPc 82
                 | 5 ) BITMAPc 65535
                 | 6 ) BITMAPc 81
                 |
                 | fill: 00/02 line:00 - moveTo -60.75 29.85
                 | fill: 00/02 line:00 - lineTo -115.75 29.85
                 | fill: 00/02 line:00 - lineTo -115.75 14.85
                 | fill: 00/02 line:00 - lineTo -60.75 14.85
                 | fill: 00/02 line:00 - lineTo -60.75 29.85
                 | fill: 00/00 line:00 - moveTo 0.00 0.00
                 | fill: 00/04 line:00 - moveTo -60.75 15.35
                 | fill: 00/04 line:00 - lineTo -115.75 15.35
                 | fill: 00/04 line:00 - lineTo -115.75 0.35
                 | fill: 00/04 line:00 - lineTo -60.75 0.35
                 | fill: 00/04 line:00 - lineTo -60.75 15.35
                 | fill: 02/02 line:00 - moveTo 0.00 0.00
                 | fill: 02/06 line:00 - moveTo -60.75 -14.15
                 | fill: 02/06 line:00 - lineTo -60.75 0.85
                 | fill: 02/06 line:00 - lineTo -115.75 0.85
                 | fill: 02/06 line:00 - lineTo -115.75 -14.15
                 | fill: 02/06 line:00 - lineTo -60.75 -14.15
あれれ。。

                 | fill: 02/02 line:00 - moveTo 0.00 0.00
                 | fill: 02/06 line:00 - moveTo -60.75 -14.15
これは表示間違えてないかな。00/00, 00/06 なら分かるんだけど。
それはともかく、1:n 対応すれば、purgeUselessContents が実装できて、 replaceMovieClip の制限事項付きモードを削除できる。
頑張ろう。

if文や三項演算子を使わずに書け

Q, 入力値a, bをとる。このときaは1か0である(それ以外は考えない)。
aが1ならbの符号を反転させた値を、aが0ならbのそのままの値を表示する。
以上のプログラムをC言語でif文や三項演算子を使わずに書け。 
小学生の頃、BASIC で ON GOTO 文使ってたのを思い出して懐かしくなりました。
色んなパラメータの条件を 1,2,3 等の番号にマップするんですよね。

途中式:

設題は、(a:1,0) => (-b, b) なので、
  • 大小の向きを合わせる
     1 - a => -1 0
    
  • 中心を合わせる
     0.5 - a => -0.5 0.5
    
  • スケールを合わせる
     1 - 2*a => -1 1
    
  • 最後に b をかける
     b*(1 - 2*a) => -b b
    
    以上。

2011年03月28日(月)

SWF Editor 0.36 purgeUselessContents

リリースしました。 replaceMovieClip の不要なコンテンツ削除機能をメソッド(purgeUselessContents)として独立させました。
output の直前に一度だけ call する事を推奨します。
(何回呼んでも良いですが、最終的なサイズは変わらないので処理が勿体ないです)

機能追加:

  • purgeUselessContents を用意しました。何処からも参照されないコンテンツ(今の所画像データのみ)を削除します。(unused_cid_purge フラグの代わりになります。また、このフラグのような制限事項はありません)
  • replaceMovieClip から unused_cid_purge の機能を削除しました。 > purgeUselessContents メソッドを代わりにして下さい。
  • replaceMovieClip で入れ子になったシンボルのインスタンス名指定でも入れ替え出来るようにしました。(見直す予定)

不具合修正:

  • replaceMovieClip で version8 移行のベクター画像データ(DefineShape4, DefineMorphShape2)がある場合に壊れた SWF が生成される不具合を修正。

2011年03月30日(水)

awm.jp をさくらVPSに引っ越し

大震災でサーバが壊れ、かつ、今後も計画停電で自宅サーバの運用が難しくなったので、止めたくないサービスをさくらVPSに引っ越しする事にしました。
(実際、pwiki.awm.jp や awm.jp/~yoya/cache が見れなくなって各方面に迷惑をかけてますし)
512MB メモリは心許ないので、月額1500円弱の 1GB プランで Go!

ホスト:

  • IP: 49.212.17.121 (www1327ua.sakura.ne.jp)
  • memory: 1GB , HDD: 30GB

カスタムOS:

  • Debian i386 をインストール
  • var は溢れがちなのでパーテーションを分けました。(インストール手順書では swap 以外 1 パーテーション)
    /  残り全部 (10GB 位)
    swap 2GB
    /var 8GB
    /home 10GB
    

パッケージ:

apt
% su
# apt-get update
# apt-get dist-upgrade
# apt-get install sudo
# sudoedit /etc/sudoers
# exit
% sudo apt-get install apache2
% sudo apt-get install bind9
% sudo apt-get install postfix spamassassin
% sudo apt-get install php5-dev php5-dbg php-pear
% sudo apt-get install php5-xdebug php5-gd php5-ming
% sudo apt-get install subversion git-core
% sudo apt-get install emacs
% sudo apt-get install ruby ruby1.9
% sudo apt-get install namazu2
apache
/usr/sbin/a2enmod userdir
/usr/sbin/a2ensite pwiki.awm.jp
/usr/sbin/a2ensite diary.awm.jp

2011年03月31日(木)

awm.jp をさくらVPSに引っ越し(2)

だいたい設定終わりました。 動いてます。

設定続き:

courier imapd 
sudo apt-get install courier-imap-ssl
pukiwiki
dpkg-reconfigure locales
a2ensite pwiki.awm.jp
SWF Editor
apt-get install libgif-dev libpng-dev
Hyper Nikki System
apt-get install apache2-suexec
apt-get install  namazu2-index-tools
apt-get install libnkf-perl libtext-kakasi-perl
ln -s /usr/bin/perl /usr/local/bin/perl
ln -s /usr/bin/perl /bin/perl
a2ensite diary.awm.jp

これで、8 日分だよ〜。

タイトル一覧
カテゴリ分類
Database
JXTA
Java
XML
awm
bookmark
keyword
memo
news
research
Powered by hns-2.19.5, HyperNikkiSystem Project