Flash:回転するMC
2010.04.15
こういう感じのものです。(マウスオーバーで回転)

MCをスクリプトで回転させるくらいは普通にやってましたが、
上のように一定量回転したら止まるものを作ろうとしたら
思いのほか苦労したという話です(笑)

( 現在の角度 ) + ( 350° ) = ( 目標の角度 )
というようにしてまず目標地点を決めるのですが、何かおかしい数字が出ます。

もちろん現在の角度に問題があるわけですが・・
試しに20°ずつ増やして数値を見ると、

0°, 20°, 40°, 60°, 80°, 100°, 120°, 140°, 160°, 180°, -160°, -140°, -120°, -100°, -80°・・

というようになっています。
180°以上のときに数値を取得するとマイナスになってしまうので、
つまり例えば 200°のときには
( 200° + 350° = 550° )
となってほしいのが、
( -160° + 350° = 190° )
となってしまうので、挙動がおかしくなってしまうのでした。

ので、

nowR = 0;
targetR = nowR + 350;

onEnterFrame = function(){
this._rotation = nowR+= (targetR - nowR) / 20;
}

というように nowR という代わりの変数を用意して、
計算の中では _rotation で取得をしないようにすることで解決できました。
| コメント(0)
MT:記事を保存したときに自動で再構築
2010.04.08
記事を投稿したとき、基本的にはその記事に関係するページしか
再構築されないと思います。
けどそれだと、ブログのメニューに最新記事のリストなどを
表示してる場合、ページごとにリストの内容がまちまちになってしまいます。

これを何とかしようといろいろ調べてみたんですが、
なかなか良い方法が見つからず・・
そもそも最初からSSIで読み込むようにするとか、PHPで読み込むとか
更新のいらない賢い方法で皆さんやっていらっしゃるようです^^;

今回は修正が加えにくかったので、
自動で再構築させるプラグインを探してみました。

■RebuildBlogByIDプラグイン
http://weeeblog.net/blog/2008/11/30_2334.php

こちらで公開されています。
記事を保存したときに、指定したブログを再構築してくれるプラグインです。
今回の用途以外にも上手く使えそう(むしろそっちがメインでしょうか・・)。

デフォルトでやったらタイムアウトエラー?が出てしまったので、
サーバーによっては再構築をバックグラウンドで行わせる設定に
したほうがよさそうです。
| コメント(0)