Posted by yamada on 2010/05/22 – 09:00
Filed under 仕事ツール
Tagged as Photoshop
Photoshopのデザインを参考にしてActionScriptとかで記述する場合、Photoshopで色の数値を目で見て、それをテキストに書いていたのだけど、よく考えたらこれ超面倒!と思ったのです。
16進数でゲット!
目で見て書いてるとか絶対おかしい!と調べて見たら、なんだかそれっぽいことが出来そうな記事がありました。
スポイトツールにして、画像上で右クリックすると、コンテキストメニューに「描画色を HTML コードとしてコピー」と出てくるのでこれを選択すると、色情報がクリップボードにコピーされます。

帯に短したすきに長し
アッサリ解決!これで、仕事も快調!!と思いきや、クリップボードにコピーされるのは、下記のようなテキスト。
color="#ff9bc1"
あーーー。微妙~~~!ここまでHTML的にしなくてもいいじゃないですかね。
CSSとか、他のコードじゃそのまま使えないですし…。
普通に #ff9bc1 だけで良いでしょう。。
こういう情報取得のために、なんかいいプラグインとか無いのかなぁ、、と独り言。
[AD]
↓ こういう本を見てみたらいろいろプラグインを探せるかな!?
↓プラグインの他にアクションもあるか。jsとか絡めたら実現出来そうな気もしてきた。
Posted by yamada on 2010/05/21 – 09:00
Progressionを使い、とある大規模プロジェクトでFlashコンテンツ制作したのですが、特定環境で発生した問題には戸惑いました。
PPC Mac only!
その問題が発生する環境とは「PowerPC Macでのみ発生」というもの。
ちょっと調べてみたところ、確かにブラウザやFlash PlayerやOSのバージョンは関係なく、本当にただPowerPC Macである、というだけで発生するのです。
具体的な症状は、ProgressionのメソッドであるAddChildで配置するパーツが配置(表示)されない、という現象。
しかも、「一つも AddChild出来ない」というわけではなく、ある特定のパーツ以降で発生する。
なんだか、メモリリークのにおいプンプンである。
ググれ!きっと先人がいるはず!
で、ググりにググってみたところ、同様の症状について言及されいてるページを発見した。
この方によれば、「new AddChildを、コンストラクタのaddChildに変更すると正常に動作する」とのことで、たしかに、コマンドリストにnew AddChildしていた箇所だったのでそのコードを以下のように変更してみました。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| /*
// Progression標準的コード.
addCommand(
new AddChild( partsRoot, _partsA ),
new AddChild( partsRoot, _partsB ),
new AddChild( partsRoot, _partsC )
};
*/
// PPC Mac対応コード.
partsRoot.addChild( _partsA );
partsRoot.addChild( _partsB );
partsRoot.addChild( _partsC );
_partsC.initOnAdded(); // ←必要に応じて初期化メソッド呼び出し. |
AddChildしてた箇所を全てこのようにしたところ、問題は発生しなくなりました!
かなり規模が大きいプロジェクトだったので同様なコードはかなりあり、それぞれ動作確認を取るのも結構大変でしたが、大抵これでうまくいくと思います。
それでも、便利なProgression
まさかのこの問題では手こずりましたが、このプロジェクトで初めて使ったProgression、総じてかなり便利でした。
クラスとかの構造もわかりやすかったので、自前でラッパークラスをつくり、便利に使いました。
使用していたProgressionのバージョンは3.1.62でしたが、最新版では直っていたりするのかな?
[AD]
↓最近発売されたオフィシャルProgression本!バージョン4にも対応、とのことで、これからProgressionやるなら必携!

ProgressionによるFlashコンテンツ開発ガイドブック
著者/訳者:阿部貴弘 池田泰延 楢山哲弘 松竹 誠 山上健一
出版社:毎日コミュニケーションズ( 2010-04-28 )
定価:¥ 2,940
Amazon価格:¥ 2,940
単行本(ソフトカバー) ( 312 ページ )
ISBN-10 : 4839931798
ISBN-13 : 9784839931797
↓今までの歴代Macが載っているらしい。話が通じる人と呑むときにこの本があれば酒も進みそう!

