修复录像(流)的一帧误差问题,移除玩家keyRec属性
This commit is contained in:
@@ -36,10 +36,8 @@ local function pressKey(P,keyID)
|
||||
P.keyPressing[keyID]=true
|
||||
P.actList[keyID](P)
|
||||
if P.control then
|
||||
if P.keyRec then
|
||||
ins(P.keyTime,1,GAME.frame)
|
||||
P.keyTime[11]=nil
|
||||
end
|
||||
ins(P.keyTime,1,GAME.frame)
|
||||
P.keyTime[11]=nil
|
||||
end
|
||||
P.stat.key=P.stat.key+1
|
||||
end
|
||||
@@ -50,22 +48,20 @@ end
|
||||
local function pressKey_Rec(P,keyID)
|
||||
if P.keyAvailable[keyID]and P.alive then
|
||||
local L=GAME.rep
|
||||
ins(L,GAME.frame+1)
|
||||
ins(L,GAME.frame)
|
||||
ins(L,keyID)
|
||||
P.keyPressing[keyID]=true
|
||||
P.actList[keyID](P)
|
||||
if P.control then
|
||||
if P.keyRec then
|
||||
ins(P.keyTime,1,GAME.frame)
|
||||
P.keyTime[11]=nil
|
||||
end
|
||||
ins(P.keyTime,1,GAME.frame)
|
||||
P.keyTime[11]=nil
|
||||
end
|
||||
P.stat.key=P.stat.key+1
|
||||
end
|
||||
end
|
||||
local function releaseKey_Rec(P,keyID)
|
||||
local L=GAME.rep
|
||||
ins(L,GAME.frame+1)
|
||||
ins(L,GAME.frame)
|
||||
ins(L,32+keyID)
|
||||
P.keyPressing[keyID]=false
|
||||
end
|
||||
@@ -102,7 +98,6 @@ local function newEmptyPlayer(id,mini)
|
||||
P.frameWait=rnd(30,120)
|
||||
P.draw=PLY.draw.small
|
||||
else
|
||||
P.keyRec=true--If calculate keySpeed
|
||||
P.draw=PLY.draw.norm
|
||||
end
|
||||
P.randGen=love.math.newRandomGenerator(GAME.seed)
|
||||
|
||||
@@ -118,26 +118,25 @@ function update.alive(P,dt)
|
||||
S.time=S.time+dt
|
||||
S.frame=S.frame+1
|
||||
end
|
||||
if P.keyRec then--Update speeds
|
||||
local frame=GAME.frame
|
||||
|
||||
--Calculate key speed
|
||||
do
|
||||
local v=0
|
||||
for i=2,10 do v=v+i*(i-1)*7.2/(frame-P.keyTime[i]+1)end
|
||||
for i=2,10 do v=v+i*(i-1)*7.2/(GAME.frame-P.keyTime[i]+1)end
|
||||
P.keySpeed=P.keySpeed*.99+v*.1
|
||||
|
||||
v=0
|
||||
for i=2,10 do v=v+i*(i-1)*7.2/(frame-P.dropTime[i])end
|
||||
for i=2,10 do v=v+i*(i-1)*7.2/(GAME.frame-P.dropTime[i])end
|
||||
P.dropSpeed=P.dropSpeed*.99+v*.1
|
||||
end
|
||||
|
||||
if GAME.modeEnv.royaleMode then
|
||||
v=P.swappingAtkMode
|
||||
if P.keyPressing[9]then
|
||||
P.swappingAtkMode=min(v+2,30)
|
||||
else
|
||||
local tar=#P.field>15 and 4 or 8
|
||||
if v~=tar then
|
||||
P.swappingAtkMode=v+(v<tar and 1 or -1)
|
||||
end
|
||||
if GAME.modeEnv.royaleMode then
|
||||
v=P.swappingAtkMode
|
||||
if P.keyPressing[9]then
|
||||
P.swappingAtkMode=min(v+2,30)
|
||||
else
|
||||
local tar=#P.field>15 and 4 or 8
|
||||
if v~=tar then
|
||||
P.swappingAtkMode=v+(v<tar and 1 or -1)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -340,15 +339,16 @@ function update.alive(P,dt)
|
||||
updateTasks(P)
|
||||
end
|
||||
function update.dead(P,dt)
|
||||
if P.keyRec then
|
||||
local S=P.stat
|
||||
P.keySpeed=P.keySpeed*.96+S.key/S.frame*144
|
||||
P.dropSpeed=P.dropSpeed*.96+S.piece/S.frame*144
|
||||
--Final average speeds
|
||||
if GAME.modeEnv.royaleMode then
|
||||
P.swappingAtkMode=min(P.swappingAtkMode+2,30)
|
||||
end
|
||||
local S=P.stat
|
||||
|
||||
--Final average key speed
|
||||
P.keySpeed=P.keySpeed*.96+S.key/S.frame*144
|
||||
P.dropSpeed=P.dropSpeed*.96+S.piece/S.frame*144
|
||||
|
||||
if GAME.modeEnv.royaleMode then
|
||||
P.swappingAtkMode=min(P.swappingAtkMode+2,30)
|
||||
end
|
||||
|
||||
if P.falling>=0 then
|
||||
P.falling=P.falling-1
|
||||
if P.falling<0 then
|
||||
|
||||
Reference in New Issue
Block a user