D0804132 「回転するメニュー」のカスタマイズ
Name nanao
Date 2008年04月13日 (日) 23時04分
Message はじめまして。
いつもこちらの掲示板に助けられております!
ありがとうございます。

今回どうしても自分だけでは解決出来ず、
初めて投稿させていただきました。
Flash歴1年半程度の初心者です。

下記サイトの「New Arrival」のようなものを作りたく奮闘しています。
http://www.jillstuart.jp/contents.html

下記サンプル
http://hfm-kenchan.com/Lesson/contents/s745.htm
をもとに回転と各カテゴリへのリンクをつけるところまでは出来ましたが、
回転を一定方向に制御することがどうしてもできません。
(サンプルですと、「1」もしくは「8」をクリックすると逆方向に回転するかと思います)

週明けのクライアントチェックを控え、途方にくれております。。
お休みのこんな時間で申し訳ありませんが、
どなたかご指導いただけないでしょうか?
どうぞ、どうぞよろしくお願いします!
Response 01
2008年04月15日 (火) 01時15分> joy 
nanaoさん、
今晩は。
この問題は、解決しましたか?
該当のサンプルよりも、
■SUIT COMPANY風カスタマイズのcircle.zipのcircle_menu.flaが改変し易いです。

以下のようにしました。

1)シーンの基準のクリップアクションに、以下を追記しました。
onClipEvent (load) {
R = 170;
henpei = 0.3;
minS = 60;
maxY = Math.sin(90*Math.PI/180)*R*henpei;
speed = 0;
var Check:Boolean = false;//追記分:制御変数 Checkの初期値をfalseとする
}

onClipEvent (enterFrame) {
if (Check) {//追記分:trueなら、-3として、右方向に回転させる
speed=-3;
} else{//追記分:falseなら、目標接近スクリプトを使い、ゆっくり、0に向かわせる
speed+=(0-speed)/20;
}
}

2)ライブラリーの基準MCをシンボル編集画面で、開き、8つあるMCに対して、以下、同じことを繰り返します。例えば、@のMCに対して、

onClipEvent (load) {
kakudo = 0;
}
onClipEvent (enterFrame) {
theRadian = kakudo*Math.PI/180;
this._x = Math.cos(theRadian)*_parent.R;
this._y = Math.sin(theRadian)*_parent.R*_parent.henpei;
yy = 100+(this._y-_parent.maxY)*(_parent.minS-100)/-(_parent.maxY*2);
this._alpha = this._xscale=this._yscale=yy;
this.swapDepths(yy);
kakudo += this._parent.speed;
}

/*〜以下が追記分です〜*/
on (press) {//押されたら、基準の制御変数 Checkをtrueにし、speedを-3にする
this._parent.Check = true;
}

on (release, releaseOutside) {//リリース、リリースアウトサイドなら、falseとして、speedを0に向かわせる
this._parent.Check = false;
}

以上で、各MCを押せば、右一方向に周り、リリース、リリースアウトサイドで、ストップしますが、目標接近スクリプトを使用してるので、滑らかに、ストップします。
(右でも左にでも動く点を除けば)該当サイトの動きと近いのではないでしょうか?

ご参考までに。
http://homepage2.nifty.com/joys/answers/circle_menu_oneway.html
Response 02
2008年04月15日 (火) 23時51分> nanao 
joyさん!!!!!!
なんと丁寧なご回答!ありがとうございます!!
感動のあまり同僚を呼んで一緒に回答を見てもらいました。
ご指導頂いた内容で右一方向に回転させることが出来ました!

ですがすみません、言葉足らずだったのですが、
各MCをクリックするとクリックしたものが正面に来るようにし、
かつ回転は一定方向にしたいのです。

そのような制御は可能でしょうか?
Response 03
2008年04月16日 (水) 01時40分> joy 
nanaoさん、
今晩は。
speedと目標接近スクリプトの分母の関係を、幾つかTryすれば、中央に来たように見せることはできます。
私も正確な計算まではしてません。

以下の例は、
speed=-2とし、分母を、21.5とした例です。サンプルも直しておきました。

onClipEvent (enterFrame) {
if (Check) {//追記分:trueなら、-2として、右方向に回転させる
speed=-2;
} else{//追記分:falseなら、目標接近スクリプトを使い、ゆっくり、0に向かわせる
speed+=(0-speed)/21.5;
}
}
Response 04
2008年04月16日 (水) 02時32分> nanao 
joyさん

こんばんは。
こんなに遅くにご返信ありがとうございます!

そして何度もすみません!
「クリックしたMCを正面に」というのは
作って頂いたサンプルですと最初一番手前が「3」だと思うのですが、
一番奥にあっても「7」をクリックしたら「7」が正面に、
「6」をクリックしたら「6」が正面にくるようにしたいのです。

全体としては
(1)クリックしたものが正面にくる
(2)正面にきたら詳細ページへのリンクボタンを表示
という動きにしたいからなのです。。

■3D回転するメニュー4(No.745)をもとに
(1)(2)は実現出来たのですが、回転を一定方向に出来なくて。。
日本語が不明瞭ですみません!

自分でも作って頂いたサンプルなどをもとに
色々調整してみようと思いますが、
解決策があるようであれば教えて頂けると嬉しいです。
どうぞよろしくお願いします。
Response 05
2008年04月16日 (水) 05時39分> joy 
nanaoさん、
おはようございます。
要望が分かりましたが、憲ちゃんさんのを簡単に、改変できるかどうか、私にも、分かりません。
(もう、見られているかもしれませんが)、要望にピッタリかなと思われるソースが以下にありましたので、とりあえず、紹介しておきます。

参考にしてください。
http://blog.takeda-soft.jp/blog/show/65
Response 06
2008年04月16日 (水) 07時33分> nanao 
joyさん

おはようございます。
お手数をおかけしてしまってすみません。。
サンプル、ありがとうございます!

教えて頂いた内容、サンプルなどを
参考にもうちょっとがんばってみます!
こんな掲示板があるなんて…世の中捨てたもんじゃないですね。
丁寧に教えていただいて(しかもこんな時間に ^ ^;)本当にありがとうございました!!
Response 07
2008年04月17日 (木) 02時54分> nanao 
joyさん

こんばんは。
昨日頂いたサンプルを元に一定方向の回転・リンクは実現出来ました!
ありがとうございます!
ですが今度は重なり順のコントロールがうまくいかず(見た目に厳しいクライアントさんなので…)、
現在もう一度http://hfm-kenchan.com/Lesson/contents/s745.htmのサンプルを試しています。

実現したい動きのswfを解析してみたところ、
http://hfm-kenchan.com/Lesson/contents/s745.htm
のサンプルにかなり記述が似ていてなんとかなりそうかな?
と思ったのですが、複雑で私では力及ばずでした。。

実現したい動きのswf
http://www.jillstuart.jp/arrival.swf
解析したflaファイル
http://pc2.sub.jp/design/arrival.zip

このファイルをもとにさらっと改良出来ないでしょうか?
お願いばかりですみません!
どうぞよろしくお願いします。
Response 08
2008年04月17日 (木) 21時43分> nanao 
こんばんは。
教えて頂いたサンプル
http://blog.takeda-soft.jp/blog/show/65
をもとになんとかイメージに近いモノを作成することが出来ました。

夜中途方にくれながら見た、こちらの掲示板の感動を忘れる事はないでしょう!
いろいろご教授いただき、ありがとうございました。
お礼とご報告でした。

nanao

このページの先頭へ