AS3.0:インスタンス名を設定する方法
2012.11.27
addChild()で作成した表示オブジェクトに名前を付ける方法。

AS2.0では作成時に当たり前に付けていましたが、AS3.0では後から付けるようです。
インスタンス名の設定は .nameプロパティで設定できます。

var mc:MovieClip = new MovieClip();
mc.name = "sample";


また、インスタンス名を使って表示オブジェクトにアクセスするには、
getChildByName("インスタンス名") を使用します。

var mc:MovieClip = new MovieClip();
mc.name = "sample";
mc.x = 30;

trace(getChildByName("sample").x); //出力結果:30


参考にしたサイトは以下。
■ActionScript3.0でインスタンス名を調べたり設定する方法 | creator note http://creator.cotapon.org/articles/flash/actionscript3-0/actionscript3-0...


基本的なことなのに結構面倒な手順だなと思いましたが、
そもそもインスタンス名を使ってのやりとりはAS3.0では
あまり利点がないそうです。

AS3.0の入門書を読んでも上記のような手順は紹介されてませんでしたし、
根本的な頭の切り替えが必要そうです!


【おまけ】
配列アクセス演算子を使えば文字列で変数名を付けられます。
インスタンス名の利点がないのは、変数名で同じことができる、ということかも。

var mcName:String = "sample";
this[mcName] = new MovieClip();
this[mcName].x = 30;

trace(this.sample.x); //出力結果:30
MT:スパムコメント対策 その2
2012.11.20
前回の記事 MT:スパムコメント対策 では
スパムコメントを防ぎきれなかったため、次なる対策を講じることに。

今回はプラグインも取り入れます!

■keystrokes.pl
http://overstated.net/projects/mt-keystrokes/

このプラグインは、
・コメントフォームに直接入力したか
・送信ボタンを直接押したか
をJavaScriptで判断し、そうでないものを弾いてくれます。

JSが無効だとコメントできないため、少し乱暴な気もしますが・・
スパム対策には間違いなく有効だとのことで。

またMT3.X用ですが、修正すれば5.Xでも使えます。


■手順

1. keystrokes.plをダウンロード
http://overstated.net/projects/mt-keystrokes/
上記サイトの右上にある「DOWNLOAD」から、keystrokes-0.1.5.zip をダウンロード。
※0.1.5と書かれていますが落せるデータは0.1.4です。
さらにプラグイン内に書かれたバージョンは0.1.3になってます。不思議ですが問題なし。

2. 解凍後、plugins フォルダ内の keystrokes.pl を修正
return 1 unless $MT::VERSION =~ m(^3\.);
赤字部分を5(使っているMTのバージョン)に変えます。

3. MTフォルダ内の plugins フォルダに keystrokes.pl をアップ
ダイナミック・パブリッシングを使っている場合は、
php フォルダも同様に MT > php フォルダにアップ。

4. テンプレートを修正
コメントフォームのソースが書かれたテンプレートを下記のように書き換える。
(デフォルトなら コメント と コメントプレビュー )

●<form>タグの直後に <$MTKeystrokes$> を追加
<form method="post" action="<$MTCGIPath$><$MTCommentScript$>" name="comments_form" id="comments-form" onsubmit="if (this.bakecookie.checked) rememberMe(this)">
<$MTKeystrokes$>
<input type="hidden" name="static" value="1" />

●<textarea>タグに onkeypress="keystrokes(this.form)" を追加
<textarea id="comment-text" name="text" onkeypress="keystrokes(this.form)" rows="15" cols="50">

●投稿ボタンの<input>タグに onclick="keystrokes(this.form)" を追加
<input type="submit" onclick="keystrokes(this.form)" accesskey="s" name="post" id="comment-submit" value="投稿" />

5. 再構築


以上で完了です。
これで今度こそスパムコメント対策ができた!・・はずです。


【参考にした記事】
Movabletype3.3コメントスパム対策 | フリーソフトダウンロード5
http://ww-ape.com/movabletype/kome_spam3.html

MT5.1の再構築 早し!!
http://trendate.com/blog/archives/2010/02/mt51.php
MT:スパムコメント対策
2012.11.13
最近当ブログもスパムコメントが鬱陶しくなってきましたので、
なにかスパム対策を施してみることに。

※一週間ほど様子をみましたが、下記の方法では現在来ている
スパムコメントを防げないようでした。
そのため新しい対策を こちら で取っています。



どうやらスパマーはコメントフォームのHTMLに書かれている
コメントCGIのパスを参照してくるそうで、
そのパスを実体参照にすればほとんどのスパムコメントを防げるとか。

合わせて、コメントCGIのファイル名も変更すると効果UPだそうです。
(デフォルトではmt-comments.cgi)


■手順
1. MTフォルダにある「mt-comments.cgi」を適当な名前にリネーム

2. 1で新たにつけたファイル名を、こちらのサイト等で変換

3. 同階層にある「mt-config.cgi」を開き、一番下に下記を追記
--------------------
CommentScript ○○○○(2で変換した文字列)
--------------------

4. 再構築


これで完了です。

