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

GMS2技巧-tilemap的碰撞检测

只看楼主收藏回复

Gamemaker Studio2怎么检测tilemap和object发生碰撞呢?


IP属地:江苏1楼2017-05-15 13:38回复
    http://www.huisai.top/study/gms2-tilemap-collisions.html
    下面的自定义函数返回点[组]与tilemap是否发生碰撞
    /// @功能 tilemap和点碰撞
    /// @参数 tilemap id
    /// @参数 点数据
    var tile_map_id = argument[0];
    // 是否碰撞
    var found = false;
    // 点坐标 下标
    var vector2_x = 0;
    var vector2_y = 1;
    // 循环后面所有参数
    for(var i=1; i<argument_count; i++)
    {
    var point = argument[i];
    //或运算
    found = found || tilemap_get_at_pixel(tile_map_id, point[vector2_x], point[vector2_y]);
    }
    // 返回数据
    return found;


    IP属地:江苏3楼2017-05-15 13:40
    回复
      怎么获取tilemap呢?下面是获取layer的tilemap id
      // tilemap id
      var layer_id = layer_get_id("tile_collisions");
      collision_tile_map_id = layer_tilemap_get_id(layer_id);


      IP属地:江苏4楼2017-05-15 13:40
      回复
        感謝解說~


        5楼2017-05-17 09:36
        回复