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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     MCをドラッグした際の回転軸変更および回転処理について
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
牛嶋ゴンザレス
Åê¹ÆNo.17181
投稿日時: 2005-5-11 14:12
新米
居住地: 東京都
投稿: 4
使用環境:
XP Pro SP2
6.0
MCをドラッグした際の回転軸変更および回転処理について
皆様はじめまして。
よろしくお願いいたします。

こちらのスレッド
http://www.flash-jp.com/modules/newbb/viewtopic.php?viewmode=flat&topic_id=402&forum=6
にもあるのですが、下記のサイト
http://www.intentionallies.co.jp/content_normal.html
のカードのような動きを実装したいと考えております。

onClipEvent (load) {
    x = _x;
    y = _y;
    xv = 0;
    yv = 0;
    mx = 0;
    my = 0;
    vfactor  = 0.9;
    friction = 0.5;
}
 
on (press) {
    drag = 1;
    mx = _parent._xmouse - this._x;
    my = _parent._ymouse - this._y;
}
 
on (release, releaseOutside) {
    drag = 0;
    xv = (x-ox) * vfactor;
    yv = (y-oy) * vfactor;
}
 
onClipEvent (enterFrame) {
    if(drag){
        ox = x;
        oy = y;
        // 回転中心設定
        var rad = Math.atan2(my, mx);
        var center_x = Math.cos(rad);
        var center_y = Math.sin(rad);
        var dis = my / center_y;
        x = _parent._xmouse - dis * center_x;
        y = _parent._ymouse - dis * center_y;
    }else{
        x += xv;
        y += yv;
    }
    // 慣性処理
    xv = xv * friction;
    yv = yv * friction;
    _x = x;
    _y = y;
}


マウスでつまんだ部分を回転軸とし、
ドラッグ中はマウスの動きに合わせて回転。
ドロップした後も回転を続け慣性ですべっていくという
動きをもたせたいと考えております。

onClipEvent(enterFrame)内で
_rotationを三角関数を使い導き出した値で+=させていくというイメージを持ったのですが、
そこで煮詰まってしまいました。

フォーラム内を検索させていただいたつもりですが、
該当するものを見つけることができなかったため、
スレッドを立てさせていただきました。

お知恵をお貸しいただければ幸いです。
よろしくお願いいたします。
SeeDa!!
Åê¹ÆNo.17182
投稿日時: 2005-5-11 19:46
職人
居住地: Nagoya
投稿: 221
使用環境:
WinXP
Flash CS4
au:W33SA?
Re: MCをドラッグした際の回転軸変更および回転処理について
面白そうだったので
引用:
マウスでつまんだ部分を回転軸とし、
ドラッグ中はマウスの動きに合わせて回転。
までですが、挑戦してみましてた。

入れ子を利用して、回転(rotation)させるのは親で、子(in_mc)はクリックされた位置を親の中心に移動するという感じです。
親のMCに記述するスクリプトは以下のとおりです。
on(press) {
	this.in_mc._x -= this._xmouse;
	this.in_mc._y -= this._ymouse;
	this._x = _root._xmouse;
	this._y = _root._ymouse;
	//
	catchFlg = true;
	this.startDrag();
}
on(release) {
	catchFlg = false;
	this.stopDrag();
}
onClipEvent (enterFrame) {
	if (catchFlg == true) {
		this._rotation+=10;
	}
}
途中やりですが、参考になりますでしょうか?
サンプルも上げておきました
牛嶋ゴンザレス
Åê¹ÆNo.17183
投稿日時: 2005-5-11 23:50
新米
居住地: 東京都
投稿: 4
使用環境:
XP Pro SP2
6.0
Re: MCをドラッグした際の回転軸変更および回転処理について
SeeDa!!さん

どうもありがとうございます。
サンプルも拝見させていただきました。
おかげさまでヒラメキました。
実装にちょっと時間がかかるかもしれませんが
試してみたいことができました。

結果はこちらにもフィードバックさせていただきます。

まずはお礼まで。
ながながい
Åê¹ÆNo.17184
投稿日時: 2005-5-12 0:12
半人前
居住地: 京都
投稿: 30
使用環境:
WindowsXP SP2,
Flash CS3, Flash8
Re: MCをドラッグした際の回転軸変更および回転処理について
すごい昔のですけど、フォーラムに話題があがってましたよ。
MC回転軸の変更による回転力と方向の変化について

参考になりますかどうか。。。
牛嶋ゴンザレス
Åê¹ÆNo.17236
投稿日時: 2005-5-15 1:03
新米
居住地: 東京都
投稿: 4
使用環境:
XP Pro SP2
6.0
Re: MCをドラッグした際の回転軸変更および回転処理について
ながながいさん

レス遅れてすいません。
ありがとうございます。
僕もそのスレッドは参考にさせていただきました。

それで、ここ最近いろいろと試行錯誤していたのですが…。
どうもやはりお手上げです。


同じような動きを2001年に中村勇吾さんが実現されているようです。
http://yugop.com/
いやーあの方レベルの技術なんでしょうかね。汗

まあ気長にぼちぼちと今後もやっていこうと思います。

みなさまどうもありがとうございました。
お騒がせいたしました。
ながながい
Åê¹ÆNo.17237
投稿日時: 2005-5-15 7:31
半人前
居住地: 京都
投稿: 30
使用環境:
WindowsXP SP2,
Flash CS3, Flash8
Re: MCをドラッグした際の回転軸変更および回転処理について
牛嶋ゴンザレスさん、すいません。。。
僕が紹介したURL、最初に挙げてられてたのですね。
ちょっと恥ずかしいミスをしてしまいました。

引用:

牛嶋ゴンザレスさんは書きました:
ながながいさん

レス遅れてすいません。
ありがとうございます。
僕もそのスレッドは参考にさせていただきました。



あーゆー動きは、ちゃんと剛体モデルを考えないと実現できないもんなんですかね?
モーメントやらそういった概念をどうやって実現させているのか疑問です。
もっと勉強しなくては !

引用:

同じような動きを2001年に中村勇吾さんが実現されているようです。
http://yugop.com/
Fla4man
Åê¹ÆNo.17254
投稿日時: 2005-5-16 10:31
職人
居住地: かまくら
投稿: 517
使用環境:
WinMe,Win2000,
Flash4,アズさん,大仏、delphi
Re: MCをドラッグした際の回転軸変更および回転処理について
見方が悪かったらあれなんですけれど
各方のレスには
「回転加速値」が無いようにみられます。

マウスからドロップされたあと回転加速値を減らしていくって考え方で
初期値などはモーメントというよりは
マウスの一定時間での移動量から割り出す程度でいいのでは無いかと思いますが

ボールのバウンド系のスクリプトは結構やっている人もいると思うので
動きは違うけれど
そういったものが結構参考になるのではと思います。


----------------
通常のハンドル名:×○○× ねた回収モードに突入 現在1/100

牛嶋ゴンザレス
Åê¹ÆNo.18272
投稿日時: 2005-6-22 17:28
新米
居住地: 東京都
投稿: 4
使用環境:
XP Pro SP2
6.0
Re: MCをドラッグした際の回転軸変更および回転処理について
いまさらながらの自レスでございます。
http://www.intentionallies.co.jp/
ってもろ中村勇吾さんのお仕事だったんですね。

引用:

同じような動きを2001年に中村勇吾さんが実現されているようです。
http://yugop.com/
いやーあの方レベルの技術なんでしょうかね。汗


いやまったくもってそのとおりだよ。>おれ
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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