gamemaker吧 关注:13,620贴子:94,902
  • 14回复贴,共1

(求助)关于ID和碰撞

只看楼主收藏回复



IP属地:内蒙古1楼2019-07-10 18:38回复
    上图的两个obj有共同的父对象object0
    我想要的效果是:
    1,用鼠标拖动绿块,拖到可以碰撞蓝快的位置时松手,两块的位置互换。若无碰撞,绿块返回原位。
    2,只写object0的代码
    于是,有了以下的create事件和step事件的代码:



    IP属地:内蒙古2楼2019-07-10 18:43
    收起回复
      但结果不遂人愿,拖动以后,绿块会到蓝快的位置,但蓝块却不动?



      IP属地:内蒙古3楼2019-07-10 18:45
      回复
        此外,notme无论是1还是0,都无济于事。难道我只能分别在蓝和绿的obj里写代码?我尝试把蓝绿块变成object0的两个image,然后在他们的cc里分别写不同的image index,但还是没效果


        IP属地:内蒙古来自Android客户端4楼2019-07-10 18:51
        回复
          终于成功了!但不知是否有更简单的方法




          IP属地:内蒙古5楼2019-07-10 19:51
          回复
            给代码截图请带上行号,不然4楼的notme不知道你说的是第一行还是B=那行。
            给代码截图请说明这段代码属于哪个object的什么事件(这次只说了是object0,但不知道是哪个事件)
            对于蓝块、绿块的object名最好也说一下……
            其实有能力用debug窗口的话,为啥不把这些(包括A、B、A.Q之类的东西)都显示出来呢


            IP属地:北京6楼2019-07-10 20:37
            收起回复
              我发现,5楼的代码,并没有成功。就像是偶然碰bug碰成功的。
              目前改了一下。结果是。。。
              一般能成功,但有时又突然卡住了。
              考虑到在这里发图不够直观。我同时把原文件也贴出来吧!
              https://盘.百度.com/s/14tyDaA1HZW_BTTTHQpSNGA
              提取码:s80k
              以下先是object0的create事件,后是step事件(45行),最后是alarm[0]事件。



              IP属地:内蒙古7楼2019-07-11 13:52
              回复
                又不着色又不缩进,想杀人吗?


                IP属地:广东8楼2019-07-13 14:20
                回复
                  首先你的代码没着色又不缩进,而且思想思路上跟我相差特别大,所以读起来会特别费劲不如重写。
                  所以我重写了。

                  图中是核心代码
                  BLOCK只有创建事件,事件代码里面声明了 orix, oriy 变量,用于保存原来的位置
                  obb是蓝对象
                  ogb是绿对象
                  并且他们都继承了BLOCK的创建事件,并且修改了image_blend。
                  同时ogb创建事件额外声明了ofx和ofy变量,用于优化位置。


                  IP属地:广东9楼2019-07-13 14:46
                  收起回复
                    思路大概就是点击的时候检测鼠标点有没有在绿方块的碰撞盒里面,
                    有的话picked变量为true,代表被选中,同时算出鼠标和精灵原点的偏移值ofx, ofy
                    然后当picked为true的时候,每步都会进行位置移动。
                    松开左键的时候判断是否与蓝方块发生碰撞,如果没有则回溯回点,用orix,oriy。
                    有碰撞的话就更新坐标和ori系变量。
                    在判断碰撞方面上嵌套使用了with
                    其实有了思路就蛮好做的…


                    IP属地:广东10楼2019-07-13 14:50
                    回复
                      另外求一下头像原图


                      IP属地:广东11楼2019-07-13 14:52
                      回复