PixelGUIRendererComponent

픽셀 값을 지정해 원하는 스프라이트를 UI에 그릴 수 있는 기능을 제공합니다. 크기는 16x16 이하로 사용하는 것을 권장합니다.

# Properties

[{"index":"int32 Height (ReadOnly)","0":"스프라이트의 세로 길이입니다."}]

[{"index":"boolean IgnoreMapLayerCheck","0":"SortingLayer에 Map Layer 이름을 지정했을 때 자동 치환을 수행하지 않습니다."}]

[{"index":"int32 OrderInLayer","0":"같은 Layer 내의 우선순위를 결정합니다. 수가 클수록 앞에 보입니다."}]

[{"index":"boolean OverrideSorting (ReadOnly)","0":"SortingLayer 및 OrderInLayer 값을 임의로 설정할지 여부를 결정합니다."}]

[{"index":"boolean RaycastTarget","0":"true로 설정할 경우 경우 화면 터치 또는 마우스 클릭 대상이 됩니다. 뒤에 가려진 UI는 입력을 받지 못합니다."}]

[{"index":"string SortingLayer","0":"2개 이상의 엔티티가 겹쳤을 때 Sorting Layer에 따라 보이는 우선순위가 결정됩니다."}]

[{"index":"int32 Width (ReadOnly)","0":"스프라이트의 가로 길이입니다."}]

##### inherited from Component:

[{"index":"boolean Enable (Sync)","0":"컴포넌트 활성화 여부를 확인합니다."}]

[{"index":"boolean EnableInHierarchy (ReadOnly) (HideFromInspector)","0":"계층 구조상에서 이 컴포넌트가 Enable 상태인지를 반환합니다. Enable이 true일지라도 엔티티의 Enable이 false라면 false를 반환합니다."}]

[{"index":"Entity Entity (ReadOnly)","0":"이 컴포넌트를 소유한 엔티티입니다."}]

# Methods

[{"index":"void FillColor(Color color) (ClientOnly)","0":"스프라이트 전체의 색을 변경합니다."}]

[{"index":"Color GetPixel(int32 x, int32 y) (ClientOnly)","0":"원하는 위치의 픽셀 값을 반환합니다. 좌측 하단이 (1, 1)입니다."}]

[{"index":"table GetPixels() (ClientOnly)","0":"현재 스프라이트의 모든 픽셀 값을 반환합니다. 행 우선입니다.(Row-major)"}]

[{"index":"table GetPixelsAsRGBAInt() (ClientOnly)","0":"정수로 나타낸 RGBA로 모든 픽셀 값을 반환합니다. 행 우선입니다.(Row-major)"}]

[{"index":"void ResetWithColor(int32 width, int32 height, Color color) (ClientOnly)","0":"스프라이트를 입력한 크기에 맞게 재설정하고, color 색으로 채웁니다."}]

[{"index":"void ResetWithColors(int32 width, int32 height, table pixels) (ClientOnly)","0":"스프라이트를 입력한 크기에 맞게 재설정하고, 입력한 테이블의 값들로 픽셀들의 값을 설정합니다. 테이블 요소의 개수는 반드시 전체 픽셀 개수(Width*Height)와 같아야 합니다. 행 우선입니다.(Row-major)"}]

[{"index":"void SetAlpha(float alpha) (ClientOnly)","0":"스프라이트 전체의 알파 값을 변경합니다."}]

[{"index":"void SetPixel(int32 x, int32 y, Color color) (ClientOnly)","0":"입력한 위치의 픽셀 값을 설정합니다. 좌측 하단이 (1, 1)입니다."}]

[{"index":"void SetPixels(table pixels) (ClientOnly)","0":"입력한 테이블의 값들로 픽셀들의 값을 설정합니다. 테이블 요소의 개수는 반드시 전체 픽셀 개수(Width*Height)와 같아야 하고 행 우선입니다.(Row-major)"}]

[{"index":"void SetPixelsByRGBAInt(table pixels) (ClientOnly)","0":"정수로 나타낸 RGBA로 모든 픽셀 값을 설정합니다. 테이블의 길이는 반드시 전체 픽셀 개수(Width*Height)와 같아야 하고 행 우선입니다.(Row-major)"}]

##### inherited from Component:

[{"index":"boolean IsClient()","0":"현재 실행 환경이 클라이언트인지 아닌지의 여부를 반환합니다."}]

[{"index":"boolean IsServer()","0":"현재 실행 환경이 서버인지 아닌지의 여부를 반환합니다."}]

# Events

[{"index":"OrderInLayerChangedEvent","0":"Component의 OrderInLayer가 변경되었을 때 발생하는 이벤트입니다."}]

[{"index":"SortingLayerChangedEvent","0":"컴포넌트의 SortingLayer가 변경되었을 때 발생하는 이벤트입니다."}]

# Examples

F 키를 누르면 픽셀이 무작위로 깜빡이는 예제입니다.
    
    
    @Component
    script PuzzleSequenceFlasher extends Component
        property table Puzzle = {}
        property any PixelGUIRendererComp = nil
        property table PuzzlePos = {}
    
        @ExecSpace("ClientOnly")
        method void OnBeginPlay()
        self.PixelGUIRendererComp = self.Entity.PixelGUIRendererComponent
        self.PixelGUIRendererComp:FillColor(Color.black)
    
        for i=1, 9 do
        	local xPos = _UtilLogic:RandomIntegerRange(1, self.PixelGUIRendererComp.Width)
        	local yPos = _UtilLogic:RandomIntegerRange(1, self.PixelGUIRendererComp.Height)
        	self.Puzzles[i] = Vector2(xPos, yPos)
        end
        end
    
        @ExecSpace("ClientOnly")
        method void StartPuzzle(number index)
        if index > #self.Puzzles then 
        	return 
        end
    
        self.PixelGUIRendererComp:SetPixel(self.Puzzles[index].x, self.Puzzles[index].y, Color.yellow)
        wait(0.35)
        self.PixelGUIRendererComp:SetPixel(self.Puzzles[index].x, self.Puzzles[index].y, Color.black)
        wait(0.1)
        self:StartPuzzle(index + 1)
        end
    
        @EventSender("Service", "InputService")
        handler HandleKeyDownEvent(KeyDownEvent event)
        --------------- Native Event Sender Info ----------------
        -- Sender: InputService
        -- Space: Client
        ---------------------------------------------------------
    
        -- Parameters
        local key = event.key
        ---------------------------------------------------------
        if key == KeyboardKey.F then
        	self:StartPuzzle(1)
        end
        end
    end
    

# SeeAlso

  * UtilLogic