スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--.--.-- | | スポンサー広告

残像を表示する

移動するムービークリップの残像を表示してみました。




ステージ内でマウスを動かすと残像を残しながら物体が移動します。
やってるコトは単純で、onEnterFrameでだんだん透明になるムービークリップを作ってるダケです。

ムービークリップ本体は、ばねっぽくイージングしてマウスカーソル(非表示ですが)を追いかけます。が非表示です。
onEnterFrameで、本体をduplicateMovieClipして残像を作り、ソイツのonEnterFrameでアルファ値を変化させてます。そんで、ある程度以上透明になったら残像をremoveMovieClipしてマス。

ActionScriptはこんなカンジです。

// 加速度
var k:Number = 0.4;
// 減衰係数
var a:Number = 0.5;
// 透過係数
var t:Number = 0.6;
// 透過限界
var aLimit:Number = 10;
// スピード
jien_mc.speedX = 0;
jien_mc.speedY = 0;

// 本体は非表示
jien_mc._visible = false;

// マウスカーソル非表示
Mouse.hide();

// フレーム毎の処理
jien_mc.onEnterFrame = function() {
// 移動
this.speedX = k * (_xmouse - jien_mc._x) + a * this.speedX;
this.speedY = k * (_ymouse - jien_mc._y) + a * this.speedY;
this._x += this.speedX;
this._y += this.speedY;
// 残像
createAfterImage();
}

// 残像を作成します。
function createAfterImage() {
// 本体をコピーする
var depth:Number = _root.getNextHighestDepth();
var afterImage_mc:MovieClip
= jien_mc.duplicateMovieClip("afterImage_" + depth, depth);
// フレーム毎にアルファ値を低くする
afterImage_mc.onEnterFrame = function () {
this._alpha *= t;
// アルファ値が透過限界以下になったら消滅
if (this._alpha <= aLimit) {
this.removeMovieClip();
}
}
}
jien_mcがマウスカーソルを追いかけるムービークリップ(ただし非表示)で、createAfterImageで本体をduplicateMovieClipして残像を作ってます。
スポンサーサイト

テーマ:Flash - ジャンル:コンピュータ

2007.03.29 | | Comments(2) | Trackback(0) | Flash/ActionScript

コメント

コメントありがとうございます。

はじめまして。
オレも他の方のを見たりしつつ勉強中ですー。

このブログに書いてあるのが手本になるかというと自信ないですが、お役に立てばサイワイです。

2007-03-29 木 15:45:10 | URL | HundredthMonkey #ZJmJft5I [ 編集]

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

2007-09-03 月 14:54:59 | | # [ 編集]

コメントの投稿


秘密にする

«  | HOME |  »

プロフィール

HundredthMonkey

Author:HundredthMonkey
プログラマ。

ブロとも申請フォーム

この人とブロともになる

メールフォーム

名前:
メール:
件名:
本文:

ブログ内検索


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。