用get_used_rect,for i:for j:get_cell,你就能获得一个tilemap上所有tile的id信息(而不需要先绘制出来缩小再截图),也就能把这些信息全部绘制在一个tileset不一样的另一个tilemap上(这样你也不需要用到viewport就能做出一个大地图和一个小地图了)你需要自己去看TileMap的API,这样你才知道tilemap都能用来做些...
if tilemap is TileMap: var used = tilemap.get_used_rect() limit_left = min(used.position.x * tilemap.cell_size.x, limit_left) limit_right = max(used.end.x * tilemap.cell_size.x, limit_right) limit_top = min(used.position.y * tilemap.cell_size.y, limit_top) limit_bottom ...
namespace BraveStory { public partial class World : Node2D { private TileMapLayer tileMapLayer; private Player player; private Camera2D camera2d; public override void _Ready() { tileMapLayer = GetNode<TileMapLayer>("TileMapLayer"); player = GetNode<Player>("Player"); camera2d = player.G...
_get_rects(src_rect, dst_rect, filter_clip_enabled); texture->draw_rect_region(ci, dst_rect, src_rect, Color(1, 1, 1), false, filter_clip_enabled); } break; TextureRect drawing code: godot/scene/gui/texture_rect.cpp Line 98 in 93d2706 draw_texture_rect(texture, Rect2(...
get_used_rect(), false ) func _update_pathfind(): var time := Time.get_ticks_usec() _update_obstacles() var _obstacles : Array[Vector2i] = [] for n in obstacles: var tile_size :int= astar.cell_size.x var pos :Vector2i = reference_layer.local_to_map( n.position ) #var ...
[左上角坐标,右上角坐标]var used := tile_map.get_used_rect();# tile_map.tile_set.tile_size是一个属性,用于获取TileMap(瓷砖地图)所使用的瓷砖集合(TileSet)中每个瓷砖的尺寸# tile_set是一个包含所有可用瓷砖的集合,而tile_size是其中的一个属性,表示每个瓷砖的尺寸,该属性返回的是一个二维向量(...
(),floatp_clear_depth=0.0,uint32_tp_clear_stencil=0,constRect2&p_region=Rect2());voidRenderForwardMobile::_render_list_with_draw_list(RenderListParameters*p_params,RIDp_framebuffer,RD::InitialActionp_initial_color_action,RD::FinalActionp_final_color_action,RD::InitialActionp_initial_depth_...
For that, Godot provides the staticGeometryclass.Geometryhas a list of functions to get information about and manipulate shapes in 2D and 3D. You can find what you need for most geometry purposes there. # Fast: Check if a point is inside a polygonvaris_in_rect=Geometry.is_point_in_polygon...
CanvasItem.draw_rect() now has width and antialiased properties to match draw_line()'s functionality. Engine.get_idle_frames() and Engine.get_physics_frames() to get the number of idle and physics frame iterations since the project started. Unlike Engine.get_frames_drawn(), Engine.get_id...
get_used_rect().position * 16 ## 生成房间地图 func generate_rooms_map( room_coords_to_data_map: Dictionary, tile_map: TileMap, map_list: Array, ): GLog.info("开始生成地图房间") var max_number = map_list.size() var room_layer_coords_list = generate_room_layer(max_...