47
47
self._quad = love.graphics.newQuad(self.imageOffset.x, self.imageOffset.y,
48
48
self.width, self.height,
49
49
self._imageObj:getWidth(), self._imageObj:getHeight())
50
self._imageObj:setWrap('repeat', 'repeat')
50
--self._imageObj:setWrap('repeat', 'repeat')
51
51
self._set.image = self.image
52
52
self._set.imageOffset.x = self.imageOffset.x
53
53
self._set.imageOffset.y = self.imageOffset.y
57
draw = function (self, x, y)
57
draw = function (self, x, y, map)
58
58
if not self.visible or self.alpha <= 0 then return end
60
60
x = math.floor(x or self.x)
89
89
local scaleX = self.scale * self.distort.x
90
90
local scaleY = self.scale * self.distort.y
91
local origX = self.origin.x or (self.width / 2)
92
local origY = self.origin.y or (self.height / 2)
92
94
if self.flipX then scaleX = scaleX * -1 end
93
95
if self.flipY then scaleY = scaleY * -1 end
95
love.graphics.drawq(self._imageObj, self._quad, x + self.width / 2, y + self.height / 2, self.rotation,
96
scaleX, scaleY, self.width / 2, self.height / 2)
98
batches = map and map.spriteBatches
100
if not batches[self.image] then
101
--batches:addBatch(self.image, self._imageObj)
102
local maph, mapw = map:getMapSize()
103
batches[self.image] = love.graphics.newSpriteBatch(self._imageObj, mapw * maph)
104
print('adding new batch')
107
batches[self.image]:add(self._quad, x + origX, y + origY,self.rotation,
108
scaleX, scaleY, origX, origY)
110
love.graphics.draw(self._imageObj, self._quad, x + origX, y + origY,
111
self.rotation, scaleX, scaleY, origX, origY)
105
121
__tostring = function (self)
106
local result = 'Tile (x: ' .. self.x .. ', y: ' .. self.y ..
107
', w: ' .. self.width .. ', h: ' .. self.height .. ', '
122
local result = 'Tile (x: ' .. tostring(self.x) .. ', y: ' .. tostring(self.y) ..
123
', w: ' .. tostring(self.width) .. ', h: ' .. tostring(self.height) .. ', '
109
125
result = result .. 'image \'' .. self.image .. '\', '