• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Kadoba/Advanced-Tiled-Loader: Imports Tiled maps into Lua for the LÖVE game eng ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

Kadoba/Advanced-Tiled-Loader

开源软件地址:

https://github.com/Kadoba/Advanced-Tiled-Loader

开源编程语言:

Lua 100.0%

开源软件介绍:

#Advanced Tiled Loader

Advanced Tiled Loader (ATL) loads and renders Tiled maps inside of the Löve2D game framework.

ATL is no longer being actively developed. Please consider using an alternative library such as STI.

Supported features include:

  • Multiple Layers
  • All object types (regular, polygon, and tile)
  • Properties
  • Transparent colors
  • Margins and spacing
  • External tilesets
  • zlib/gzip compression
  • Isometric maps
  • Flipped and rotated tiles
  • Saving loaded maps

Example files can be found at https://github.com/Kadoba/Advanced-Tiled-Loader-Examples


Quick Example

-- Gets the loader
loader = require("AdvTiledLoader/loader.lua")

 -- Path to the tmx files. The file structure must be similar to how they are saved in Tiled
loader.path = "maps/"

 -- Loads the map file and returns it
map = loader.load("desert.tmx")

-- Draws the map
map:draw()

-- Limits the drawing range of the map. Important for performance
map:setDrawRange(0,0,love.graphics.getWidth(), love.graphics.getHeight())

-- Automatically sets the drawing range to the size of the screen.
map:autoDrawRange(tx, ty, scale, padding)

-- Accessing individual layers
map.layers["layer name"]

-- A shortcut for accessing specific layers
map("layer name")

-- Finding a specific tile
map.layers["layer name"]:get(5,5)

-- A shortcut for finding a specific tile
map("layer name")(5,5)

-- Iterating over all tiles in a layer
for x, y, tile in map("layer name"):iterate() do
   print( string.format("Tile at (%d,%d) has an id of %d", x, y, tile.id) )
end

-- Iterating over all objects in a layer
for i, obj in pairs( map("object layer").objects ) do
	print( "Hi, my name is " .. obj.name )
end

-- Find all objects of a specific type in all layers
for _, layer in pairs(map.layers) do
   if layer.class == "ObjectLayer" then
		for _, obj in pairs(player.objects) do
			if obj.type == "enemy" then print(obj.name) end
		end
   end
end

-- draw the tile with the id 4 at (100,100)
map.tiles[4]:draw(100,100)

-- Access the tile's properties set by Tiled
map.tiles[4].properties

-- Turns off drawing of non-tiled objects.
map.drawObjects = false




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap