Material - Love (Material Design for LÖVE)

Showcase your libraries, tools and other projects that help your fellow love users.
User avatar
Positive07
Party member
Posts: 1014
Joined: Sun Aug 12, 2012 4:34 pm
Location: Argentina

Material - Love (Material Design for LÖVE)

Post by Positive07 »

Image
My mother always told me that material stuff cant bring love, but I fell in love with Material Design, that is why I brought it to LÖVE!

Material-Love is a set of libraries to use some of the features described in the Google Material-Design spec, in your LÖVE projects.

Image

Material-Love takes the overhead of generating some of the fancy effects described in those docs, like shadows, paper and ripples. It also facilitates the access to some other stuff like the Roboto Fonts, the color palettes, and even provides an icon font with 1722 icons you can use in your project!

It is NOT a UI library nor is it intended to be, if you want you can use it with any other GUI library like Luigi or SUIT.

Note: None of them are really supported by this library. And as such it is not guaranteed to work.

Demo
demo.love
This is a demo file to test all the features in this set of libraries
(419.87 KiB) Downloaded 362 times
Source
The source code can be found in the Material - Love Github Repo

Documentation
Find the documentation for each library in the Github Wiki

Credits
I must credit Robin for his roundrect.lua file which served as a base for my own roundrect.lua

And Mrmaxmeier which helped a lot in the development o the library (fixed some issues and provided the Image Transition effect)

License
This set of libraries is Licensed under MIT License
Last edited by Positive07 on Mon Oct 24, 2016 6:10 pm, edited 2 times in total.
for i, person in ipairs(everybody) do
[tab]if not person.obey then person:setObey(true) end
end
love.system.openURL(github.com/pablomayobre)
User avatar
Ranguna259
Party member
Posts: 911
Joined: Tue Jun 18, 2013 10:58 pm
Location: I'm right next to you

Re: Material - Love (Material Design for LÖVE)

Post by Ranguna259 »

This is awesome, great work ! :D
The 9patch, shadows and the FAB libs are awesome, I'm probably gonna use them in future work.
LoveDebug- A library that will help you debug your game with an on-screen fully interactive lua console, you can even do code hotswapping :D

Check out my twitter.
User avatar
Robin
The Omniscient
Posts: 6506
Joined: Fri Feb 20, 2009 4:29 pm
Location: The Netherlands
Contact:

Re: Material - Love (Material Design for LÖVE)

Post by Robin »

Great work! :D

One tiny thing about the demo: it'd probably make more sense if all the buttons where activated on release instead of on press.
Help us help you: attach a .love.
User avatar
SiENcE
Party member
Posts: 792
Joined: Thu Jul 24, 2008 2:25 pm
Location: Berlin/Germany
Contact:

Re: Material - Love (Material Design for LÖVE)

Post by SiENcE »

First... Great!

Thanks. I'm now reading the google material specs :).

An integration into GSpot or Quickie would be nice.
User avatar
Positive07
Party member
Posts: 1014
Joined: Sun Aug 12, 2012 4:34 pm
Location: Argentina

Re: Material - Love (Material Design for LÖVE)

Post by Positive07 »

Robin wrote: It'd probably make more sense if all the buttons where activated on release instead of on press.
I wanted to keep it simple, so I didnt even bother about that stuff, if you dont wanna open a thousand tabs with the repo or close it every time use the right click (it activates the ripples but not the actions)
SiENcE wrote: Thanks. I'm now reading the google material specs :).
Nice! Hope to see some Material Projects soon! :)
SiENcE wrote: An integration into GSpot or Quickie would be nice.
Maybe, I dont know, I'll try to write my own GUI system, based entirely on the things that the spec specifies... And make it more touch friendly...
Ranguna259 wrote: The 9patch, shadows and the FAB libs are awesome, I'm probably gonna use them in future work.
Sure go ahead!

Thank you all guys :awesome:
for i, person in ipairs(everybody) do
[tab]if not person.obey then person:setObey(true) end
end
love.system.openURL(github.com/pablomayobre)
User avatar
SiENcE
Party member
Posts: 792
Joined: Thu Jul 24, 2008 2:25 pm
Location: Berlin/Germany
Contact:

Re: Material - Love (Material Design for LÖVE)

