Flash:ファイル読み込み時のキャッシュ
2009.10.22
loadMovie でファイルを読み込むとき、
this.loadMovie("abc.xml?"+ Math.random());
というふうに、
ファイル名の後ろに"?"と"乱数"を付けることで
キャッシュを読むのを防ぐことができます。
(毎回違うファイルだと判断されます。)
キャッシュしないわけではないのでデータは溜まってしまいますが・・
常に最新のデータを読めるようになります。
Flash:swf 読み込みで気づいたこと
2009.10.08
swf に別の swf を読み込むような Flash で、attachMovie() を実行するとします。
その場合、attachMovie() で生成する MC は、ターゲットにする swf 内になければならないようです。

例えば、swf A を対象に attachMovie() する場合は、生成したい MC は swf A 内に用意しておかないといけません。

swf B を対象に attachMovie() する場合は、swf B 内に用意しておかないといけません。
ちなみに swf A 内から、swf B を対象に attachMovie() する場合は、swf B 内に用意しておきます。


なんだかわかりにくくなってしまいましたが、
「リンケージを設定した MC が配置できるのはその swf 内だけ」
ということらしいです。
Flash:テキストフィールドの高さを自動調整
2009.09.11
以前にも同じようなことを記事にしたのですが、それよりも遥かに簡単な方法があったので
(なんで前に調べたときに見つからなかったのか‥)書いておこうと思います。

外部XMLなどからダイナミックテキストに文章を読み込むとき、
文字数によってはフィールドに入りきらないことがあります。
そういうときは、

TextField.autoSize = true;
※TextField = テキストフィールド名

とすると、文字数に合わせて縦幅を自動調節してくれます。


おまけに、

TextField.textHeight
※TextField = テキストフィールド名

でテキストの高さも取得してくれるので、テキスト直下に付くボタンの位置決めなんかも楽々‥

ただし取得のタイミングには注意してください。
XMLの文章を読み込んだ後にしないと、うまくいかなかったりします。


ホント、以前は文字数取得とかしてやってたので無駄に苦労してました。
アレはアレで、違うことに使えそうですけどね(笑)
Flash:MCの明度を変更する
2009.08.11
アクションスクリプトを使って MC の明度を
変更する方法です。
Flash8 以降が対応しています。

まずはクラスの読み込み。
フレームの頭に次のように書きます。

import flash.geom.ColorTransform;


次にどのように変化させるかを設定します。

var w = 155;
var color_tf : ColorTransform = new ColorTransform(1.0, 1.0, 1.0, 1.0, w, w, w, 0);



new ColorTransform の後には8つの数値が入ります。
※これは、MC のプロパティから「カラー」→「詳細」を
選択したときに設定できる数値8つに対応していて、
それぞれを設定することで MC の色を変化させることができます。
アルファの乗算(-1.0~1.0)、アルファの加算
(-255~255)、の順に並んでいます。

今回は明度を変えたいので、赤・緑・青の加算の値が同じになるようにします。
変数 w が 255 なら完全に白、-255 なら完全に黒になります。


最後に、MC にその数値を適応します。

MC.transform.colorTransform = color_tf;


これで MC の明度が変更されます。


文章ばかりでわかりにくいので、サンプルを付けてみました^^;
Flash:MCを簡単に動かせるTweenクラス
2009.07.13
最近思わぬところで、Tween クラスというモノの存在を知りました。

クラスに関してはあまり使うことがなく、便利らしいと知りつつもスルーしていたのですが・・
MC の移動が簡単にできると知って、少し気になってきました。

この Tween クラスの何が便利なのかというと、たとえば、
通常 onEnterFrame を使って座標を変化させるところを、開始座標と終了座標を入れるだけで動かせたりします。
しかも、パラメーターで動作時間やイージングの設定などもできます。


MT:ファイルの初期アップロード先を設定する
2009.06.24
先日の記事「MT:alt-tmplについて」と合わせて見ていただくと良いかもしれません。

MTで「ファイルのアップロード」を選択すると、アップロード先を指定するフォームが出てくると思います。
通常では<サイトパス>直下になっているので、これを「<サイトパス>/ images 」がデフォルトで表示されるように設定してみます。
ちなみにMT4.Xの場合です。


まずはMTのテンプレートファイルを探します。

<MTのディレクトリ>/tmpl/cms/dialog/asset_upload.tmpl
<MTのディレクトリ>/tmpl/cms/include/asset_upload.tmpl

