- 締切済み
tweenクラスを使った明度の調整は可能ですか。
ずっとチカチカと、ちょうど電灯が着いたり消えたりするような効果をMCにつけたいと思い、以下のスクリプトをフレームに書きました。 import mx.transitions.Tween; import mx.transitions.easing.*; var myTween:Tween = new Tween(ball, "_alpha", None.easeNone, 100, 0, 0.2, true); myTween.onMotionFinished = function() { this.yoyo(); }; これでも良いことは良いんですが・・ alphaではなく明度(brightness?)で調整できないものかと思っています。 しかし、対象のMCのプロパティにbrightness等入力しても反応しません。 これまでに、_x , _xscale , alphaくらいは試してこれたのですが、明度は調整できないのでしょうか。 FlashCS3 AS2.0仕様です。 参考サイトをいくつか見てみましたが、alphaについては例が書いてあるのですが、明度がないような気がします。 どなたかご教授いただけませんでしょうか。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- BlurFiltan
- ベストアンサー率91% (1611/1754)
一応,ヘルプにありますよ。 「カラーマトリックスフィルタの使用」 Flash CS3 のヘルプ http://livedocs.adobe.com/flash/9.0_jp/main/00000983.html Flash 8 のヘルプ http://livedocs.adobe.com/flash/8_jp/main/00001520.html →Tween クラスを使用して インスタンスの明度レベルをアニメーション化するには 上記ヘルプにしたがって スクリプトを書き替えると,次のようになると思います。 (背景は白と想定した場合(アルファ0が白と等しいと想定した場合)です。) ----------------------------------- import flash.filters.ColorMatrixFilter; import mx.transitions.Tween; import mx.transitions.easing.*; ball.watch("brightness", brightnessWatcher, ball); var myTween:Tween = new Tween(ball, "brightness", None.easeNone, 100, 0, 0.2, true); myTween.onMotionFinished = function() { this.yoyo(); }; function brightnessWatcher(prop:String, oldVal:Number, newVal:Number, target_mc:MovieClip):Number { var brightness_array:Array = [1, 0, 0, 0, newVal, 0, 1, 0, 0, newVal, 0, 0, 1, 0, newVal, 0, 0, 0, 1, 0]; target_mc.filters = [new ColorMatrixFilter(brightness_array)]; return newVal; }; ----------------------------------- 明度を変化させるということは, RGB の各オフセット(-255 ~ 255(ColorMatrixFilterでは-100~100)) を同じように変化させるということです。 Tweenクラスに関わらず, 明度をスクリプトで操作するようなサンプルをあまり見かけないのはそのためです。面倒なのです。 それ以上詳しいことは,この筋の専門でないのでよくわかりません。
- taku2888
- ベストアンサー率60% (15/25)
失礼、試したけどあきませんね。 http://www.adobe.com/jp/devnet/flash/articles/graphic_effects_guide_print.html の「brightness.fla」を参考に・・・
お礼
そうなんですよ。 私も色々試してみたのですが中々良い答えがなかったんです。 資料有難うございます。 勉強してみます。
- taku2888
- ベストアンサー率60% (15/25)
_brightness (-100~+100)では、ダメですか。
お礼
有難うございます。 助かりました。 理由もわかり、本当に勉強になりました。 これは意外と説明されている場所は少ないみたいで、今まで何となくやらないできたのですが、これですっきりです。