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

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

@@ -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