| 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
|
|
Response
06
|
| 2008年04月16日
(水) 07時33分> nanao
|
|
joyさん
おはようございます。
お手数をおかけしてしまってすみません。。
サンプル、ありがとうございます!
教えて頂いた内容、サンプルなどを
参考にもうちょっとがんばってみます!
こんな掲示板があるなんて…世の中捨てたもんじゃないですね。
丁寧に教えていただいて(しかもこんな時間に ^ ^;)本当にありがとうございました!!
|
|
Response
07
|
|
Response
08
|
|