• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:スクロール処理(早急にお伺いしたいです。))

スクロール処理を行うための方法

DPEの回答

  • DPE
  • ベストアンサー率85% (666/776)
回答No.3

おそらくですが、sheet の中心点が中央にあるからではないかと思います。 例えば、移動の処理で  sheet._x = sc_bar.getScrollPosition() * ( -1 ) + 250; このように補正値を加算すると、いかがでしょうか?これで正常に動くようでしたら、sheet の中心点が中央にあるということですが。 直らない場合は、ムービークリップの幅やマスクの幅が、実は 500 px・300 px ではない・setScrollProperties の第3引数が 200 ではない・初期配置(特にX座標)が0ではないなど、スライダの範囲とムービークリップの座標が正しく対応できていない理由が考えられます。 中心点を左端に、配置する時も ( 0 , 0 ) にと申しましたのは、その方が数値も考えやすく、また、スクロールバーの特性を考える上でも分かりやすいかと思っただけのことで、必ずこの配置でなければならない理由はありません。 getScrollPosition では、スライダが左端にある時は0が、右端にある時は 200 が返され、それを元に sheet の座標を決めています。 また、sheet の中心点が左端で、初期状態では _x = 0 になっているものとして座標を計算しています。 sheet の中心点が左端でない場合や座標が0の地点以外に配置している場合は、左端からの距離の分だけ・0の地点からの距離の分だけ生じるズレを考慮してください。 Sheet_Scrolling 関数は、スライダが移動しなければ呼び出されません。ムービーが再生された直後は1度も呼び出されておらず、sheet の配置は初期状態のままです。 1度でもスライダが動くと、関数が呼び出されて移動します。この時の座標の計算が正しくないと、2回め以降にスライダが端に来た時、表示が切れたり余白が出たりしますし、最初にスライダを移動させた時、異常に表示が飛んでしまうなどのトラブルが発生します。 最初の1回だけ正しい位置で表示されるのは、このような理由によるものです。 #都合により、次の回答は後日になります。スクロールバーの動作原理と上手くいかなかった原因を考えて、いろいろ研究してみてください。

teddy1014
質問者

お礼

ありがとうございます。 座標計算は、必ずゼロを基点に行なわれるんですね。 シンボルの中心点(+マーク)は左上端に位置していましたが、配置していた箇所がドキュメントの中のX=100,Y=100にしていました。補正値を+100加えれば正しく表示されました。 ムービークリップの中に、新たに各画像毎にボタンシンボルを配置し、Press時に拡大表示するように改変を加えてみます。 ところで、ムービークリップにFocusした時に左上端に+マークは付いていますが、中心に○マークがついています。 この○マークって一体何なんでしょうか?。 どうぞ宜しくお願い致します。

