Page 1 of 1
can't get spriter to work (it does, but nothing shows up)
Posted: Thu Sep 13, 2018 12:21 pm
by girng
i'm using hardcrawler spriter addon (
https://bitbucket.org/hardcrawler/spriter) bless his heart.
Unfortunately i'm not able to get it to work. i loaded everything in,
Code: Select all
spriterData = Spriter:loadSpriter("assets/spriter", "gbot")
local animationNames = spriterData:getAnimationNames()
spriterData:setCurrentAnimationName( "idle" )
i have
in my love.update
and i am drawing with:
but nothing shows up on my screen.
These are my errors that I fixed, did i fix it wrong?
- 1364 line: i changed canvas:clear() to love.graphics.clear()
- then:
addons/spriter/Spriter.lua:1415: Invalid blend mode 'premultiplied', expected one of: 'alpha', 'add', 'subtract', 'multiply', 'lighten', 'darken', 'screen', 'replace', 'none'.
so i replaced:
Code: Select all
love.graphics.setBlendMode('premultiplied')
with:
Code: Select all
love.graphics.setBlendMode("multiply", 'premultiplied')
got rid of the errors. but still nothing is showing up. man, i was so close too... i rigged my character with spriter..and everything
Re: can't get spriter to work (it does, but nothing shows up)
Posted: Thu Sep 13, 2018 12:35 pm
by girng
ok actually it does show up!
however, it's inside a huge black canvas. it's HUGE and the character's offset is not correct:
is there a way to just have it be drawn like if you were drawing an image? (rid of the black canvas, and remove weird offset)
position is supposed to be 0,0 lol
here is the Sprite:draw function if you need to take a look
Re: can't get spriter to work (it does, but nothing shows up)
Posted: Thu Sep 13, 2018 2:05 pm
by pgimeno
girng wrote: ↑Thu Sep 13, 2018 12:21 pm
so i replaced:
Code: Select all
love.graphics.setBlendMode('premultiplied')
with:
Code: Select all
love.graphics.setBlendMode("multiply", 'premultiplied')
I think you want "alpha", "premultiplied".
Re: can't get spriter to work (it does, but nothing shows up)
Posted: Thu Sep 13, 2018 2:08 pm
by girng
pgimeno wrote: ↑Thu Sep 13, 2018 2:05 pm
girng wrote: ↑Thu Sep 13, 2018 12:21 pm
so i replaced:
Code: Select all
love.graphics.setBlendMode('premultiplied')
with:
Code: Select all
love.graphics.setBlendMode("multiply", 'premultiplied')
I think you want "alpha", "premultiplied".
Nice! Thank you! The black part is now gone. Yay! Now, just the character's x and y position is at a weird offset.
i'm doing
but it is showing if it was at 400, 500 or something. Gonna take a look in the :draw method again
Re: can't get spriter to work (it does, but nothing shows up)
Posted: Thu Sep 13, 2018 2:29 pm
by pgimeno
I think you can do spriterData:setCanvasOffset(-400, -500) or something like that. I don't use spriter, sorry. Doesn't Spriter offer a hook point? If so, that should be automatically used, but it doesn't appear like the library can handle that.
Re: can't get spriter to work (it does, but nothing shows up)
Posted: Thu Sep 13, 2018 2:56 pm
by girng
@pgimeno i found a solution i think
Code: Select all
function Spriter:spriterToScreen( x, y )
local centerx = Spriter.canvas:getWidth() / 2
local centery = Spriter.canvas:getHeight() - 200
change -200 to
/ 2
then,
Code: Select all
--Using a shared canvas to avoid creating too many
--Not sure if the best idea, and certainly clunky to hard-code w/h
function Spriter:getCanvas()
if not self.canvas then
Spriter.canvas = love.graphics.newCanvas(300, 300)
end
return self.canvas
end
this was at a whopping 1000, 1000. change it to whatever the width/height of your char is. works perfectly so far! hope this helps anyone seeing this thread!
btw, got my assets here:
https://github.com/ndee85/gBot totally free MIT license. good for skeleton base!
edit: now i need to figure out how to change the animation speed :X
Re: can't get spriter to work (it does, but nothing shows up)
Posted: Thu Sep 13, 2018 3:24 pm
by girng
BOOOOOOOOOM just figured out hoow to change the animation speed
Code: Select all
time = time + (dt * self.animation_speed)
under
function Spriter:incrementTime( dt )
man, this is addon is FREAKING EPIC! i might actually buy spriter lolz. now can change it dynamically based upon a player's speed, etc. hell yeah
Re: can't get spriter to work (it does, but nothing shows up)
Posted: Fri Sep 14, 2018 1:30 am
by girng
Damn. Looks like there is one huge problem after doing all this to get it to work.
There is no animation transitioning. I have no clue on how to incorporate that
I checked out Spine's love runtime, works quite well (has animation transitioning too!). Except that puppy is $69.99 w/o even full IK support. And $300 with full IK. That's insane. FML
Could there be any possible workarounds?