ブログのテンプレートで<$mt:CommentScript$>タグを使って
コメントCGIを参照しているブログならこれだけでOKですし、
新しくブログを作ったときも反映されるのでお手軽です。
Flash:ムービーの書き出しに注意
2012.10.30
先日Flashでムービー制作を行ったのですが、
最後の工程で引っかかってしまったのでメモ。

Flashには「ムービーの書き出し」機能があってMOVやAVIで書き出せます。
が、現時点(CS6)ではどちらもイマイチでした。

■MOV形式
fpsが正しい数値になりません。

今回はフレームレートを30fpsで作成したので
書き出しも30fpsに設定したのですが、実際に書き出されたデータは30.3fps。
大差がないようでも正確な再生時間が求められる場合はNGです。。

対策としては、Flash8からビデオ書き出しをすれば問題ないそうなので
環境がある方はお試しください。


■AVI形式
_rootにあるムービークリップしか書き出せません。

なので初めから想定して制作していれば問題ありませんが、
入れ子にしてしまっていた場合は一部が抜けた動画になってしまいます。


AVIならfpsは問題ないようなので、MCを入れ子にしないように制作するか、
MOVで書きだしてからfpsを変更するか、
SWFで書きだして形式を変換する、などで回避するしかなさそうです。
Firefox 16 で、MTのカテゴリおよびフォルダの選択が保存できない
2012.10.19
先日会社のブログを更新しようとしていたところ、記事公開時にエラーが・・・
何度やってもエラーが解消されず、よくよく調べたら下記のようなことが起こっていました。


Firefox16でMovable Typeのカテゴリ・フォルダ選択ができない不具合について
Firefox 16 でカテゴリおよびフォルダの選択が保存できない。


自分はFirefoxのブラウザをメインで使用しているのですが、
どうやら新しいバージョンのFirefox16では、MovableTypeののカテゴリを選択できない。
という謎のバグが発生していた為でした。

解消するためのバッチが配布されているようですが、
もうChromeメインに乗り換えようかな・・・
シンプルで使いやすい矢印アイコンセット
2012.09.19
以前もローディング画像の素材で取り上げたPIXEL LAB様ですが、
こちらの矢印素材も使いやすいオーソドックスなものが揃っています。

■PIXEL LAB
フリーデザイン素材「シンプル矢印アイコン25種×10サイズ」

デザインしてると矢印素材はいくらあってもいい気がしてきます。
どのサイトでもだいたい必要ですし、
(個人的に)似たものを使ってしまいがちなので・・。

jQuery:get関数の戻り値を受け取る
2012.09.12
jQueryのget関数を使ってPHPをリクエストし、
結果を戻り値として受け取る・・だけだったのですが、
勘違いをしていてひどく苦戦したのでメモします。


JS側は

$.get("test.php", function(data){
   alert(data);
});


というように、
PHPを実行してその結果を受けて
コールバック関数で表示させるというものです。

で、肝心のPHP側ですが、
処理の結果を return で返そうとしていて・・
(そもそも関数内じゃないので return は無意味ですね)

戻り値は XMLHttpRequestオブジェクトなので、
単純に print で出力してあげれば受け取ることができました。
マウスオーバーや画像表示の工夫
2012.08.29
コーディングをする際にできるちょっとした工夫をメモ。

■マウスオーバー
画像をふわっとオーバーします。

jQueryで簡単実装!フェードエフェクト付き画像ロールオーバー

サンプル


■マウスオーバー
背景色をふわっとオーバーします。

[jQuery] メニューの背景色をロールオーバーでふわっと変える

サンプル


■画像の表示
ふわっと表示させられます。

画像に遅延表示っぽいエフェクトを与えるだけのm5LazyDisplay

サンプル


JS:スマホサイトのURLから、PCサイトのURLを取得
2012.08.15
PCサイトの階層に「sp」などのスマホサイト用階層を作り、
その中にPCサイトと同じ構造でスマホサイトが作られているときに、
スマホサイトからPCサイトへのURLを自動取得するJSです。

ようするに「PC版を見る」ボタン用のURLを自動で入れるJSです。

タイトルも説明も長いですが、
ソース自体はURLから /sp/ を外すだけの簡単なものです。

2012.9.24 修正
ソースが大雑把過ぎたので追記しました(水色箇所)。


■JS
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript">
$(function(){

   $("#btn_pc").click(function(){
     var s = location.pathname.split("/sp/");
     location.href = s[0] + '/' + s[1];
   });
});
</script>


■HTML
<a href="javascript:void(0);" id="btn_pc">PC版を見る</a>


サンプル
ダウンロード

赤文字が階層名ですので、任意のフォルダ名に変更してください。

.clickの部分にjQueryを使っていますので、
jQuery使わない方は書き換えてみてください。
使いやすそうなローディングアニメgif
2012.08.08
以前ローディングアニメgifのジェネレータについて書きましたが、
こちらで配布されているアニメーションgifにも同じくらいお世話になっています。

■PIXEL LAB
http://www.pixelimage.jp/blog/2012/04/loading_icon.html

シンプルで何にでも合わせやすそうなものが揃っています。

なにより、いくつかドットがぱっきりした(アンチエイリアスのかかってない)
ものがあり、背景色が固定でないところでも使えて便利です!

今後も多用しそうな素材集です。

月別アーカイブ