関連するQ&A

  • スクロールバーが一番したまで来たときにボタンが表示される。

    質問させてください。 createtextfieldでつくったテキストフィールドにコンポーネントを使って、スクロールバーを適用させています。 そのスクロールバーのスライダが一番下まで来たときに、ボタンを表示させたいのです。 しかし、その条件設定がどうしたらいいのかわからず、なやんでいます。 自作のスクロールボタンだと、ボタンを押したときにmaxscrollなら、という条件設定で実現できたのですが、コンポーネントの場合は、どういう風にすればいいのかわからず、困っています。 もしよろしかったら、教えていただければ、幸いです。 私が使っているのは、 WIN XP FLASH MX 2004 です。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • テキストフィールドにスクロールバーを設置

    テキストフィールドをダイナミックテキストに指定し、 複数行に設定した後にコンポーネントパネルから「ScrollBar」をフィールドの右側にドロップしてからパブリッシュをしたのですが、 swfファイルを見てみると全くスクロールバーが作動していませんでした。 テキスト内には外部ファイル(txt)を読み込んでいるのですが、、、 そのときに使用したASは this.loadVariables("xxx.txt") で、これを1フレーム目に記述しました。 一応txtファイルに記述した適当な日本語文はきちんと表示されていました。 一体どこが原因でスクロールバーが作動しないのでしょうか? よろしくお願いします。

  • スクロールバーのタグについて

    こんにちは。 先日、HPができたのですが スクロールバーがうまくいかずに困っています。 HPの中でイラストを表示させるページがあり、 <a href="画像URL"target="a"></a> そのタグを上のようにしています。 HP内全てのページのスクロールバーを <style type="text/css"> <!-- body{ scrollbar-face-color:白; scrollbar-arrow-color:オレンジ; scrollbar-track-color:黄緑; scrollbar-highlight-color:赤; scrollbar-shadow-color:水色; scrollbar-3dlight-color:黒; scrollbar-darkshadow-color:ピンク; } --> </style> 上のように設定しています。 (色はわざとコードを使わないで名称で書いてます。) 他のページには全て反映できているのですが、 そのイラストを表示させるページの スクロールバーは何も変化がありません。 画像をアップするのにFFFTPを使っていて、 FFFTPから右クリックで 「URLをクリップボードへコピー」で 画像のURLのところに貼り付けています。 なので、そのページのタグは画像のみで スクロールバーの設定をしていないからだろうと思うのですが、 よくわからくて、困っています。 うまく説明ができませんが、 アドバイス等ありましたら、お願いします...! 説明不足の質問などでもどうぞ... よろしくお願いします。

  • マウス追従とスクロール

    マウス追従とスクロール flashCS4(Mac) actionscript2.0 初心者です。 以下サイトのようなサムネイル画像をマウス追従とスクロールで表示させる仕掛けを作りたいのですが、 初心者でも理解できる説明に出会いません。 http://www.seanizzard.com/izzard_gallery.html サムネイル写真を横に10ヶ並べ on (release) { _root.big_mc.gotoAndStop("p1"); } で拡大写真を表示するまではできたのですが、マウス追従とスクロールがわかりません。 実際には20ヶ~ほどサムネイル写真を並べ、通常は10ヶほど表示させ、隠れている写真はスクロールで表示するようにしたいと考えています。マスクも必要ですよね。 (軽量化のため外部ファイルにする方が良いのでしょうが、まだそこまでできません。) onClipEvent(enterFrame) { _x+=_xmouse を使うのでしょうか? 質問の仕方もこれでよいのか、、どなたかお力をおかしください。 よろしくお願いします。

  • スクロールバーの設定

    外部テキストを読み込んで、autoSizeのテキストフィールドに表示させ、そのテキストフィールドにスクロールバーをつけたいと考えています。 外部テキストを読み込んで、autoSizeのテキストフィールドに表示させることはできました。 スクロールバーの方は、テキストフィールドに付いてはいるんですがautoSizeに対応しないため、機能せず。という状況です。 環境:Windows XP/Flash MX 色々調べても解決出来なかったので困っています。 よろしくお願いします。

  • Borland C++BuilderのScrollBoxについて

    ScrollBox内にOpenDialogで選択した画像をサムネイル表示しようと考えています。 いっぺんに表示すると時間がかかるので、スクロールバーを動かすたびにPositionを取得して、該当部分の一定の数のサムネイルのみを表示させようと思ったのですが、スクロールバーを動かしてもイベントが発生なさそうです。 一応ヘルプ等は探してみたのですが、もし知っている方がいたら教えてください。 もしや、別途ScrollBarを配置しなければならないのでしょうか?

  • ActionScript スクロールメニュー

    ActionScriptで以下のサイトのように、下段のサムネールが左右にスクロールするメニューを作成したいのですが、実現方法がわかりません。 http://www.wasedazemi.com/ ・下段の最右、または最左の矢印ボタンを押すとその方向にメニュー1個分スクロールし、下段の真ん中のメニューの画像が上段に表示される。 ・下段の任意のサムネールを押すとその画像が下段真ん中に移動し、上段にその画像が表示される。 ・下段のサムネールはループしていて、スクロールをし続けても端にならずに回り続ける。 ・上段の画像にマウスオーバーすると青い枠線が表示される。 ActionScript 3.0、Flash CS5を利用しています。 ご教授よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • スクロール画面

    下記内容を参考にまずサンプルを作っています。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=974758 使用versionはMXのバージョン6です。 作成し、パブリッシュすると、スクロールバーは表示でき、クリックするとスクロールバーやスライダは動いたものの、画像(上記参考ページでのムービークリップ「sheet」)が動きません。 手順としては個々のムービークリップを「ムービークリップsheet」に配置し、シーン1で「sheet」を配置しその上にマスクレイヤー、その上にスクリプトレイヤー、一番下にはスクロールバーのレイヤーを配置し、スクロールバーには「sc_bar」のインスタンス名をつけています。配置はX座標0にしていますがマスクの矩形のみ、X座標を0にするとマスク矩形の中心が用紙の左端に来てしまいます。これが何か関係あるのでしょうか。スクロールバーや、ムービークリップ「sheet」はx0地点の用紙の左端に揃っています。ムービークリップが動かない原因として何が考えられるでしょうか?わかる方、すみません、。教えてください。

    • ベストアンサー
    • Flash
  • createTextFieldで作ったテキストフィールドにスクロールバーをとりつける。

    テキストツールでダイナミックテキストのフィールドをつくり、そこにコーンポーネントを適用させたら、スクロールバーがつく、とわかったのですが、スクリプトでテキストのフィールドをつくり、そのテキストフィールドにコンポーネントを適用させて、スクロールバーを取り付ける事はできないのでしょうか? this.createTextField("my_txt", 10, 5, 60, 205, 240); my_txt.htmltext = _level0.entry; このようにして、テキストフィールドに外部テキストをよみこんでいます。 アドバイスをいただきたいです。 http://livedocs.macromedia.com/flash/8_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00004232.html このページを見てもよく分からなく、スクロールバーの取り付けができません。 私が使っているのは、Windows XP Flash MX Professional 2004です。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • *コンポーネントのScrollBarには*

    今晩和。失礼致します。 Macromedia FLASH MX 2004でホームページを作っている者です(><; 限られた枠内に大量の文章を書きたいと思い、コンポーネントのUI ScrollBarを使って思い切り書いたのですが…プレビューしてみるとある一定のところで切れてしまって、それ以上文字が表示されません;;; スクロールバーには文字数制限があるのでしょうか?;; 素人質問でしたらすみません(((゜д゜;))) 何卒ご教授願います;;;

    • ベストアンサー
    • Flash