Post by SiENcE »

Positive07 wrote:
SiENcE wrote: An integration into GSpot or Quickie would be nice.
Maybe, I dont know, I'll try to write my own GUI system, based entirely on the things that the spec specifies... And make it more touch friendly...
Hm ok. A lot of people now are writing gui systems...but none fits my needs and a lot do more than they should.

Most times when you do a game, you use predrawn images. For all. Like buttons, hoovers, aso. You avoid to use generated buttons.

But what most guisystem lack are:
* an easy integration of tween libraries
* an easy integration of interaction libraries for touch or gamepad, mouse, keyboard
* an easy integration of a richtext rendering library
* use of texture atlas
* animated effects that can be applied to any widget (also shaders)
* easy window management
* rendering to canvas and not directly to screen
* an easy to use layout file system (json/xml) and editor tool

They should not:
* implement tween functionality
* implement interaction library
* implement richtext

Mostly not needed are:
* rendering functions of buttons or menus (they should be custom defined by the user or use images)
* fine defined elements, most things should be abstract

cheers
User avatar
Snuux
Prole
Posts: 49
Joined: Sun Dec 15, 2013 10:43 am
Location: Russia, Moskow
Contact:

Re: Material - Love (Material Design for LÖVE)

Post by Snuux »

Thranduil library fit your requirements https://github.com/adonaac/thranduil
My library for easy saving Slib! Try this! Now you can encrypt your save!
- Drop of light LD#30
- OUTRANGE LD#31
(Sorry for my english. I learn it myself, and I don't have enough experience)
User avatar
Positive07
Party member
Posts: 1014
Joined: Sun Aug 12, 2012 4:34 pm
Location: Argentina

Re: Material - Love (Material Design for LÖVE)

Post by Positive07 »

SiENcE wrote: But what most guisystem lack are:
* an easy integration of tween libraries
* an easy integration of interaction libraries for touch or gamepad, mouse, keyboard
* an easy integration of a richtext rendering library
* use of texture atlas
* animated effects that can be applied to any widget (also shaders)
* easy window management
* rendering to canvas and not directly to screen
* an easy to use layout file system (json/xml) and editor tool

They should not:
* implement tween functionality
* implement interaction library
* implement richtext

Mostly not needed are:
* rendering functions of buttons or menus (they should be custom defined by the user or use images)
* fine defined elements, most things should be abstract

cheers
Snuux wrote:Thranduil library fit your requirements https://github.com/adonaac/thranduil
He is right, Thranduil is really close to that, except for the layout part.

Anyway, I know that is the case and that is why this library exists, you can do the rest, and it is pretty simple, actually making an UI with Thranduil plus this or Quickie plus this you can get material looking UIs.

If I ever develop the UI library it would fit almost all the requirements except for the unneeded rendering functions, it would have overwritable basic ones (material looking ones), fine defined objects (there would be bases but the complex stuff would also be there), It would definetely not use canvas (my computer doesnt support them so I try to avoid them as much as I can otherwise the code would be untested).

I would fulfill the rest of the items though... But It wont happen soon haha
for i, person in ipairs(everybody) do
[tab]if not person.obey then person:setObey(true) end
end
love.system.openURL(github.com/pablomayobre)
User avatar
alberto_lara
Party member
Posts: 372
Joined: Wed Oct 30, 2013 8:59 pm

Re: Material - Love (Material Design for LÖVE)

Post by alberto_lara »

But what most guisystem lack are:
* an easy integration of tween libraries
* an easy integration of interaction libraries for touch or gamepad, mouse, keyboard
* an easy integration of a richtext rendering library
* use of texture atlas
* animated effects that can be applied to any widget (also shaders)
* easy window management
* rendering to canvas and not directly to screen
* an easy to use layout file system (json/xml) and editor tool

Thanks for those hints, I'm making a gui library so I need to know what's important for the people, from the people.
User avatar
SiENcE
Party member
Posts: 792
Joined: Thu Jul 24, 2008 2:25 pm
Location: Berlin/Germany
Contact:

Re: Material - Love (Material Design for LÖVE)

Post by SiENcE »

No problem. Is your gui also on github?
Post Reply

Who is online

Users browsing this forum: No registered users and 73 guests