Macintosh名機図鑑 (エイムック 1512)
著者/訳者:大谷 和利
出版社:エイ出版社( 2008-03-24 )
定価:¥ 1,260
単行本 ( 157 ページ )
ISBN-10 : 4777909921
ISBN-13 : 9784777909926
Posted by yamada on 2010/05/20 – 09:00
Shift_JISを使うように設定している状態で、Macで動作させているときのみ通信時に処理する文字コードが化けることがあり、調べて見たところShift_JISの仕様の差違が原因で発生していた問題でした。
ちょっと原因と対応が複雑だったので、まとめてメモしておきます。
バグの症状について
発生する問題は「WindowsとMacで通信するときに送られる文字が違い、特定の環境で特定の文字のみが化ける」というものです。
私の遭遇したケースは、以下のような状態でした。
- Mac OS Xで、FlashからPostメソッドで送信したデータに含まれる特定の文字が化ける
- 特定の文字は「ー(全角ダッシュ)」「~(波ダッシュ)」
- Flash上の表示、traceで確認する内部データは問題なし
- Windowsでは問題なし
- System.useCodePage = true; とし、Flashで通信はShift_JISを使用
つまり、「MacのFlashから送信するときにのみ何かおかしくなっている」という状況でした。
バグの原因
現在のFlashは内部は UTF-8を使用しているので、なんとなくShift_JISに変換しているところに問題がありそう、と予想は出来ました。参考:http://kb2.adobe.com/jp/cps/228/228624.html
結局、原因は、Shift_JISには亜種が多数存在していること、でした。
おそらく、FlashPlayerはUTF-8からShift_JISに変換するのに、OS依存のライブラリを使っているのだろう。それがWindowsと Mac OS Xで違う挙動をしているため、送信されたデータの文字コードが変わってしまうのだ。Flash Playerがその変換ライブラリを固定で内部に持っていてくれたらいいのだけど、それではAIRとかで問題が発生することになるかもしれない。 Shift_JISを使ってマルチプラットフォームとかやるもんじゃないね、と再確認されました。
バグへの対応
原因は分かって、いざ対応!というところですが、原因が原因なのでOSを判定し、送信前に文字コードを変換するしかありません。
どの文字コードをどのように変換すべきか、というのは下記のページにわかりやすくまとめられていました。

ちょっと文字コードを出力しつつ調べて見たら、Macの場合にはCP943に自前で変換すれば良さそう、というところまで分かりました。
で、今回私の遭遇した問題に対しての対応では、下記のようなコードで変換し、問題を回避しました。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| var strInput:String; // 送信したい文字列.
var lenStr:int = strInput.length;
var strPost:String = ""; // POST用に変換した文字列.
for ( var i:int = 0; i < lenStr; i++ ) {
var curCode:int = strInput.charCodeAt( i );
if( isMac ){ // Mac OS Xの場合のみ、以下の変換処理.
switch (curCode) {
case 0x2015: curCode = 0x2014; break; // 0x815C:EM DASH EMダッシュ.
case 0xFF5E: curCode = 0x301C; break; // 0x8160:WAVE DASH 波ダッシュ.
case 0xFF0D: curCode = 0x2212; break; // 0x817C:MINUS SIGN 全角ハイフン.
}
}
strPost += String.fromCharCode(curCode);
} |
上記コードで変換している文字コードをまとめたテーブルも添付しておきます。
その他の可能性
ちなみに、FlashでShift_JISを使用していると発生する問題は他にもあります。
以前書いたエントリへリンクを張っておきます。
[AD]
↓WEB+DB PRESS plusシリーズで文字コード本が出てるのか!波ダッシュ問題も載ってるようだし、これは良さそう!
↓文字コードに関する本では、こちらも評価が良いみたい。

文字コード超研究
著者/訳者:深沢 千尋
出版社:ラトルズ( 2003-07 )
定価:¥ 3,129
Amazon価格:¥ 3,129
単行本 ( 614 ページ )
ISBN-10 : 4899770510
ISBN-13 : 9784899770510
↓上記のような問題を抱えているときに心が和む。か、もっと苛立つかw、そんなおもちゃ発見!