画像を移動させる4


ドラッグ&ドロップで画像を移動します。 左の2つの画像で試して下さい。

ドラッグ&ドロップで画像を移動するには、以下のイベントに対する処理を作ります。
クリックしたとき
mouse_down(eo, p_lay)
  • クリックされたレイヤーの名前をセーブします。
  • クリックされたレイヤーを一番前へ持ってきます。
  • クリックされた位置とレイヤーの端からのオフセットをセーブします。

    g_current_layer = p_lay;
    zindexLAYER(g_current_layer, g_zindex++);
    g_offsetX = getMouseX(eo) - getLEFT(g_current_layer);
    g_offsetY = getMouseY(eo) - getTOP(g_current_layer);
  • マウスを動かしたとき
    mouse_move(eo)
  • もしレイヤー名が入っていたら以下の処理をします。
  • 現在のマウスの位置を計算します。
  • 新しい位置へレイヤーを動かします。

    if (g_current_layer != ""){
     v_x = getMouseX(eo) - g_offsetX;
     v_y = getMouseY(eo) - g_offsetY;
     moveLAYER(g_current_layer, v_x, v_y); // move layer
    }
  • クリックを放したとき
    mouse_up(eo)
  • セーブしたレイヤー名をリセットします。

    g_current_layer = "";