unity lua 핫 업데이트는 lua의 테이블을 이용하여 c#의 new 대상을 실현합니다

루아로 논리를 쓰는 것은 모두 과정을 향한 것이었는데 최근에 대상을 향한 것이 신의 도움으로 이루어졌다. 원리는 간단하다. 루아의 테이블을 사용하면 루아의 테이블 기능이 매우 강하다.
기능 수요는 이렇다. 예를 들어 나는 여러 개의 같은 대상이 같은 스크립트를 공용하고 서로 다른 매개 변수에 따라 이 대상들은 공통된 논리를 실현하지만 매개 변수가 다르면 당연히 효과가 다르고 약간 돌아가지만 이것이 바로 간단하게 대상을 향한 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 대신군 가입을 환영합니다.

좋은 웹페이지 즐겨찾기