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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     ScrollPaneコンポーネントでのドラッグイベントの取得方法は?
投稿するにはまず登録を

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
961832p
Åê¹ÆNo.40619
投稿日時: 2008-10-27 21:08
常連
居住地: Akiruno-shi
投稿: 155
使用環境:
Re: ScrollPaneコンポーネントでのドラッグイベントの取得方法は?
 
flashlite さん、応答ありがとうございます。

実際に自分もLowLevelEventsを試そうとしましたが、「mx.events.LowLevelEvents;」をコード中に入れると、なぜか「parse error Invalid Expression」とでてコンパイルが通りませんでした。
同じ階層のUIEventDispatcherは使ってもでないのでパスは問題なさそうです。「こんな書式見たこと無い」的なことだと思うのですが、たぶん環境のせいなのかもしれません…。[※1]

気を取り直して検索していると、同じScrollPaneのイベントで奮闘されているかたの記事がありました。

 ・AS2.0でUIコンポーネントのイベント取得に一苦労。 - jamblog
 ・AS2.0でUIコンポーネントのイベント取得に一苦労。その2 - jamblog

自分もライブラリのScrollPane.asを見ましたが、中のspContentHolder(ScrollPane.contentプロパティ)にドラッグ処理などのイベントがセットされていたので、LowLevelEventsとあわせて、ScrollPaneではなくspContentHolderにマウスイベントをセットすると上手くいくようです。

それから、同じくScrollPane.asを見ていて、ドラッグ時のonMouseMoveイベントをセットしているstartDragLoop関数に
(ScrollPane.as: 406-407行目)

// emit scroll event in case of Dragging as well
super.dispatchEvent({type:"scroll"});
とあって、ドラッグ中はscrollイベントをどこか(親クラスのScrollView?)に投げているようなので、これはなにかの手がかりなのかなと思いました。

あとこれは逃げかもしれず、すみませんが(苦笑)、全体サムネイルのMCからonEnterFrameなどで、定期的にScrollPaneのh(v)Positionプロパティを取得するのもありなのかなと思いました。

[※1 2008-10-28追記]
調べてみると、LowLevelEventsはstaticイニシャライザというものらしく、「mx.events.LowLevelEvents.classConstruct();」とやることで何とか使えるようになりました。
でも今日、新しいクラスパスを追加してからだと思うのですが、いつの間にか「mx.events.LowLevelEvents;」でも大丈夫になっていました。


----------------
:961832p:
- だんだんAS3に慣れてきた“なんちゃって”AMES使いの日曜プログラマー

フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   ScrollPaneコンポーネントでのドラッグイベントの取得方法は? flashlite 2008-10-24 2:27
     Re: ScrollPaneコンポーネントでのドラッグイベントの取得方法は? 961832p 2008-10-24 19:30
       Re: ScrollPaneコンポーネントでのドラッグイベントの取得方法は? flashlite 2008-10-27 13:16
       » Re: ScrollPaneコンポーネントでのドラッグイベントの取得方法は? 961832p 2008-10-27 21:08
         Re: ScrollPaneコンポーネントでのドラッグイベントの取得方法は? 961832p 2008-10-30 21:56
           Re: ScrollPaneコンポーネントでのドラッグイベントの取得方法は? flashlite 2008-10-31 0:54

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