gamemaker学习笔记:拖拽

来源:互联网 发布:小波分析算法与应用 编辑:程序博客网 时间:2024/06/06 03:51

今晚尝试一下Gm的拖拽,发现和之前看过知乎Gms的专栏一篇文章的也是很类似,尝试做一下练习。针对一个obj在step 事件下进行控制。

在使用之前封装了一个小脚本,可以调用点击。其实有点需要吐槽的,按钮那些触控行为,只能加上碰撞和鼠标点击结合使用。具体还不知道还有没有新的方法。

mouse_click

if(collision_point(mouse_x,mouse_y,argument0,0,0) && mouse_check_button(mb_left)){   return true;  }return false;
鼠标释放mouse_releaseif(collision_point(mouse_x,mouse_y,argument0,0,0) && mouse_check_button_released(mb_left)){   return true;  }return false;

这里写图片描述

第二步:建立一个obj_box 对象。

在create事件,填写拖拽变量

drag = false;

在step事件填写

if(mouse_click(self)){  // show_message("q");   drag = true;   startPoint = [mouse_x,mouse_y];}if(drag){   x += mouse_x - startPoint[0];   y += mouse_y - startPoint[1];   startPoint= [mouse_x,mouse_y];//记录上一个位置。   if(mouse_release(self))   {       drag = false;//释放处理   }}

这里写图片描述