- ベストアンサー
マウスの基準点について
- マウスの基準点を中央にもっていく方法を教えてください
- マウスの基準点が上の方になっているため、中央にもって行きたい
- マウスの基準点を中央に移動する方法がわかりません
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
まず、参考書をお持ちのようですが、それに基づいて記述されたスクリプトは理解できているのでしょうか 記述された内容はxmlを読み込み成功した際にメニュー数に基づき各サムネイルを配置・xmlから持ってきたjpgURLを読み込ませる・スクロールにより消えるイベントを追加・ボタンとしての機能追加、失敗したらエラー処理等、かな?と"推測"しかできないのです 肝心な全体をスクロールさせる元となるスクリプトがないというわけです 解決方法ですが、ここからも"推測"になります _root上なりどこかのonEnterFrameもしくはそれを定義しているfunction、可能性としてはscrollphoto_me()を定義している箇所に "_ymouse" という記述はないでしょうか そして、恐らくその_ymouseと比較している変数なり、数値が質問者さんの仰る"マウスが摩擦をおく基準"になっていると思われます そこをステージサイズの中央Y座標に合わせれば解決されるかもしれませんので、ご確認下さい scriptが長い場合は検索機能があるので、そちらを使うと見つけるに手っ取り早いと思います もう一度申し上げますが、あくまでも"推測"ですので、参考までに
その他の回答 (1)
#1の方の推測は当たっていると思います。 > var speed:Number = (_root._ymouse)*friction; > を > var speed:Number = (_root._ymouse-center-120)*friction; > にしたらなりました。 おめでとうごさいます! あのですね。 #1の方もご指摘通り,関係ないスクリプトばかりご質問で書かれていますので, 失礼かと思いましたが少し Hugらせて頂きました。 http://www.forest.impress.co.jp/lib/pic/video/flash/hugflash.html ご質問で書かれているスクリプトではなく, そのスクリプトのずっと下の方に, var center = (Stage.width / 2); という変数 center を設定している行が見えるのですが, (見えますが私は超能力者ではありませんよ。) この center の値を受けて, ((_root._ymouse - center) * friction); という値が決まるようになっています。 ステージの幅を基準にマウスの y 座標の基準点を決めるのは変ですね。 作成されたSWFは,ステージの横幅が狭いSWF(165px)なので, マウスの基準座標が上の方(165px/2=82.5px)に行くのだと思います。 ですから, var center = (Stage.width / 2); ↓ 変更 ↓ var center = (Stage.height/2); だと思います。 さらに微調整が必要でしたら,この center の値に プラスマイナスしてみてください。 ---例--- var center = (Stage.height/2)+25; 単にスクリプトをザッと見てみたけで,実際には動作させていないので, うまく行くかどうかはわかりません。 私の回答も単なる推測です。
お礼
ありがとうございます。助かりました。 すごいですね!ちゃんとありました・・・ このページはこのスクリプトで動いているとすぐわかるんですね。さすがです。 あと大変恐縮ですかXMLのほうに質問しているんですが、おわかりになりましたらで結構なのでなにかアドバイスをお願い致します。
お礼
お手数おかけして申し訳ございません。教えて絵頂いてありがとうございます。スクリプトは現在勉強中です。 var speed:Number = (_root._ymouse)*friction; を var speed:Number = (_root._ymouse-center-120 )*friction; にしたらなりました。