Page 41 of 41

Re: Löve Frames - A GUI Library

Posted: Tue May 19, 2020 3:16 pm
by AlexYeCu
Here is a patch, but I'm not sure to make it mainstream
Thank you, I`ll check it at this week.
Some even call it unnatural.
Well, imagine any rpg game with actions binded to characters portraits. RMB click at a portrait opens inventory, LMB one opens stats and skills.
For example.
Or manipulating an item in inventory: one button for drag and drop, another one for use.
Love2d is the game engine first of all, and LMB actions are natural for games, I think.

Re: Löve Frames - A GUI Library

Posted: Sat May 23, 2020 10:13 am
by AlexYeCu
New bug!
Text component can not show Cyrillic symbol (shows squares instead).
test.love
(2.04 MiB) Downloaded 510 times

Re: Löve Frames - A GUI Library

Posted: Sat May 23, 2020 10:16 am
by AlexYeCu
And one more question: is it possible to use some kind of index to draw loveframes objects in some calls?
Layer of loveframes objects, then layer of love2d objects, then layer of other oveframes objects?

Re: Löve Frames - A GUI Library

Posted: Sat May 23, 2020 8:50 pm
by linux-man
AlexYeCu wrote: Sat May 23, 2020 10:13 am New bug!
Text component can not show Cyrillic symbol (shows squares instead).
test.love
Not really. You need to assign a font with Cyrillic support. Missing

Code: Select all

_tf:SetFont(love.graphics.newFont( "DroidSans.ttf", 12))
Before you ask: No, skin fonts are not used on text object creation.
BUT, there is an assignement (not really used) on Text initialization.

Code: Select all

	local text_default_font = skin.directives.text_default_font
So, if you define a directives.text_default_font on your skin, you don't need to define a font on all your text objects.
Your love.load should have these lines

Code: Select all

loveframes.GetActiveSkin().controls.smallfont = love.graphics.newFont( "DroidSans.ttf", 10)
loveframes.GetActiveSkin().controls.imagebuttonfont = love.graphics.newFont( "DroidSans.ttf", 15)
loveframes.GetActiveSkin().directives.text_default_font = love.graphics.newFont( "DroidSans.ttf", 12)

Re: Löve Frames - A GUI Library

Posted: Sat May 23, 2020 9:11 pm
by linux-man
AlexYeCu wrote: Sat May 23, 2020 10:16 am And one more question: is it possible to use some kind of index to draw loveframes objects in some calls?
Layer of loveframes objects, then layer of love2d objects, then layer of other oveframes objects?
No. There's only one loveframes.draw(). You can try to draw before and after, but GUI are assumed to be the top layer of any interface.
I looked around and it seems that all Love GUI libraries use the same paradigm.

Re: Löve Frames - A GUI Library

Posted: Sun May 24, 2020 3:34 pm
by AlexYeCu
linux-man wrote: Sat May 23, 2020 8:50 pm Not really. You need to assign a font with Cyrillic support. Missing
I see, same as before: I've forgotten to check what font sets from skin.

Re: Löve Frames - A GUI Library

Posted: Sat Aug 01, 2020 4:39 pm
by mutantant
UPDATE: It was a bug in a 3rd party lib used by LoveFrames if LoveFrames is required from a directory other than the root game directory. See https://github.com/linux-man/LoveFrames/issues/6, I posted a quick fix until the lib is updated, and the creator of LoveFrames has been notified will do what need to be done :) Glad it wasn't me messing up somehow.

Leaving this here for our overlord and master, Google, for those unlucky souls who run into the same thing until it's fixed.

------

ORIGINAL POST:

I'm a little rusty with Lua, not that I was ever an expert, but I'm running into this error when requiring loveframes:

Code: Select all

libs/loveframes/init.lua:305: attempt to index local 'base' (a nil value)
Now, I've required the project correctly, I believe (or it wouldn't even be dipping into init.lua:

Code: Select all

loveframes = require "libs.loveframes"
(and the library is under PROJECTDIR/libs/loveframes/)

So, before I start trying to figure out the scope issue with base here, I figured I'd ask if anyone else sees this issue? Is it something I need to fix, something to do with Love2D version, etc?

Using the most recent Love2D on MacOS Catalina.

(p.s. Strangely the demo runs fine if I load *that* into Love, no errors thrown, even as my require statement breaks the program :) I also tried to find this problem vis Google and the forum search, so forgive me if it's been answered before, I just couldn't find anything on it.)