scenes/levels: use contained asset system for pigs sprites
This commit is contained in:
parent
c738bb9bf9
commit
35a44a0640
|
@ -0,0 +1,51 @@
|
|||
return {
|
||||
metadata = {
|
||||
width = 32,
|
||||
height = 48,
|
||||
defaultAnim = "idle"
|
||||
},
|
||||
animations = {
|
||||
["idle"] = {
|
||||
startAt = 2,
|
||||
endAt = 2,
|
||||
loop = 2,
|
||||
speed = 0,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["walk"] = {
|
||||
startAt = 1,
|
||||
endAt = 4,
|
||||
loop = 1,
|
||||
speed = -1,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["brake"] = {
|
||||
startAt = 5,
|
||||
endAt = 5,
|
||||
loop = 5,
|
||||
speed = 0,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["airdash"] = {
|
||||
startAt = 6,
|
||||
endAt = 6,
|
||||
loop = 6,
|
||||
speed = 0,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["jump"] = {
|
||||
startAt = 7,
|
||||
endAt = 8,
|
||||
loop = 8,
|
||||
speed = 6,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["fall"] = {
|
||||
startAt = 7,
|
||||
endAt = 7,
|
||||
loop = 7,
|
||||
speed = 0,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
}
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
return {
|
||||
metadata = {
|
||||
width = 32,
|
||||
height = 48,
|
||||
defaultAnim = "walk"
|
||||
},
|
||||
animations = {
|
||||
["idle"] = {
|
||||
startAt = 2,
|
||||
endAt = 2,
|
||||
loop = 2,
|
||||
speed = 0,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["walk"] = {
|
||||
startAt = 1,
|
||||
endAt = 4,
|
||||
loop = 1,
|
||||
speed = -1,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["brake"] = {
|
||||
startAt = 5,
|
||||
endAt = 5,
|
||||
loop = 5,
|
||||
speed = 0,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["airdash"] = {
|
||||
startAt = 6,
|
||||
endAt = 6,
|
||||
loop = 6,
|
||||
speed = 0,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["jump"] = {
|
||||
startAt = 7,
|
||||
endAt = 8,
|
||||
loop = 8,
|
||||
speed = 8,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["fall"] = {
|
||||
startAt = 7,
|
||||
endAt = 7,
|
||||
loop = 7,
|
||||
speed = 0,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
}
|
||||
}
|
|
@ -11,8 +11,6 @@ function Player:new(level, x, y, playerID)
|
|||
|
||||
self.startx, self.starty = x, y
|
||||
|
||||
self:initAnimations()
|
||||
|
||||
Player.super.new(self, level, "player", x - (w / 2), y - (h / 2), w, h)
|
||||
self.manager = level.playermanager
|
||||
|
||||
|
@ -62,20 +60,12 @@ function Player:initWeapon()
|
|||
self:setWeapon()
|
||||
end
|
||||
|
||||
function Player:initAnimations()
|
||||
self.animations = {}
|
||||
self.animations["idle"] = 1
|
||||
self.animations["walk"] = 2
|
||||
self.animations["brake"] = 3
|
||||
self.animations["jump"] = 4
|
||||
self.animations["fall"] = 5
|
||||
end
|
||||
|
||||
|
||||
-- UPDATE and COLLISION functions
|
||||
|
||||
function Player:update(dt)
|
||||
self.keys = self.level.keys
|
||||
self.level.assets.sprites[self.stats.race]:setCustomSpeed(math.abs(self.xsp / 60))
|
||||
self:actionMove(dt)
|
||||
|
||||
self:shoot(dt)
|
||||
|
@ -183,7 +173,7 @@ function Player:actionMove(dt)
|
|||
self.ysp = self.jmp
|
||||
self.isJumping = true
|
||||
self.level.assets:playSFX("jump")
|
||||
assets.sprites["cochon"]:resetAnimation(self.animations["jump"])
|
||||
--assets.sprites["cochon"]:resetAnimation(self.animations["jump"])
|
||||
end
|
||||
|
||||
if (self.isJumping == true) and (self.ysp < (-4 * 60)) and (not (self.keys["A"].isDown)) then
|
||||
|
@ -210,7 +200,7 @@ end
|
|||
-- DRAW functions
|
||||
|
||||
function Player:getAnimation()
|
||||
local animation = 1
|
||||
local animation = "idle"
|
||||
|
||||
if (self.onGround) then
|
||||
if (self.xsp == 0) then
|
||||
|
@ -231,18 +221,19 @@ local animation = 1
|
|||
end
|
||||
end
|
||||
|
||||
if (self.animations[animation] == nil) then
|
||||
if not (self.level.assets.sprites[self.stats.race]:animationExist(animation)) then
|
||||
animation = "idle"
|
||||
end
|
||||
|
||||
return self.animations[animation]
|
||||
self.level.assets.sprites[self.stats.race]:changeAnimation(animation, false)
|
||||
|
||||
return animation
|
||||
end
|
||||
|
||||
function Player:draw(dt)
|
||||
local drawx, drawy = utils.math.floorCoord(self.center.x, self.center.y)
|
||||
local animation = self:getAnimation()
|
||||
--if (self.direction == -1) then drawx = drawx + self.w end
|
||||
assets.sprites[self.stats.race]:draw(animation, drawx, drawy, 0, self.direction, 1, 16, 36)
|
||||
self.level.assets.sprites[self.stats.race]:drawAnimation(drawx, drawy, 0, self.direction, 1, 16, 36)
|
||||
end
|
||||
|
||||
-- Death and hit functions
|
||||
|
|
|
@ -64,15 +64,6 @@ function Level:loadSounds()
|
|||
self.assets:newSFX("collectcoin", "assets/sfx/collectcoin.wav")
|
||||
end
|
||||
|
||||
function Level:loadCochonSprites(name)
|
||||
assets:addSprite(name, 32, 48, "pigs/")
|
||||
assets.sprites[name]:newAnimation(2, 1, 0.2)
|
||||
assets.sprites[name]:newAnimation('1-4', 1, 0.1)
|
||||
assets.sprites[name]:newAnimation(5, 1, 0.2)
|
||||
assets.sprites[name]:newAnimation('7-8', 1, 0.03, 'pauseAtEnd')
|
||||
assets.sprites[name]:newAnimation(7, 1, 0.2)
|
||||
end
|
||||
|
||||
function Level:loadSprites()
|
||||
assets:clearSprites()
|
||||
|
||||
|
@ -85,8 +76,9 @@ function Level:loadSprites()
|
|||
self.assets:addSprite("sparkle", "assets/sprites/gfx/sparkle")
|
||||
self.assets:addSprite("poof", "assets/sprites/gfx/poof")
|
||||
|
||||
self:loadCochonSprites("cochon")
|
||||
self:loadCochonSprites("bling-bling")
|
||||
local pigfolder = "assets/sprites/pigs/"
|
||||
self.assets:addSprite("cochon", pigfolder .. "cochon")
|
||||
self.assets:addSprite("bling-bling", pigfolder .. "bling-bling")
|
||||
|
||||
self.assets:addTileset("weapon", "assets/sprites/weapon")
|
||||
self.assets:addTileset("block", "assets/sprites/items/block")
|
||||
|
|
Loading…
Reference in New Issue