• ベストアンサー

startDragの範囲

お世話になります。 actionscript3.0で作成しております。 現在、ある点Aのドラッグの範囲を下記で指定しております。 pointA.startDrag(false, new Rectangle(0,0,100,100)); 現在このドラッグの範囲が縦:100、横:100の長方形なのですが、 このドラッグの範囲を台形にするにはどうしたらよいでしょうか? また、可能でしたらドラッグの範囲を円にする方法も 教えて頂ければと思いますのでよろしくお願い致します。 startDragだけではなrectangleの形でしかできない!という 解答でも結構ですのでよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • cspl
  • ベストアンサー率83% (55/66)
回答No.1

結論から言いますと、startDragでは矩形の範囲しか選択できません。 ですが、ドラッグ対象のオブジェクトにMOUSE_DOWNした段階で MOUSE_MOVEイベントなどで常にマウスの位置を監視して、 特定の図形の上にマウスが納まっているかチェックすれば 台形であろうが円であろうがどんな形状でも可能です。 チェックする方法としては、hitTestObjectなどを使用するのが一番簡単でしょうか。 簡単な例としては以下のような感じです。 ----- import flash.display.MovieClip; import flash.events.MouseEvent; var c:MovieClip; //ドラッグするMC var m:MovieClip; //ドラッグ範囲のMC (台形) c.addEventListener(MouseEvent.MOUSE_DOWN, startDragObj); stage.addEventListener(MouseEvent.MOUSE_UP, stopDragObj); function startDragObj(e:MouseEvent):void { this.addEventListener(MouseEvent.MOUSE_MOVE, onDrag); } function onDrag(e:MouseEvent):void { // ドラッグ範囲上にマウスがあれば、マウスの位置にドラッグ if (m.hitTestPoint(mouseX, mouseY, true)) { c.x = mouseX; c.y = mouseY; } } function stopDragObj(e:MouseEvent):void { this.removeEventListener(MouseEvent.MOUSE_MOVE, onDrag); } -----

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルの範囲指定(2002です)

     例えばA1:D5まで範囲指定したいときは、斜めにクリック&ドラッグすればいいですよね。 ところが、何の設定もしくは操作を誤ったのか、先程Excel立ち上げてみますと縦か横にしか 範囲指定できなくなっていたんです。この場合、 どうしたら元に戻せますか?操作方法を教えて下さい。

  • 範囲

    不等式の問題です。 例えば30cmの針金を折り曲げて長方形の枠をつくる。 横の長さをx、面積をyとすると、 y=x(15-x) となり、xの範囲は 0<x<15となりますよね?(この時点で間違っていたらすいません) ここまでは理解できるんですが、 「長さ34cmの針金を折り曲げて長方形の枠を作るとき、対角線の長さを13cm以下にしたい。」という問題がありました。 横の長さをx、縦の長さを(17-x)とすると x^2×(17-x)^2≦13^2 になりますよね? ここでxの範囲が、 0<x≦8.5 になるんです。 どうして0<x<17 はダメなんでしょうか? 乱文で分かりずらいと思いますが、もうすぐ試験なので克服したいです。

  • 傾き度を計算しているということになるのでしょうか?

    この計算は何を求めていることになるのでしょうか? (変な質問ですみません) 横2センチ、縦3センチの長方形の面積は、6平方センチメートル。この長方形の左上の角を軸とし上の直線が下がり、たて、2センチのところでとまります。その面積は、台形の形になるので、(底辺3センチ+高さ2センチ)×高さ2センチ/2で求められ、面積は5平方センチメートルとなります。 台形の面積/長方形の面積を計算した場合、減少率を求めているのですよね?それはつまり、下がってきた直線の傾き度を計算しているということになるのでしょうか?

  • 高1の2次不等式文章題について質問です。

    高1の2次不等式文章題について質問です。 同じような問題があるのですが、解答の仕方が違い、困っています。 (1)周の長さが16mで縦の長さが横の長さ以下の長方形上の囲いを作る。 囲いの中の面積を12m^2 以上にするには、縦の長さをどのような範囲にとればよいか。 (2) 周の長さが32㎝で縦の長さ以上の長方形を考える。この長方形の面積を48㎝^2 より 大きくするには縦の長さをどのような範囲にとればよいか。 で、 面積の部分の範囲は同じやり方なのでわかるのですが、辺の部分の範囲の決め方が、 (1)は 縦の長さをxmとすると、横の長さは(8-x)mである。 x>0かつ x<=8-xから 0<x<=4 これはわかります。ところが (2)は x<16かつ、x>=16-xから 8<=x<16となっています。 この問題の違いは縦と横の長さの関係なので、(2)で横をxとして無理やり考えようとしても、 やはりx>0にすると、後の面積との共通範囲がおかしくなってしまいます。 これはどうしてなのでしょうか。

  • Photoshop7で選択範囲が端にくっつかないようにするには?

    Photoshop7を使っておりますが、 作業ウィンドウ内で、マウスをドラッグして長方形の選択範囲を指定しているときに、 作業ウィンドウの端のほうに来ると、勝手に選択範囲が端にくっついてしまいます。 こうならないようにするためには何を設定すればよいのでしょう? ご存知の方がいらっしゃいましたら、教えてくださいm(_ _)m

  • カーオーディオについて

    オーディオを買い替えようと思っているのですが、現在乗っている車には純正のオーディオが付いていまして、その形というのがよくショップで売っているような長方形の形ではなく台形のような形になっています。これは外観から見ただけなのですが、取り付け部は純正のを取るとちゃんとした長方形の形をしていてどんなオーディオでも付けれるようになっているのでしょうか?やはり、台形なので長方形のを付けると隙間などができてしまうのですか? 回答お待ちしています。。

  • かけ算

    かけ算についてです。 私が九九を習ったのは、(10年ひと昔と言えば、もう、ふた昔くらい前だったかな。)だいぶ前なので、九九の復習から始めましょう。 ●九九の復習 えーとぉ、 4×8=32 ですよね。まさか間違えてませんよね。(^_^;) ●面積の場合 「縦4m、横8mの長方形があります。この長方形の面積を求めなさい。」という問題の場合、 解答としては4mと8mをかけて32m^2(32平方メートル)となりますよね。 ●ボールの場合 「ボールを、縦4個、横8個の長方形の形になるように並べました。ボールは何個ですか。」という問題の場合、 解答としては4個と8個をかけて32個となりますよね。 ●お金の場合 「10円玉を、縦4個、横8個の長方形の形になるように並べました。10円玉は全部で何円ですか。」という問題の場合、 「縦に数えると40円、横に数えると80円。だから、40と80をかけて、答えは3200円。」という考え方は正しいでしょうか。私は、間違えていると思います。しかし、どこを間違えているのかを説明できません。間違えているならば、どこを間違えているのか、説明してください。 また、よく考えてみると、上のボールの問題の場合の解答は、間違えではないですか? 単位について考えてみると、面積の問題の場合にはm(メートル)とm(メートル)をかけてm^2になったのに、なぜボールの場合は個と個をかけて個^2とはならないのでしょうか。

  • Rectangle(Bitmap)の幅と高さ

     以下、VBの記法で書きます。Windows10,.NETのGDI+を使用しています。  今まであまり気にしていなかったのですが、今回LockBitsとUnLockBitsを使用してBitmapのpixel情報をCopyするコードを書く事になり、急に気になり出しました。  LockBitsを使用する際、Rectangle構造体で読みだすBitmapの範囲を指定します。Rectangleが指定する実際のpixelですが、   (Rectangle.Left + Rectangle.Width - 1)×(Rectangle.Top + Rectangle.Height - 1) の範囲かな?、と思いました。例えば、   Dim Rect as Rectangle = New Rectangle(1, 1, 0, 0) などとやると、Rectは空になるし、(1, 1)一点を表すRectangleなら、   Dim Rect as Rectangle = New Rectangle(1, 1, 1, 1) なので・・・。  BitmapのWidthとHeightについても同様かと思います。実際の動作には余り影響しないのですが、気になったもので・・・。

  • DWG2004LTで、縦横の比率を変えたいのですが

    DWG2004LTです 例えば、縦100横100の四角があるとします その四角を、縦100のまま、横を69の長方形の形にしたいのです 四角でなくても、色々な線の形でも出来ることを望みます ご指導のほどよろしくお願いします

  • 数学

    例題:縦の長さが横の長さより3cm長い長方形があり、面積が54cm^2 である。この長方形の縦の長さを求めよ。 解答:長方形の縦の長さを x(cm)とする。 横の長さは縦より3cm短いので x-3(cm)と表せる。 長方形の面積は x(x-3) (cm^2)である。 これが 54cm^2 であるから、面積について式を立てて x(x-3)=54 x^2-3x-54=0 (x+6)(x-9)=0 x=-6,9 ここで xは長さであるから x>0 したがって x=9 よって、長方形の縦の長さは 9cm である。 学校でこの問題が出されました。しかし、よく意味がわからないので、わかる方教えてください…>_<…