HyperCard tribute
ボタン・フィールドをドラッグする
ドラッグできるボタンを作りましょう。まずは、自由自在に動かせるボタンです。
このスクリプトが書かれているボタン(自分自身)を、マウスカーソルの座標に設定します。これはmouseStilldownハンドラなので、マウスのボタンを押している間(ドラッグしている間)は、マウスカーソルの座標についていくということになります。
次は垂直方向のみにドラッグできるボタンです。
2行目では、ボタンをセットする位置を計算しています。the mouseVは、マウスカーソルの垂直座標、the height of meはボタン(自分自身)の縦サイズを示しています。どうして、マウスカーソルの垂直座標からボタンの縦サイズの半分を引いているのかというと、それは、3行目のthe top of meが原因です。 the top of meは、ボタンの上部の垂直座標を持っています。つまり、マウスカーソルの位置にボタンをセットすると下の図のように位置がずれてしまうことになるのです。
3行目で、ボタンの座標をmvに設定しています。
最後は水平方向のみにドラッグできるボタンです。先の垂直方向へのドラッグとほぼ同じです。
2行目で、ボタンをセットする位置を計算します。the mouseHは、マウスカーソルの水平座標、the width of meはボタン(自分自身)の横サイズです。先と同じく、ずれを解消するために、左へ移動させておきます。
3行目で、ボタンの座標をmvに設定しています。
|