0.8.18:Details Update II

This commit is contained in:
MrZ_26
2020-05-01 02:33:36 +08:00
parent 00026bc46b
commit 2768fa748b
35 changed files with 1580 additions and 1555 deletions

View File

@@ -19,64 +19,64 @@ local blockPos={4,4,4,4,4,5,4}
local scs={{1,2},{1,2},{1,2},{1,2},{1,2},{1.5,1.5},{0.5,2.5}}
-------------------------------------------------Cold clear
local CCblockID={4,3,5,6,1,2,0}
if system~="Windows"then goto SKIP end
require("CCloader")
BOT={
getConf= cc.get_default_config ,--()options,weights
--setConf= cc.set_options ,--(options,hold,20g,bag7)
if system=="Windows"then
require("CCloader")
BOT={
getConf= cc.get_default_config ,--()options,weights
--setConf= cc.set_options ,--(options,hold,20g,bag7)
new= cc.launch_async ,--(options,weights)bot
addNext= cc.add_next_piece_async ,--(bot,piece)
update= cc.reset_async ,--(bot,field,b2b,combo)
think= cc.request_next_move ,--(bot)
getMove= cc.poll_next_move ,--(bot)success,hold,move
ifDead= cc.is_dead_async ,--(bot)dead
destroy= cc.destroy_async ,--(bot)
new= cc.launch_async ,--(options,weights)bot
addNext= cc.add_next_piece_async ,--(bot,piece)
update= cc.reset_async ,--(bot,field,b2b,combo)
think= cc.request_next_move ,--(bot)
getMove= cc.poll_next_move ,--(bot)success,hold,move
ifDead= cc.is_dead_async ,--(bot)dead
destroy= cc.destroy_async ,--(bot)
setHold= cc.set_hold ,--(opt,bool)
set20G= cc.set_20g ,--(opt,bool)
setBag= cc.set_bag7 ,--(opt,bool)
setNode= cc.set_max_nodes ,--(opt,bool)
free= cc.free ,--(opt/wei)
}
function CC_updateField(P)
local F,i={},1
for y=1,#P.field do
for x=1,10 do
F[i],i=P.field[y][x]>0,i+1
setHold= cc.set_hold ,--(opt,bool)
set20G= cc.set_20g ,--(opt,bool)
setBag= cc.set_bag7 ,--(opt,bool)
setNode= cc.set_max_nodes ,--(opt,bool)
free= cc.free ,--(opt/wei)
}
function CC_updateField(P)
local F,i={},1
for y=1,#P.field do
for x=1,10 do
F[i],i=P.field[y][x]>0,i+1
end
end
while i<400 do
F[i],i=false,i+1
end
BOT.update(P.AI_bot,F,P.b2b>=100,P.combo)
end
while i<400 do
F[i],i=false,i+1
end
BOT.update(P.AI_bot,F,P.b2b>=100,P.combo)
end
function CC_switch20G(P)
P.AIdata._20G=true
P.AI_keys={}
BOT.destroy(P.AI_bot)
local opt,wei=BOT.getConf()
BOT.setHold(opt,P.AIdata.hold)
BOT.set20G(opt,P.AIdata._20G)
BOT.setBag(opt,P.AIdata.bag7)
BOT.setNode(opt,P.AIdata.node)
P.AI_bot=BOT.new(opt,wei)
BOT.free(opt)BOT.free(wei)
for i=1,P.AIdata.next do
BOT.addNext(P.AI_bot,CCblockID[P.next[i].id])
end
CC_updateField(P)
P.hd={bk={{}},id=0,color=0,name=0}P.holded=false
P.cur=rem(P.next,1)
P.sc,P.dir=scs[P.cur.id],0
P.r,P.c=#P.cur.bk,#P.cur.bk[1]
P.curX,P.curY=blockPos[P.cur.id],21+ceil(P.fieldBeneath/30)-P.r+min(int(#P.field*.2),2)
function CC_switch20G(P)
P.AIdata._20G=true
P.AI_keys={}
BOT.destroy(P.AI_bot)
local opt,wei=BOT.getConf()
BOT.setHold(opt,P.AIdata.hold)
BOT.set20G(opt,P.AIdata._20G)
BOT.setBag(opt,P.AIdata.bag7)
BOT.setNode(opt,P.AIdata.node)
P.AI_bot=BOT.new(opt,wei)
BOT.free(opt)BOT.free(wei)
for i=1,P.AIdata.next do
BOT.addNext(P.AI_bot,CCblockID[P.next[i].id])
end
CC_updateField(P)
P.hd={bk={{}},id=0,color=0,name=0}P.holded=false
P.cur=rem(P.next,1)
P.sc,P.dir=scs[P.cur.id],0
P.r,P.c=#P.cur.bk,#P.cur.bk[1]
P.curX,P.curY=blockPos[P.cur.id],21+ceil(P.fieldBeneath/30)-P.r+min(int(#P.field*.2),2)
P:newNext()
BOT.addNext(P.AI_bot,CCblockID[P.next[P.AIdata.next].id])
collectgarbage()
P:newNext()
BOT.addNext(P.AI_bot,CCblockID[P.next[P.AIdata.next].id])
collectgarbage()
end
end
::SKIP::
-------------------------------------------------⑨Stack setup
local dirCount={1,1,3,3,3,0,1}
local spinOffset={
@@ -231,10 +231,8 @@ AI_think={
end
end
::L::
if #Tfield>0 then
while #Tfield>0 do
freeRow.discard(rem(Tfield,1))
goto L
end--Release cache
local p=#ctrl+1
if best.hold then

View File

@@ -3,7 +3,6 @@ local int,ceil,rnd,abs=math.floor,math.ceil,math.random,math.abs
local max,min,sin,cos=math.max,math.min,math.sin,math.cos
local scr=scr
local BGinit,BGresize,BGupdate,BGdraw,BGdiscard={},{},{},{},{}
local BGvars={_G=_G}
@@ -136,7 +135,7 @@ end--Lightning
function BGinit.game6()
t=0
colorLib=_G.skin.libColor
colorLib=_G.SKIN.libColor
colorSet=_G.setting.skin
miniBlock=_G.miniBlock
end
@@ -180,34 +179,37 @@ end
function BGinit.space()
stars={}
for i=1,2600,5 do
local s=0.75*2^(rnd()*1.5)
local s=rnd(4)
stars[i]=s --size
stars[i+1]=rnd(W) --x
stars[i+2]=rnd(H) --y
stars[i+1]=rnd(W)-10 --x
stars[i+2]=rnd(H)-10 --y
stars[i+3]=(rnd()-.5)*.01*s --vx
stars[i+4]=(rnd()-.5)*.01*s --vy
end--800 var
end
function BGresize.space(w,h)
W,H=w+100,h+100
W,H=w+20,h+20
BGinit.space()
end
function BGupdate.space(dt)
local s=stars
for i=1,2600,5 do
stars[i+1]=(stars[i+1]+stars[i+3])%W
stars[i+2]=(stars[i+2]+stars[i+4])%H
s[i+1]=(s[i+1]+s[i+3])%W
s[i+2]=(s[i+2]+s[i+4])%H
end--star moving
end
function BGdraw.space()
gc.clear(.2,.2,.2)
if not stars[1]then return end
gc.translate(-50,-50)
gc.translate(-10,-10)
gc.setColor(.8,.8,.8)
for i=1,2600,5 do
local x,y=stars[i+1],stars[i+2]
gc.circle("fill",x,y,stars[i])
local s=stars
local x,y=s[i+1],s[i+2]
s=s[i]
gc.rectangle("fill",x,y,s,s)
end
gc.translate(50,50)
gc.translate(10,10)
end
function BGdiscard.space()
stars={}

View File

@@ -23,6 +23,7 @@ function BGM.loadAll()
end
function BGM.play(s)
if setting.bgm==0 then
BGM.playing=BGM.list[s]
BGM.suspend,BGM.nowPlay=s
return
elseif not s then

267
parts/file.lua Normal file
View File

@@ -0,0 +1,267 @@
local fs=love.filesystem
local int,max,min=math.floor,math.max,math.min
local sub,find=string.sub,string.find
local toN,toS=tonumber,tostring
local concat=table.concat
local function splitS(s,sep)
local t,n={},1
repeat
local p=find(s,sep)or #s+1
t[n]=sub(s,1,p-1)
n=n+1
s=sub(s,p+#sep)
until #s==0
return t
end
local tabs={
[0]="",
"\t",
"\t\t",
"\t\t\t",
"\t\t\t\t",
"\t\t\t\t\t",
}
local function dumpTable(L,t)
local s
if t then
s="{\n"
else
s="return{\n"
t=1
end
local count=1
for k,v in next,L do
local T=type(k)
if T=="number"then
if k==count then
k="";count=count+1
else
k="["..k.."]="
end
elseif T=="string"then k=k.."="
elseif T=="boolean"then k="["..k.."]="
else error("Error key type!")
end
T=type(v)
if T=="number"then v=tostring(v)
elseif T=="string"then v="\""..v.."\""
elseif T=="table"then v=dumpTable(v,t+1)
elseif T=="boolean"then v=tostring(v)
else error("Error data type!")
end
s=s..tabs[t]..k..v..",\n"
end
return s..tabs[t-1].."}"
end
local function addToTable(G,base)--refresh default base with G-values
for k,v in next,G do
if type(v)==type(base[k])then
if type(v)=="table"then
addToTable(v,base[k])
else
base[k]=v
end
end
end
end
local files={
data= fs.newFile("data.dat"),
setting=fs.newFile("setting.dat"),
VK= fs.newFile("virtualkey.dat"),
keyMap= fs.newFile("key.dat"),
unlock= fs.newFile("unlock.dat"),
}
local File={}
function File.loadRecord(N)
local F=fs.newFile(N..".dat")
if F:open("r")then
local s=loadstring(F:read())
F:close()
if s then
setfenv(s,{})
return s()
else
return{}
end
end
end
function File.saveRecord(N,L)
local F=fs.newFile(N..".dat")
F:open("w")
local _,mes=F:write(dumpTable(L))
F:flush()F:close()
if not _ then
TEXT.show(text.recSavingError..(mes or"unknown error"),1140,650,20,"sudden",.5)
end
end
function File.delRecord(N)
fs.remove(N..".dat")
end
function File.loadUnlock()
local F=files.unlock
if F:open("r")then
local s=F:read()
if s:sub(1,6)~="return"then s="return{"..s.."}"end
s=loadstring(s)
F:close()
if s then
setfenv(s,{})
modeRanks=s()
end
end
end
function File.saveUnlock()
local F=files.unlock
F:open("w")
local _,mes=F:write(dumpTable(modeRanks))
F:flush()F:close()
if not _ then
TEXT.show(text.unlockSavingError..(mes or"unknown error"),1140,650,20,"sudden",.5)
end
end
function File.loadData()
local F=files.data
if F:open("r")then
local s=F:read()
if s:sub(1,6)~="return"then
s="return{"..s:gsub("\n",",").."}"
end
s=loadstring(s)
F:close()
if s then
setfenv(s,{})
local S=s()
if S.version~=gameVersion then
S.version=gameVersion
TEXT.show(text.newVersion,640,200,30,"fly",.3)
end
if not S.version or S.version=="Alpha V0.8.15"then
S.clear_S={S.clear_1,S.clear_2,S.clear_3,S.clear_4}
S.clear={{},{},{},{},{},{},{}}
local A,B,C,D=int(S.clear_1/7),int(S.clear_2/7),int(S.clear_3/7),S.clear_4
for i=1,7 do
S.clear[i][1]=A
S.clear[i][2]=B
S.clear[i][3]=C
S.clear[i][4]=0
end
S.clear[7][4]=D
for i=1,S.clear_1%7 do S.clear[i][1]=S.clear[i][1]+1 end
for i=1,S.clear_2%7 do S.clear[i][2]=S.clear[i][2]+1 end
for i=1,S.clear_3%7 do S.clear[i][3]=S.clear[i][3]+1 end
S.clear_B={}
for i=1,7 do
S.clear_B[i]=S.clear[i][1]+S.clear[i][2]+S.clear[i][3]+S.clear[i][4]
end
S.spin_S={S.spin_0,S.spin_1,S.spin_2,S.spin_3}
S.spin={{},{},{},{},{},{},{}}
A,B,C,D=int(S.spin_0/7),int(S.spin_1/7),int(S.spin_2/7),int(S.spin_3/7)
for i=1,7 do
S.spin[i][1]=A
S.spin[i][2]=B
S.spin[i][3]=C
S.spin[i][4]=D
end
for i=1,S.spin_0%7 do S.spin[i][1]=S.spin[i][1]+1 end
for i=1,S.spin_1%7 do S.spin[i][2]=S.spin[i][2]+1 end
for i=1,S.spin_2%7 do S.spin[i][3]=S.spin[i][3]+1 end
for i=1,S.spin_3%7 do S.spin[i][4]=S.spin[i][4]+1 end
S.spin_B={}
for i=1,7 do
S.spin_B[i]=S.spin[i][1]+S.spin[i][2]+S.spin[i][3]+S.spin[i][4]
end
S.hpc=S.c
elseif S.version=="Alpha V0.8.16"then
for i=1,6 do
S.clear[7][4]=S.clear[7][4]+S.clear[i][4]
S.clear[i][4]=0
end
end
addToTable(S,stat)
end
end
end
function File.saveData()
local F=files.data
F:open("w")
local _,mes=F:write(dumpTable(stat))
F:flush()F:close()
if not _ then
TEXT.show(text.statSavingError..(mes or"unknown error"),1140,650,20,"sudden",.5)
end
end
function File.loadSetting()
local F=files.setting
if F:open("r")then
local s=F:read()
if s:sub(1,6)~="return"then
s="return{"..s:gsub("\n",",").."}"
end
s=loadstring(s)
F:close()
if s then
setfenv(s,{})
addToTable(s(),setting)
end
end
end
function File.saveSetting()
local F=files.setting
F:open("w")
local _,mes=F:write(dumpTable(setting))
F:flush()F:close()
if _ then TEXT.show(text.settingSaved,1140,650,40,"sudden",.5)
else TEXT.show(text.settingSavingError..(mes or"unknown error"),1140,650,20,"sudden",.5)
end
end
function File.loadKeyMap()
local F=files.keyMap
if F:open("r")then
local s=loadstring(F:read())
F:close()
if s then
setfenv(s,{})
addToTable(s(),keyMap)
end
end
end
function File.saveKeyMap()
local F=files.keyMap
F:open("w")
local _,mes=F:write(dumpTable(keyMap))
F:flush()F:close()
if _ then TEXT.show(text.keyMapSaved,1140,650,26,"sudden",.5)
else TEXT.show(text.keyMapSavingError..(mes or"unknown error"),1140,650,20,"sudden",.5)
end
end
function File.loadVK()
local F=files.VK
if F:open("r")then
local s=loadstring(F:read())
F:close()
if s then
setfenv(s,{})
addToTable(s(),VK_org)
end
end
end
function File.saveVK()
local F=files.VK
F:open("w")
local _,mes=F:write(dumpTable(VK_org))
F:flush()F:close()
if _ then TEXT.show(text.VKSaved,1140,650,26,"sudden",.5)
else TEXT.show(text.VKSavingError..(mes or"unknown error"),1140,650,20,"sudden",.5)
end
end
return File

View File

@@ -2,6 +2,7 @@ local langList={
{
anykey="按任意键继续",
newVersion="检测到更新!存档格式可能更新",
marking="游戏作者:MrZ_26\n出现此水印则为非法录屏上传",
lang="中文",
atkModeName={"随机","徽章","击杀","反击"},
royale_remain=function(n)return"剩余 "..n.." 名玩家"end,
@@ -146,10 +147,10 @@ local langList={
"使用LOVE2D引擎",
"作者:MrZ 邮箱:1046101471@qq.com",
"程序:MrZ 美术:MrZ 音乐:MrZ 音效:MrZ 语音:MrZ/Miya",
"特别感谢:Flyz,Farter,196,Teatube,T830,[所有内测人员]和 你!",
"特别感谢:Flyz,Farter,196,Teatube,[所有内测人员]和 你!",
"",
"错误或者建议请附带截图发送到内测群或者作者邮箱~",
"仅通过唯一内测群1057456078进行免费下载/更新",
"仅通过唯一内测群822023725进行免费下载/更新",
"其他渠道获得游戏皆有被修改/植入病毒的风险,程序只申请了震动&联网权限!",
"若由于被修改的本游戏产生的各种损失作者不负责(我怎么负责啊跟我有啥关系)",
"请从正规途径获得最新版,游戏现为免费,不过有打赏当然感谢啦~",
@@ -305,7 +306,8 @@ local langList={
pro="专业",
hide="显示虚拟按键",
track="按键自动跟踪",
sound="按键音效",
sfx="按键音效",
vib="按键震动",
icon="图标",
tkset="跟踪设置",
alpha="透明度",
@@ -411,6 +413,7 @@ local langList={
{
anykey="按任意键继续",
newVersion="检测到更新!存档格式可能更新",
marking="游戏作者:MrZ_26\n出现此水印则为非法录屏上传",
lang="全中文",
atkModeName={"随机","徽章","击杀","反击"},
royale_remain=function(n)return"剩余 "..n.." 名玩家"end,
@@ -465,7 +468,7 @@ local langList={
freshLimit={0,8,15,""},
opponent={"无电脑","9S Lv1","9S Lv2","9S Lv3","9S Lv4","9S Lv5","CC Lv1","CC Lv2","CC Lv3","CC Lv4","CC Lv5","CC Lv6"},
},
snapLevelName={"无吸附","10px吸附","20px吸附","40px吸附","60px吸附","80px吸附"},
snapLevelName={"无吸附","10像素吸附","20像素吸附","40像素吸附","60像素吸附","80像素吸附"},
setting_game="游戏设置",
setting_graphic="画面设置",
setting_sound="声音设置",
@@ -508,7 +511,7 @@ local langList={
"落在最左:","落在最右:","列在最左:","列在最右:",
},
load={[0]="加载完成","加载语音ing","加载音乐ing","加载音效ing","加载图片ing","加载模式ing","加载乱七八糟的东西ing"},
load={[0]="加载完成","正在加载语音","正在加载音乐","正在加载音效","正在加载图片","正在加载模式","正在加载乱七八糟的东西"},
pauseStat={
"时间:",
"按键/旋转/暂存:",
@@ -553,10 +556,10 @@ local langList={
"使用LOVE2D引擎",
"作者:MrZ 邮箱:1046101471@qq.com",
"程序:MrZ 美术:MrZ 音乐:MrZ 音效:MrZ 语音:MrZ/Miya",
"特别感谢:Flyz,Farter,196,Teatube,T830,[所有内测人员]和 你!",
"特别感谢:Flyz,Farter,196,Teatube,[所有内测人员]和 你!",
"",
"错误或者建议请附带截图发送到内测群或者作者邮箱~",
"仅通过唯一内测群1057456078进行免费下载/更新",
"仅通过内测群822023725进行免费下载/更新",
"其他渠道获得游戏皆有被修改/植入病毒的风险,程序只申请了震动&联网权限!",
"若由于被修改的本游戏产生的各种损失作者不负责(我怎么负责啊跟我有啥关系)",
"请从正规途径获得最新版,游戏现为免费,不过有打赏当然感谢啦~",
@@ -711,7 +714,8 @@ local langList={
pro="专业",
hide="显示虚拟按键",
track="按键自动跟踪",
sound="按键音效",
sfx="按键音效",
vib="按键震动",
icon="图标",
tkset="跟踪设置",
alpha="透明度",
@@ -817,6 +821,7 @@ local langList={
{
anykey="Any Key to Continue",
newVersion="Updating detected! Saving format may changed",
marking="Author:MrZ_26\nIllegal recording if u see this",
lang="English",
atkModeName={"Random","Badges","K.O.s","Counters"},
royale_remain=function(n)return n.." Players Remain"end,
@@ -956,10 +961,10 @@ local langList={
"Powered by LOVE2D",
"Author:MrZ E-mail:1046101471@qq.com",
"Program:MrZ Art:MrZ Music:MrZ SFX:MrZ VOICE:MrZ/Miya",
"Special thanks:Flyz,Farter,196,Teatube,T830,[all test staff] and YOU!",
"Special thanks:Flyz,Farter,196,Teatube,[all test staff] and YOU!",
"",
"Any bugs/suggestions to my E-mail.(may with screenshot)",
"Only released in test group for FREE",
"Only released in discord.gg/f9pUvkh for FREE",
"Game downloaded from other way may implanted with virus",
"Only network/vibrating permission applied",
"Author is not responsible for any loss by edited game",
@@ -1115,7 +1120,8 @@ local langList={
pro="Professioanl",
hide="Show Virtual Key",
track="Auto track",
sound="SFX",
sfx="SFX",
vib="VIB",
icon="Icon",
tkset="Track setting",
alpha="Alpha",

View File

@@ -1,3 +1,4 @@
do return end
--LIGHT MODULE(Optimized by MrZ,Original on github/love2d community/simple-love-lights)
--Heavily based on mattdesl's libGDX implementation:
--https://github.com/mattdesl/lwjgl-basics/wiki/2D-Pixel-Perfect-Shadows

View File

@@ -19,10 +19,10 @@ local list={
"colored_bone(mrz)",
"white_bone(mrz)",
}
local skin={}
skin.lib={}
skin.libMini={}
skin.libColor={
local SKIN={}
SKIN.lib={}
SKIN.libMini={}
SKIN.libColor={
color.red,
color.orange,
color.yellow,
@@ -41,7 +41,7 @@ skin.libColor={
color.darkRed,
color.darkGreen,
}
function skin.load()
function SKIN.load()
local _
gc.push()
gc.origin()
@@ -49,36 +49,36 @@ function skin.load()
gc.setColor(1,1,1)
for i=1,#list do
local I=gc.newImage("/image/skin/"..list[i]..".png")
skin.lib[i],skin.libMini[i]={},{}--30/6
SKIN.lib[i],SKIN.libMini[i]={},{}--30/6
for j=1,11 do
skin.lib[i][j]=C(30,30)
SKIN.lib[i][j]=C(30,30)
gc.draw(I,30-30*j,0)
skin.libMini[i][j]=C(6,6)
SKIN.libMini[i][j]=C(6,6)
gc.draw(I,6-6*j,0,nil,.2)
end
for j=1,6 do
skin.lib[i][11+j]=C(30,30)
SKIN.lib[i][11+j]=C(30,30)
gc.draw(I,30-30*j,-30)
skin.libMini[i][11+j]=C(6,6)
SKIN.libMini[i][11+j]=C(6,6)
gc.draw(I,6-6*j,-6,nil,.2)
end
I:release()
end
skin.change(setting.skinSet)
SKIN.change(setting.skinSet)
puzzleMark={}
gc.setLineWidth(3)
for i=1,11 do
puzzleMark[i]=C(30,30)
_=skin.libColor[i]
_=SKIN.libColor[i]
gc.setColor(_[1],_[2],_[3],.6)
gc.rectangle("line",5,5,20,20)
gc.rectangle("line",10,10,10,10)
end
for i=12,17 do
puzzleMark[i]=C(30,30)
gc.setColor(skin.libColor[i])
gc.setColor(SKIN.libColor[i])
gc.rectangle("line",7,7,16,16)
end
_=C(30,30)
@@ -93,34 +93,34 @@ function skin.load()
gc.pop()
end
local L=#list
function skin.prevSet()--prev skin_set
function SKIN.prevSet()--prev skin_set
local _=(setting.skinSet-2)%L+1
setting.skinSet=_
skin.change(_)
SKIN.change(_)
_=list[_]
TEXT.show(_,1100,100,int(300/#_)+5,"fly")
end
function skin.nextSet()--next skin_set
function SKIN.nextSet()--next skin_set
local _=setting.skinSet%L+1
setting.skinSet=_
skin.change(_)
SKIN.change(_)
_=list[_]
TEXT.show(_,1100,100,int(300/#_)+5,"fly")
end
function skin.prev(i)--prev skin for [i]
function SKIN.prev(i)--prev skin for [i]
local _=setting.skin
_[i]=(_[i]-2)%11+1
end
function skin.next(i)--next skin for [i]
function SKIN.next(i)--next skin for [i]
local _=setting.skin
_[i]=_[i]%11+1
end
function skin.rotate(i)--change direction of [i]
function SKIN.rotate(i)--change direction of [i]
setting.face[i]=(setting.face[i]+1)%4
SFX.play("rotate")
end
function skin.change(i)--change to skin_set[i]
blockSkin=skin.lib[i]
blockSkinMini=skin.libMini[i]
function SKIN.change(i)--change to skin_set[i]
blockSkin=SKIN.lib[i]
blockSkinMini=SKIN.libMini[i]
end
return skin
return SKIN

View File

@@ -3,6 +3,8 @@ local rnd=math.random
local mStr=mStr
local rem=table.remove
local texts={}
local textFX={}
function textFX.appear(t)
mStr(t.text,t.x,t.y-t.font*.7)
@@ -64,11 +66,14 @@ function textFX.beat(t)
end
function textFX.mark(t)
local _,_,_,T=gc.getColor()
gc.setColor(1,1,1,T*.06626)
gc.setColor(1,1,1,T*.08)
mStr(t.text,t.x,t.y-t.font*.7)
end
local TEXT={}
function TEXT.clear()
texts={}
end
function TEXT.getText(text,x,y,font,style,spd,stop)
return{
c=0,
@@ -94,6 +99,7 @@ function TEXT.show(text,x,y,font,style,spd,stop)
}
end
function TEXT.update(list)
if not list then list=texts end
for i=#list,1,-1 do
local t=list[i]
t.c=t.c+t.spd
@@ -108,6 +114,7 @@ function TEXT.update(list)
end
end
function TEXT.draw(list)
if not list then list=texts end
for i=1,#list do
local t=list[i]
local p=t.c

View File

@@ -1,4 +1,4 @@
local level={0,.015,.02,.03,.04,.05,.06,.07,.08,.09}
local level={0,0,.015,.02,.03,.04,.05,.06,.07,.08}
local _=love.system.vibrate
return function(t)
local L=setting.vib