トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     インスタンスを移動させ、滑らかに止める方法
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
junmzkw
Åê¹ÆNo.43280
投稿日時: 2009-8-27 18:40
新米
居住地:
投稿: 4
使用環境:
WinXP pro SP3
Flash CS5
Flash Player 10
インスタンスを移動させ、滑らかに止める方法
はじめまして。

マウスの動きをはじめ、何らかのイベントでオブジェクトを動かす際、動きがピッタリと止まらずに、滑ったようにゆっくり止まっていく動きを実現したいと考えております。

以下に記載しましたサイトの画面下にマウスを持っていくと下からスクロール型のサムネイル一覧が出てきます。
マウスのX軸に位置でサムネイル一覧が左右にスクロールしますが、マウスの動きを止めても動きに余韻が残っているというか、滑ったようになめらかな動きをしておりますが、これはどのように実現できすのでしょうか?

例えば、box_mcというMovieClipインスタンスがあったと過程して、マウスのX軸に合わせて追従する場合、box_mc内にスクリプトを書いた場合、

addEventListener(Event.ENTER_FRAME, function(event:Event):void {
x+=mouseX;
y+=mouseY;
});

となると思いますが、これをマウスに追従しつつ、インスタンスを滑らすように表現する方法をお教えいただけないでしょうか?

また、マウスの追従するだけでなく、単にインスタンスを目的の位置に移動する際に滑らかに動く方法もご教授いただけると幸いです。

環境はFLASH CS4でActionScript3です。

参考サイト:http://www.yoshieinc.co.jp/#/INTERNATIONAL_Div/ALYSSA​

宜しくお願いいたします。
vader
Åê¹ÆNo.43281
投稿日時: 2009-8-27 19:49
常連
居住地: 東京
投稿: 76
使用環境:
MacOS10.8,FlashCS6
Re: インスタンスを移動させ、滑らかに止める方法
junmzkwさん、こんにちわ。


var nDeceleration:Number = 0.2;

addEventListener(Event.ENTER_FRAME, function(event:Event):void {
x+=mouseX * nDeceleration;
y+=mouseY * nDeceleration;
});


で如何でしょうか?
nDecelerationの値で減速率を調整出来ます。

>また、マウスの追従するだけでなく、単にインスタンスを目的の位置に
>移動する際に滑らかに動く方法もご教授いただけると幸いです。

こちらに関しても、同じようなやり方で出来ます。


x = 0;
y = 0;

addEventListener(Event.ENTER_FRAME, test);

var nTargetX:Number = 250;
var nTargetY:Number = 250;
var nDeceleration:Number = 0.2;

function test(evt:Event):void {
	var nDistanceX:Number = nTargetX - x;
	var nDistanceY:Number = nTargetY - y;
	x += nDistanceX * nDeceleration;
	y += nDistanceY * nDeceleration;
}


また、Tweenクラス等を使うという手法もあります。
以上、お役に立てましたら幸いです。

junmzkw
Åê¹ÆNo.45561
投稿日時: 2010-8-24 0:00
新米
居住地:
投稿: 4
使用環境:
WinXP pro SP3
Flash CS5
Flash Player 10
Re: インスタンスを移動させ、滑らかに止める方法
ご回答いただいておきながらご返信遅れまして申し訳御座いません。
ご指摘の内容でも再現できましたが、Tweenのライブラリを使うことで希望する動作を実現することができました。

この度はありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops