다른 사람의 루아 코드를 유지 관리하고 있으며, 루아는 선호하는 언어가 아닙니다.테이블 값에 대한 산술 연산을 시도했습니다.
는다음 코드
if !(v.LastHealth == v:Health()) then
local newColor = {}
newColor.r = v.orgColor.r - (v.orgColor.r - curColor.r) --This is the line the error occurs on
newColor.g = v.orgColor.g - (v.orgColor.g * clrPercent)
newColor.b = v.orgColor.b - (v.orgColor.b * clrPercent)
newColor.a = v.orgColor.a - (v.orgColor.a - curColor.a)
v:SetColor(newColor)
오류를
attempt to perform arithmetic on field 'r' (a table value)
orgColor을 생산 ... 이것은 아마도 완전한 멍청한 놈 질문,하지만 난 대답 Google 또는 SO를 찾을 수 없습니다 (어쩌면, 전적으로 특정 - v.orgColor 구식 일 수 있습니다) 및 curColor 항목을 테이블에 있습니다 (어쩌면 생각합니다 .bla.x bla [x] Lua 오른쪽 같습니까?) r, g, b 및 a. 분명히 나는 테이블에서 오는 것들에 수학을 할 수 없다? 로컬 변수에이 모든 값을 저장해야합니까? 그건 맞지 않아.
편집 :
인쇄 v.orgColor는 내가이 존재하고 테이블을 의미 가정 table: 0x40390080
을 제공합니다. 이상한 점은 v.orgColor.r이 다른 테이블을 제공한다는 것입니다! 그게 원인 같아.
'v.orgColor' 및'curColor' 테이블을 확인하고 실제로'r' 키가 있는지 확인하십시오. 또한 no,'bla.x'와'bla [x]'는 같은 것은 아니지만'bla.x'와'bla.x''가 있습니다. –
@ColonelThirtyTwo 그게 내가 제일 먼저 한 일 이었어? 안그래? 질문을 결과로 업데이트했습니다. – Schilcote