unity lua 핫 업데이트는 lua의 테이블을 이용하여 c#의 new 대상을 실현합니다
1123 단어 오리지널 unityc# 프로그래밍
기능 수요는 이렇다. 예를 들어 나는 여러 개의 같은 대상이 같은 스크립트를 공용하고 서로 다른 매개 변수에 따라 이 대상들은 공통된 논리를 실현하지만 매개 변수가 다르면 당연히 효과가 다르고 약간 돌아가지만 이것이 바로 간단하게 대상을 향한 new이다.
우선 너의 루아 프레임워크를 준비해라. 나는 루아다. 비록 다르지만 아래의 코드를 보면 너희들이 실현할 수 있을 거라고 믿는다.
실행 방법 새 Player.lua 파일
코드는 다음과 같다.
local cjson = require "cjson"
Player = this
function this:New(gameobj,tempPlayerInfo)
local o = {}; -- self, , ,
setmetatable(o, self); -- self Class
self.__index = self
o.gameObject = gameobj;
o.transform = gameobj.transform;
o:Awake();
o:Init();
o:LoadInfo(tempPlayerInfo);
return o; --
end
주 함수 호출 직접
Player:New(this.playerGameObject[position],tempPlayerInfo);
위 코드의 첫 번째 파라미터는player에 전달됩니다.lua의 대상, 두 번째는 대상의 데이터,player.lua에 아래 코드를 추가하면 Update () 를 실현할 수 있습니다function this:Awake()
UpdateBeat:Add(self.Update,self)-- Unity Update
end
그리고 전송된 대상과 데이터에 따라 처리하면 new 실례를 실현할 수 있습니다. 간단하죠...Q군 479853988 대신군 가입을 환영합니다.