所有皮肤颜色细节大改,新增配色

This commit is contained in:
MrZ626
2020-12-14 18:22:06 +08:00
parent 1d9a9a7000
commit 1843fd3562
13 changed files with 114 additions and 84 deletions

View File

@@ -353,7 +353,7 @@ return{
title="Custom Game",
subTitle="Field",
b12="[ ]",
b17="[ ]",
any="Erase",
space="×",
copy="Copy",

View File

@@ -353,7 +353,7 @@ return{
title="!@#$%^&*",
subTitle="!@#$%^&* [##]",
b12="[ ]",
b17="[ ]",
any="_",
space="×",
copy="→__",

View File

@@ -306,7 +306,7 @@ return{
title="自定义游戏",
subTitle="场地",
b12="[ ]",
b17="[ ]",
any="不定",
space="×",
copy="复制",

View File

@@ -355,7 +355,7 @@ return{
title="自定义游戏",
subTitle="场地",
b12="[ ]",
b17="[ ]",
any="不定",
space="×",
copy="复制",

View File

@@ -291,7 +291,7 @@ return{
title="自定义游戏",
subTitle="场地",
b12="[ ]",
b17="[ ]",
any="不定",
space="×",
copy="复制",

View File

@@ -60,8 +60,8 @@ end
function color.rainbow(phase)
return
sin(phase)*.4+.6,
sin(phase+6.28/3)*.4+.6,
sin(phase-6.28/3)*.4+.6
sin(phase+2.0944)*.4+.6,
sin(phase-2.0944)*.4+.6
end
return color

View File

@@ -328,7 +328,7 @@ local Widgets={
newButton({name="skinR", x=200,y=640,w=220,h=80,color="lPurple",font=35,
code=function()
SETTING.skin={1,5,8,2,10,3,7,1,5,5,1,8,2,10,3,7,10,7,8,2,8,2,1,5,3}
SETTING.skin={1,7,11,3,14,4,9,1,7,1,7,11,3,14,4,9,14,9,11,3,11,3,1,7,4}
SFX.play("rotate")
end}),
newButton({name="faceR", x=480,y=640,w=220,h=80,color="lRed",font=35,
@@ -495,35 +495,43 @@ local Widgets={
newText({name="title", x=1020,y=5,font=70,align="R"}),
newText({name="subTitle", x=1030,y=50,font=35,align="L",color="grey"}),
newButton({name="b1", x=500+65*1, y=200, w=58, color="red", code=setPen(1)}),--B1
newButton({name="b2", x=500+65*2, y=200, w=58, color="orange", code=setPen(2)}),--B2
newButton({name="b3", x=500+65*3, y=200, w=58, color="yellow", code=setPen(3)}),--B3
newButton({name="b4", x=500+65*4, y=200, w=58, color="grass", code=setPen(4)}),--B4
newButton({name="b5", x=500+65*5, y=200, w=58, color="green", code=setPen(5)}),--B5
newButton({name="b6", x=500+65*6, y=200, w=58, color="water", code=setPen(6)}),--B6
newButton({name="b7", x=500+65*7, y=200, w=58, color="cyan", code=setPen(7)}),--B7
newButton({name="b8", x=500+65*8, y=200, w=58, color="blue", code=setPen(8)}),--B8
newButton({name="b9", x=500+65*9, y=200, w=58, color="purple", code=setPen(9)}),--B9
newButton({name="b10", x=500+65*10,y=200, w=58, color="magenta",code=setPen(10)}),--B10
newButton({name="b11", x=500+65*11,y=200, w=58, color="pink", code=setPen(11)}),--B11
newButton({name="b1", x=580, y=130,w=75,color={color.rainbow( 1.471)},code=setPen(1)}),--B1
newButton({name="b2", x=660, y=130,w=75,color={color.rainbow( 1.078)},code=setPen(2)}),--B2
newButton({name="b3", x=740, y=130,w=75,color={color.rainbow( 0.685)},code=setPen(3)}),--B3
newButton({name="b4", x=820, y=130,w=75,color={color.rainbow( 0.293)},code=setPen(4)}),--B4
newButton({name="b5", x=900, y=130,w=75,color={color.rainbow(-0.100)},code=setPen(5)}),--B5
newButton({name="b6", x=980, y=130,w=75,color={color.rainbow(-0.493)},code=setPen(6)}),--B6
newButton({name="b7", x=1060, y=130,w=75,color={color.rainbow(-0.885)},code=setPen(7)}),--B7
newButton({name="b8", x=1140, y=130,w=75,color={color.rainbow(-1.278)},code=setPen(8)}),--B8
newButton({name="b12", x=500+65*1, y=270, w=58, color="dGrey", code=setPen(12)}),--Bone
newButton({name="b13", x=500+65*2, y=270, w=58, color="grey", code=setPen(13)}),--GB1
newButton({name="b14", x=500+65*3, y=270, w=58, color="lGrey", code=setPen(14)}),--GB2
newButton({name="b15", x=500+65*4, y=270, w=58, color="dPurple",code=setPen(15)}),--GB3
newButton({name="b16", x=500+65*5, y=270, w=58, color="dRed", code=setPen(16)}),--GB4
newButton({name="b17", x=500+65*6, y=270, w=58, color="dGreen", code=setPen(17)}),--GB5
newButton({name="b9", x=580, y=210,w=75,color={color.rainbow(-1.671)},code=setPen(9)}),--B9
newButton({name="b10", x=660, y=210,w=75,color={color.rainbow(-2.063)},code=setPen(10)}),--B10
newButton({name="b11", x=740, y=210,w=75,color={color.rainbow(-2.456)},code=setPen(11)}),--B11
newButton({name="b12", x=820, y=210,w=75,color={color.rainbow(-2.849)},code=setPen(12)}),--B12
newButton({name="b13", x=900, y=210,w=75,color={color.rainbow(-3.242)},code=setPen(13)}),--B13
newButton({name="b14", x=980, y=210,w=75,color={color.rainbow(-3.634)},code=setPen(14)}),--B14
newButton({name="b15", x=1060, y=210,w=75,color={color.rainbow(-4.027)},code=setPen(15)}),--B15
newButton({name="b16", x=1140, y=210,w=75,color={color.rainbow(-4.412)},code=setPen(16)}),--B16
newButton({name="any", x=600, y=380, w=120, color="lGrey", font=40,code=setPen(0)}),
newButton({name="space", x=730, y=380, w=120, color="grey", font=65,code=setPen(-1)}),
newButton({name="copy", x=920, y=380, w=120, color="lRed", font=35,code=pressKey("cC")}),
newButton({name="paste", x=1060, y=380, w=120, color="lBlue", font=35,code=pressKey("cV")}),
newButton({name="clear", x=1200, y=380, w=120, color="white", font=40,code=pressKey("delete")}),
newButton({name="pushLine", x=1060, y=520, w=120, color="lYellow",font=20,code=pressKey("k")}),
newButton({name="delLine", x=1200, y=520, w=120, color="lYellow",font=20,code=pressKey("l")}),
newSwitch({name="demo", x=755, y=640, disp=STPval("demo"),code=STPrev("demo")}),
newButton({name="b17", x=580, y=290,w=75,color="dGrey", code=setPen(17)}),--BONE
newButton({name="b18", x=660, y=290,w=75,color="black", code=setPen(18)}),--HIDE
newButton({name="b19", x=740, y=290,w=75,color="lYellow", code=setPen(19)}),--BOMB
newButton({name="b20", x=820, y=290,w=75,color="grey", code=setPen(20)}),--GB1
newButton({name="b21", x=900, y=290,w=75,color="lGrey", code=setPen(21)}),--GB2
newButton({name="b22", x=980, y=290,w=75,color="dPurple", code=setPen(22)}),--GB3
newButton({name="b23", x=1060, y=290,w=75,color="dRed", code=setPen(23)}),--GB4
newButton({name="b24", x=1140, y=290,w=75,color="dGreen", code=setPen(24)}),--GB5
newButton({name="back", x=1140, y=640, w=170,h=80, font=40,code=BACK}),
newButton({name="any", x=600, y=400, w=120, color="lGrey", font=40,code=setPen(0)}),
newButton({name="space", x=730, y=400, w=120, color="grey", font=65,code=setPen(-1)}),
newButton({name="copy", x=905, y=400, w=120, color="lRed", font=35,code=pressKey("cC")}),
newButton({name="paste", x=1035, y=400, w=120, color="lBlue", font=35,code=pressKey("cV")}),
newButton({name="clear", x=1165, y=400, w=120, color="white", font=40,code=pressKey("delete")}),
newButton({name="pushLine", x=1035, y=530, w=120, color="lYellow",font=20,code=pressKey("k")}),
newButton({name="delLine", x=1165, y=530, w=120, color="lYellow",font=20,code=pressKey("l")}),
newSwitch({name="demo", x=755, y=640, disp=STPval("demo"),code=STPrev("demo")}),
newButton({name="back", x=1140, y=640, w=170,h=80,font=40,code=BACK}),
},
custom_sequence={
newText({name="title", x=520,y=5,font=70,align="R"}),

View File

@@ -211,6 +211,7 @@ do
if S.finesseRate<.5*S.piece then
S.finesseRate=10*S.finesseRate
end
SETTING.skin={1,7,11,3,14,4,9,1,7,1,7,11,3,14,4,9,14,9,11,3,11,3,1,7,4}
FILE.saveData()
FILE.saveSetting()
end

View File

@@ -13,7 +13,7 @@ SETTING={
appLock=false,
lang=1,
skinSet=1,
skin={1,5,8,2,10,3,7,1,5,1,5,8,2,10,3,7,10,7,8,2,8,2,1,5,3},
skin={1,7,11,3,14,4,9,1,7,1,7,11,3,14,4,9,14,9,11,3,11,3,1,7,4},
face={},
--Graphic

View File

@@ -189,7 +189,7 @@ function pasteBoard(str)
end
__=_%32-1--Block id
if __>17 then return end--Illegal blockid
if __>26 then return end--Illegal blockid
_=int(_/32)--Mode id
FIELD[fY][fX]=__

View File

@@ -1579,7 +1579,7 @@ function player.garbageRelease(P)
while true do
local A=P.atkBuffer[n]
if A and A.countdown<=0 and not A.sent then
P:garbageRise(12+A.lv,A.amount,A.pos)
P:garbageRise(19+A.lv,A.amount,A.pos)
P.atkBuffer.sum=P.atkBuffer.sum-A.amount
A.sent,A.time=true,0
P.stat.pend=P.stat.pend+A.amount
@@ -1936,7 +1936,7 @@ end
function player.getNext(P,n)
local E=P.gameEnv
ins(P.next,{bk=blocks[n][E.face[n]],id=n,color=E.bone and 12 or E.skin[n],name=n})
ins(P.next,{bk=blocks[n][E.face[n]],id=n,color=E.bone and 17 or E.skin[n],name=n})
end
function player.popNext(P)--Pop next queue to hand
P.holded=false
@@ -2016,14 +2016,14 @@ do--player.drop(P)--Place piece
local b2bATK={3,5,8,12,18}
local clearSCR={80,200,400}
local spinSCR={--[blockName][row]
{200,750,1300},--Z
{200,750,1300},--S
{220,700,1300},--L
{220,700,1300},--J
{250,800,1400},--T
{260,900,1700,4000},--O
{300,1200,1700,4000},--I
{220,800,2000,3000,8000},--Else
{200,750,1300,2000},--Z
{200,750,1300,2000},--S
{220,700,1300,2000},--L
{220,700,1300,2000},--J
{250,800,1400,2000},--T
{260,900,1700,4000,6000},--O
{300,1200,1700,4000,6000},--I
{220,800,2000,3000,8000,26000},--Else
}
--B2BMUL:1.2/2.0
--Techrash:1K;MUL:1.3/1.8
@@ -2100,7 +2100,21 @@ do--player.drop(P)--Place piece
--Clear list of cleared-rows
if P.clearedRow[1]then P.clearedRow={}end
--Check rows to be cleared
--Check bomb garbage
if CY>1 then
local L=P.field[CY-1]
local l=CB.bk[1]
for i=1,P.c do
if l[i]and L[CX+i-1]==19 then
cc=1--cc=cc+1
P.clearingRow[1]=CY-1--P.clearingRow[cc]=CY-1
P.clearedRow[1]=CY-1--P.clearedRow[cc]=CY-1
break
end
end
end
--Check rows filled
for i=0,P.r-1 do
local h=CY+i
if P:ckfull(h)then

View File

@@ -1444,7 +1444,7 @@ do--setting_game
function Pnt.setting_game()
gc.setColor(1,1,1)
gc.draw(blockSkin[int(Timer()*2)%11+1],590,540,Timer()%6.28319,2,nil,15,15)
gc.draw(blockSkin[int(Timer()*2)%16+1],590,540,Timer()%6.28319,2,nil,15,15)
end
end
do--setting_video
@@ -1721,8 +1721,9 @@ do--setting_skin
end end
gc.circle("fill",-10+140*N,340,sin(Timer()*10)+5)
end
for i=1,6 do
gc.draw(blockSkin[11+i],570+60*i,610,nil,2)
gc.draw(blockSkin[17],930,610,nil,2)
for i=1,5 do
gc.draw(blockSkin[19+i],570+60*i,610,nil,2)
end
end
end
@@ -2201,7 +2202,7 @@ do--custom_field
elseif key=="j"then
sceneTemp.demo=not sceneTemp.demo
elseif key=="k"then
ins(FIELD,1,{14,14,14,14,14,14,14,14,14,14})
ins(FIELD,1,{21,21,21,21,21,21,21,21,21,21})
FIELD[21]=nil
SFX.play("blip")
elseif key=="l"then
@@ -2278,27 +2279,31 @@ do--custom_field
if pen>0 then
gc.setLineWidth(13)
gc.setColor(SKIN.libColor[pen])
gc.rectangle("line",565,460,70,70)
gc.rectangle("line",565,500,70,70)
elseif pen==-1 then
gc.setLineWidth(5)
gc.setColor(.9,.9,.9)
gc.line(575,470,625,520)
gc.line(575,520,625,470)
gc.line(575,510,625,560)
gc.line(575,560,625,510)
end
--Confirm reset
if S.sure>0 then
gc.setColor(1,1,1,S.sure*.02)
gc.draw(drawableText.question,1180,290)
gc.draw(drawableText.question,1180,340)
end
--Block name
setFont(40)
setFont(55)
gc.setColor(1,1,1)
local _
for i=1,7 do
_=SETTING.skin[i]
gc.setColor(SKIN.libColor[_])
mStr(text.block[i],500+65*_,115)
if _<=8 then
mStr(text.block[i],500+80*_,90)
else
mStr(text.block[i],500+80*(_-8),170)
end
end
end
end

View File

@@ -33,18 +33,25 @@ local SKIN={}
SKIN.lib={}
SKIN.libMini={}
SKIN.libColor={
color.red,
color.orange,
color.yellow,
color.grass,
color.green,
color.water,
color.cyan,
color.blue,
color.purple,
color.magenta,
color.pink,
{color.rainbow( 1.471)},
{color.rainbow( 1.078)},
{color.rainbow( 0.685)},
{color.rainbow( 0.293)},
{color.rainbow(-0.100)},
{color.rainbow(-0.493)},
{color.rainbow(-0.885)},
{color.rainbow(-1.278)},
{color.rainbow(-1.671)},
{color.rainbow(-2.063)},
{color.rainbow(-2.456)},
{color.rainbow(-2.849)},
{color.rainbow(-3.242)},
{color.rainbow(-3.634)},
{color.rainbow(-4.027)},
{color.rainbow(-4.412)},
color.dGrey,
color.black,
color.lYellow,
color.grey,
color.lGrey,
color.dPurple,
@@ -59,7 +66,7 @@ function SKIN.loadOne(_)
gc.origin()
gc.setDefaultFilter("nearest","nearest")
gc.setColor(1,1,1)
SKIN.lib[_],SKIN.libMini[_]={},{}--30/6
SKIN.lib[_],SKIN.libMini[_]={},{}
local N="/image/skin/"..list[_]..".png"
local I
if love.filesystem.getInfo(N)then
@@ -68,19 +75,14 @@ function SKIN.loadOne(_)
I=gc.newImage("/image/skin/"..list[1]..".png")
LOG.print("No skin file: "..list[_],"warn")
end
for j=1,11 do
SKIN.lib[_][j]=C(30,30)
gc.draw(I,30-30*j,0)
for i=0,2 do
for j=1,8 do
SKIN.lib[_][8*i+j]=C(30,30)
gc.draw(I,30-30*j,-30*i)
SKIN.libMini[_][j]=C(6,6)
gc.draw(I,6-6*j,0,nil,.2)
end
for j=1,6 do
SKIN.lib[_][11+j]=C(30,30)
gc.draw(I,30-30*j,-30)
SKIN.libMini[_][11+j]=C(6,6)
gc.draw(I,6-6*j,-6,nil,.2)
SKIN.libMini[_][j]=C(6,6)
gc.draw(I,6-6*j,-6*i,nil,.2)
end
end
I:release()
gc.setCanvas()
@@ -107,11 +109,11 @@ function SKIN.nextSet()--Next skin_set
end
function SKIN.prev(i)--Prev skin for [i]
local _=SETTING.skin
_[i]=(_[i]-2)%11+1
_[i]=(_[i]-2)%16+1
end
function SKIN.next(i)--Next skin for [i]
local _=SETTING.skin
_[i]=_[i]%11+1
_[i]=_[i]%16+1
end
function SKIN.rotate(i)--Change direction of [i]
SETTING.face[i]=(SETTING.face[i]+1)%4