2010/1/22 修正
includeディレクトリ内のファイルを直すのが正しいようです。
dialogディレクトリ内の同名ファイルを直した場合でも上手くいっていたのですが、
別の環境でも設定してみたところそちらでは上手く動きませんでした・・

この asset_upload.tmpl ファイルを持ってきましょう。
ファイルを開き、一行目に次のように追記します。

<mt:setvar name="extra_path" value="images">

今回は、「<サイトパス>/ images 」としたいので、valueに images と入力します。


あとはこれを上書きすれば完了なのですが、簡単な修正とはいえ、元のファイルに上書きすることはなるべく避けたいところです。

そういうときに、alt-tmplフォルダを利用します。


tmplフォルダと同階層にalt-tmplというフォルダがあるので、
その中に今回手を加えた「asset_upload.tmpl」までの階層を再現します。
今回でしたら

alt-tmpl/cms/include/

となるように階層を作り、その中に先ほど修正した asset_upload.tmpl を入れます。
すると、MTが優先してこのファイルを読んでくれます。

元のファイルを残すことができるので、いざというときに助かりそうです。
MT:alt-tmplについて
2009.06.17
最近、MTのテンプレートファイル(「MTのディレクトリ/tmpl/」以下のファイル)に手を加えて使用することが多くなってきました。

とても簡単なことだけですが・・。

そういうとき、「alt-tmpl」というフォルダを活用すると、元のファイルを残したまま設定をいじることができます。


「alt-tmpl」フォルダは、MTをインストールしたディレクトリにあります。
テンプレートファイルをカスタマイズした後、そのまま元のファイルに上書きするのではなく、
「alt-tmpl」フォルダの中に「tmpl」フォルダ以下と同じ階層構造で入れることで、そのファイルを優先して読ませることができます。


これは管理の面で、いろいろと役に立ちそうです。
MT:画像挿入のとき自動的に入るstyleをなくす
2009.06.11
MT4.1から、画像挿入の位置に「なし」が選択できるようになりました。
これで<img>タグのスタイルは消えてくれますが、その画像を囲む<form>タグ(書き出し後は<span>タグ)のスタイルは消えてくれません。
こちらはMTの設定ファイルを修正しなければならないようです。


この内容が書かれたデータはどれかというと、

MTのディレクトリ/lib/MT/Asset.pm

これです。このファイルを修正します。

※念のため、元のデータは残しておいたほうがいいです。Asset.pm-originalとかで


このデータの中の354行目から、

sub enclose {
my $asset = shift;
my ($html) = @_;
my $id = $asset->id;
my $type = $asset->class;
return qq{
<form mt:asset-id="$id" class="mt-enclosure mt-enclosure-$type" style="display: inline;">$html</form>};
}

こんなふうに書かれている一文があると思います。
赤字の部分が、画像を囲む<form>タグの設定をしている部分です。

スタイルがいらない場合は、「style="display: inline;"」の部分を取ってしまえばよいです。

修正が終わったら、元の場所にアップして完了です。
JavaScriptのバージョンについて
2009.06.04
先日少し話題になったのでまとめてみました。
JavaScriptのバージョンについてです。

実は自分はあまり気にしたことがなかったんですが、JavaScriptにもちゃんとバージョンがあります。
(自分でコードを書いたりしないので、あまり意識していなかった・・。)

JavaScriptのバージョンが新しいからといって、古い機能がなくなるということはほとんどないそうです。


普段使うように、
<script language="javascript" src="aaa.js" ></script>
と書く分には、特にバージョンを気にする必要はないですしね。

ですが、実際はブラウザごとにサポートしているバージョンは異なっていて、
それよりも新しいバージョンの機能を使うとエラーが出てしまいます。


先ほどのタグの「 language="javascript" 」の部分、ここにバージョンを書くことで、
それより新しい機能を無視することができます。

(例)<script language="javascript1.5" src="aaa.js" ></script>

エラーが出ないように書いておくといいかもしれません。


ブラウザごとの対応バージョンはこちら、DIASPARさんのところでまとめられています。
参考にさせていただきました。
.htaccessでブラウザ越しに表示させたくないファイルを指定
2009.05.26
<Files ~ "\.(dat|log|csv)$">
deny from all
</Files>


※.htaccessで表示させたくないファイルの拡張子を指定。

dat|log|csv

を入れる。

ブラウザ越し(http://)に表示ができない。
大切なデータの流出を防く。

月別アーカイブ