작성자 | Cube219 | ||
---|---|---|---|
작성일 | 2011-04-06 19:15:30 KST | 조회 | 7,515 |
첨부 |
|
||
제목 |
.SC2Layout으로 사용지 지정 UI만들기(1.3패치 이후)
|
1.3패치 이후로 UI\Layout\UI로 대체하는 방법이 막혔는데요.
(되는것으로 확인됨. 하지만 블리자드에서는 권장하지 않음)
그래서 데이터->게임 UI 데이터 -> 사용자 지정 배치 파일 을 이용해서 UI를 적용해야 합니다.
먼저 CustomUI.SC2Layout과 UI.zip파일을 다운받으세요.
우선은 미니맵을 옮겨보도록 하겠습니다.
일단은 미니맵 프레임의 위치를 설정해야겠지요? 그러기 위해서는 일단 GameUI에서 미니맵의 위치가 어디에 있는지 알아야 하는데요. 제가 중요하다고 생각하는 프레임의 경로를 정리해보았습니다.
Game UI
UI Container
ConsolePanel (미니맵, 정보창, 명령창 배경(초상화 포함))
ConsoleUIContainer
MinimapPanel (미니맵)
CommandPanel (명령 버튼)
InfoPanel (유닛 정보창)
ControlGroupPanel (??모름)
MissionTimePanel (게임 진행 시간)
PylonButton (??차원관문 버튼일듯)
InventoryPanel (가방)
FullscreenUpperContainer
MenuBar (메뉴바)
HeroPanel (영웅 버튼)
그리고 나서 CustomUI.SC2Layout파일을 열어서 Desc 사이에 이걸 넣어줍니다.
<Frame type="MinimapPanel" name="GameUI/UIContainer/ConsoleUIContainer/MinimapPanel" file="GameUI">
</Frame>
여기서 중요한 것은 name부분인데요. name부분에는 위에 써놓은 경로를 넣어주면 됩니다.
(예를 들어 미니맵은 위에있는것으로 하면 되고 명령창은 name에다가
GameUI/UIContainer/ConsoleUIContainer/CommandPanel
을 넣어주면 됩니다.)
그러면 이제 위치를 변경해주면 되는데 위치에 대해서는 전에 쓴 강좌가 있으므로 생략하겠습니다.
http://www.playxp.com/sc2/maps/tip/view.php?article_id=2554919&search=1&search_pos=&q=
미니맵을 오른쪽으로 옮기려고 하니 이것을 삽입하면 되겠지요?
<Anchor side="Right" relative="$parent" pos="Max" offset="0"/>
하지만 실제로 테스트를 해보면 이상하게 나옵니다. 그 이유는 기존 UI 파일에서 덮어쓰는 것이기 때문에 기존꺼하고 새로 넣은거하고 같이 적용이 되어서 인데요. 실제로는 이렇게 인식이 됩니다.
...
<Frame type="MinimapPanel" name="MinimapPanel" template="MinimapPanel/MinimapPanelTemplate">
<Anchor side="Left" relative="$parent" pos="Min" offset="0"/>
<Anchor side="Bottom" relative="$parent" pos="Max" offset="0"/>
<Anchor side="Right" relative="$parent" pos="Max" offset="0"/>
<Width val="395"/>
<Height val="327"/>
</Frame>
...
(굵은 글씨가 새로 넣은거)
그렇기 때문에 Left쪽을 지워야 하는데요. 꼼수(?)가 있습니다.
relative쪽을 $this로 바꾸고 offset을 0으로 바꾸면 됩니다.
그러므로 미니맵을 오른쪽으로 옮기려면 다음과 같은 코드를 삽입하면 됩니다.
<Anchor side="Right" relative="$parent" pos="Max" offset="0"/>
<Anchor side="Left" relative="$this" pos="Min" offset="0"/>
그리고 MinimapPanel.SC2Layout파일을 여시면 다음과 같이 있는데,
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Desc>
...
<Frame type="MinimapPanel" name="MinimapPanelTemplate">
....
</Frame>
</Desc>
굵은 글씨로 써진 부분 안에있는 프레임(핑버튼, 배경 표시 버튼 등..)을 수정하고 싶으면 아까 위치 수정한 곳 바로 밑에다가 넣어주면 됩니다.(예를 들어 핑버튼을 수정하고 싶으면
...
<Frame type="MinimapPanel" name="GameUI/UIContainer/ConsoleUIContainer/MinimapPanel" file="GameUI">
<Frame type="Button" name="PingButton">
....
</Frame>
</Frame>
...
이렇게 해주면 됩니다.)
적용법
이렇게 해서 만들 UI파일을 적용시킬 맵 파일에다가 가져옵니다.
그리고 데이터 - > 게임 UI 데이터 -> 사용자 지정 배치 파일
에서 아까 가져온 UI파일을 넣어줍니다.
아래는 예제 맵 실행화면입니다.(예제에서는 배경을 지우기 위해 ConsolePanel을 수정했습니다.)
|
||
|
|
||
|
|
||
|
|
||
|
© PlayXP Inc. All Rights Reserved.