From c4d1846765efbd4fda9a1a19f5e9971709ddba86 Mon Sep 17 00:00:00 2001 From: jill Date: Mon, 25 Jan 2021 18:17:32 +0300 Subject: [PATCH] cursors --- assets/sprites/cursor/dragging.png | Bin 0 -> 1515 bytes assets/sprites/cursor/hand.png | Bin 0 -> 1427 bytes assets/sprites/cursor/pointer.png | Bin 0 -> 1802 bytes main.lua | 7 +++++++ scenes/gameplay/main.lua | 22 +++++++++++++++++++++- 5 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 assets/sprites/cursor/dragging.png create mode 100644 assets/sprites/cursor/hand.png create mode 100644 assets/sprites/cursor/pointer.png diff --git a/assets/sprites/cursor/dragging.png b/assets/sprites/cursor/dragging.png new file mode 100644 index 0000000000000000000000000000000000000000..5d3d6e6ed0fa8a8357b1e1ba855903efa41b7456 GIT binary patch literal 1515 zcmV|ZN2!*0@LIh(*R_rQMAA^f)+;=#YI;$4UO2c_)GXc;9#S*0 zgz$;5N0$Q%-&%US&Tkf{>-=T09tkgk-Rh~NTR7grYDUiqPYJto*^=5gk98AgGQYAc zc}&(g24MpDQHWDwlPpENlJhdN_C8{n zz}Wx*010qNS#tmY3labT3lag+-G2N400bjRL_t(o!|hi~Xj4HHz2@`ML|dOlqpgMd zLydJI3PqHPh$31gXcsPA3a&*cSU)Qf#Nx^i=te}ug;ppUTqwG55hxT_5)pqbrNyc- z(U>-$rk?xeCcf0Pc`sFQkqeiZd2c>v&i%{`QB|r^m8$&TGN;0EZVP=f{|b~_wAMo3 z?@}i1f^ymD>k}{mXnl!)W?>*vXvD-?=1+slv$FxZ4cZ{Uq9p*5d>@g25ot%Q0Dx(%~6_neaU zIij8ms(#=!wZ8dK7}q4_3+Tskf#9&|gUVDI(JDUx0NlhRkza={Q5`f7(Y(2Z{(-eC zD2Q?=bRTppZ=ziEI&6gh59oWCCBlq+8wZd&A}8WEhPn$*LstQO8PUxv zL;%)`v74bg#0?gg2oB4j%n`T99O^M<1wbC0CE9-m?FlecC!vQ?KEJ9jL>ank0OL7Y zpl!ldMNGL(fHsNF=QY9B00T(_hz`@`V9pr3e2p5ICRKM~_ADAr0NH!lV2&AEE4Pt+BD% zO3lXuJxntL7=5ZUB!8%|boOK?lFnt2g;EsBsebWJRl(`S_js~GGnJpvqWpV#X=sJ$Rc?wWMbPAyKm`bjuIfqO~ zO-XTD^gW(TkH*OHBuq<#?QndU(OCyTiG*Pu1IUkJKrCPIZC6);rF+n4d@@MyTqQo0 zXKMi3&y2l#N0B|qJ;S43N=FllrP!3~oV1yx(OA)3FNOKV|Vq0GtzhPs3DSzJdmngSb(3oVUl4o%>Wq*ow#z(J+~!=DkM%$SYx= zCrg}~)5VnWmRPb2icG*-I2~L&sd88JlS*iYz@m3fz=9}`ULtxsLUDY(A?CMq`?T|L z$UhqRnApX4BspLWnN0mYKmgr`J~UnM%049QJRC9tDw4nK;bu7^2W+W_LtISOZwFAN z?>_S#t7)1OKPkR5Wan-^+sCNSbd&J?x=9se+;mLYe*0Al%IZrwLsj{U@)Oo3Ql6@5 Rt|tHh002ovPDHLkV1lt3yg2{> literal 0 HcmV?d00001 diff --git a/assets/sprites/cursor/hand.png b/assets/sprites/cursor/hand.png new file mode 100644 index 0000000000000000000000000000000000000000..f278e724f6d6c35499465842cc9d326ae2206783 GIT binary patch literal 1427 zcmV;E1#J3>P)|ZN2!*0@LIh(*R_rQMAA^f)+;=#YI;$4UO2c_)GXc;9#S*0 zgz$;5N0$Q%-&%US&Tkf{>-=T09tkgk-Rh~NTR7grYDUiqPYJto*^=5gk98AgGQYAc zc}&(g24MpDQHWDwlPpENlJhdN_C8{n zz}Wx*010qNS#tmY3labT3lag+-G2N400YZOL_t(&-tC%8YZFlzhToZVW|EjmV`7Y@ zYO6xLP;V3w6-5x;38L=ArQ%Y-zaXgK4LAM1?POgr@)c$3VTPLgN7^W9D(>AH^pVaWJTh5!|y0#twsPys4H1*iZOpaN8Y z3Qz$mKn17(6`%rit&a|eKBtou;;%EL>{zbeJG-ojqj2A5yhi**Z3rl^d|rB*X2&h~2?3 zDVnR8IDZ53D|wZpp2|Xx=Y6BJ_}+ zpYP|-F>ZARIn+*IC!((3_K~0rHELlzV<8&I$8{g#G@Z{I-s7dRIgl@FY&m}<4U)c- zez`A?DjJVHKzBsK<7<}v`tm(hkLo48J1obC#*j2>+8b`+!B(drrwRsC!<0%#KSS|a z=%Hn75O-8B**|Bdox>~)nz zrR)^N(q9Y9m<^TYeSoDd{2jAyu3$DIa;Q0SyTV7!oQd@mNKfoh?PZK!;KcqEf|13A zQ8RQ?K6VG_I>kpzw}`!c79L%vWvr#p(YFV;?;7wMDSS)GxOCFAgVd6=)Ux{2F^k&E zcaAJZUtcMFB?KA1E=rxV0c=46H?P#s50ALJAFYov!H`%Ml`sMpj;!D=`&lAbt5HF@ z9<<0UtNtApjP`#Qr7pcP)(pin8|->?Zt zX34f}HOwyiwDf&ebsjZ%V?7yEWITGMVK}`EEDKOT4mLC z?l4q&dI(Hp)lxcL-20Xcb(pHauz&IGkUYS*tc<5GX7KWzip;E%%+KOAZ{5DTVb6$- z0BL~7e#Y9v z8}0sW8_O3*CyY32)fCxUa6(hUSem+;O|ZN2!*0@LIh(*R_rQMAA^f)+;=#YI;$4UO2c_)GXc;9#S*0 zgz$;5N0$Q%-&%US&Tkf{>-=T09tkgk-Rh~NTR7grYDUiqPYJto*^=5gk98AgGQYAc zc}&(g24MpDQHWDwlPpENlJhdN_C8{n zz}Wx*010qNS#tmY3labT3lag+-G2N400lxxL_t(&-tF4kZ`)KD0Pth`*glP&q-oQp zOIvklY~7{}G&ZrW6pe|p@vyxOG{GAhZ~PH}G@f|i&)^*ayC5E@K)sIjwnEc33v1FO zZPMI)i(`j#rel#+ZMTXhX(u1)QyeFX{X5_B@#mv3oku#rtJqlZiZ&PK!d#dOb73yb zg}E>n=E7W<3v*#E%!Roy7j}pmY|wG|ZT6Xm9mekft1A*V0M&-WL&Iq*jUq+y`wfH* zKm~Dx>9$Be%j4Lk0(*XoxQNs^1Lv83k3K$%{P!v6)<8y29rV7QlU*VR<; z^5t7d5WGm>J>(Vk_xEGqdD#Iba%zjEu|awbZUt%-23~}#CycZz&44ev!31JYu3I?YZ-zKu!=O)-VdNGi0NaCp<6|E?BXpe7U4^D#kfC zcY7yTy{mhZ_AWVz7^ygH#23H0^F66NbcW@(tuRbe1=;K(ACLcm9zB{x_kSBfcYjJC zrDP+k7eSCwlcCMch#m+WC$l3co9ch#7iVyNV-7^0JOC3D ziy*Def#1ifAn{ZLw#w@CYsx`+9&@smBHJx;H8no@ov}4*<#G`e3jaKd)zu`>g&8nC zu7X&c)hWuLaUdQv&6X&`(dh5W&Hn}VG7EG_tz~$v1?WsSuWuXVq_pS6nwWp`Q+=e(yjK-m1<#_^Mz_CO- z!Q5_*glXd6`uG>@_tq=~dFZV|r&Ua1H&i1RO!u;u=q$$-X>4q>bXVLB)oj?yqO&zi sbLPt~(H&ISo)FC}f*amk*kNn`0@_Y7p}o}uFaQ7m07*qoM6N<$g3ymx5&!@I literal 0 HcmV?d00001 diff --git a/main.lua b/main.lua index d0fe3a2..855133a 100644 --- a/main.lua +++ b/main.lua @@ -20,6 +20,7 @@ sprites = {} sound_path = {} music_path = {} fonts = {} +cursors = {} debug = false @@ -48,6 +49,12 @@ function love.load() fonts.default = love.graphics.newFont(12) if scene.load then scene.load() end + + cursors.default = love.mouse.newCursor('assets/sprites/cursor/pointer.png', sprites['cursor/pointer']:getWidth()/2, sprites['cursor/pointer']:getHeight()/2) + cursors.hover = love.mouse.newCursor('assets/sprites/cursor/hand.png', sprites['cursor/hand']:getWidth()/2, sprites['cursor/hand']:getHeight()/2) + cursors.drag = love.mouse.newCursor('assets/sprites/cursor/dragging.png', sprites['cursor/dragging']:getWidth()/2, sprites['cursor/dragging']:getHeight()/2) + + love.mouse.setCursor(cursors.default) end frame = 0 diff --git a/scenes/gameplay/main.lua b/scenes/gameplay/main.lua index 5609f16..204ad17 100644 --- a/scenes/gameplay/main.lua +++ b/scenes/gameplay/main.lua @@ -106,9 +106,29 @@ end function self.update(dt) bench.startBenchmark('update_buttons') - for _,btn in ipairs(headerbuttons) do + + local x = 19 + local y = 3 + local anyhover = false + for b,btn in ipairs(headerbuttons) do btn.openanim = btn.openanim + dt * 6 + local size = (love.graphics.getWidth()/640) + local hovered = mouseOverBox(x * size, y * size, sprites['header/buttonbg']:getWidth() * size, sprites['header/buttonbg']:getHeight() * size) + + if btn.open and hovered then + love.mouse.setCursor(cursors.hover) + anyhover = true + end + + local incr = 69 -- its like button positions but forcefully shoved into a recursive function :D + if b == 2 then incr = 57 end + if b >= 3 then incr = 73 end + x = x + incr end + if not anyhover then + love.mouse.setCursor(cursors.default) + end + bench.stopBenchmark('update_buttons') bench.startBenchmark('update_food')