ZUI 소개
GMS에서 UI를 구현하는 extension ( Button, CheckBox , Slider, Label )Free
깔끔한데 설명이 없어서 사용하기가 어렵습니다.
https://marketplace.yoyogames.com/assets/649/zui-engine
GMS2 에서 오류 발생 처리
test_callback_slider() 함수에서 오류발생함발생 사유, argument0을 사용안해서 발생하는 현상, argument0 = argument0 부분 추가하여 오류 발생 하지 않도록 함.
argument0 = argument0
with (target) {
__scalex = argument1 / 100;
__scaley = argument1 / 100;
}
구성
script+object로 구성되며, 예제 코드로 제공되는 형태의 코드를 어디에서나 한번만 호출 하면 됩니다. 일반적으로 한번 호출이 필요하기 때문에 아래의 코드를 임의의 object의 create에 넣고, room에 object를 생성시키면 됩니다.
[Example Code]
with (zui_main()) {
with (zui_create(zui_get_width() * 0.5, zui_get_height() * 0.5, objUIWindow, -1)) {
zui_set_size(400, 198);
with (zui_create(0, 0, objUIWindowCaption)) {
caption = "Window";
draggable = 1;
}
with (zui_create(12, 38, objUIButton)) {
zui_set_anchor(0, 0);
zui_set_size(120, 32);
caption = "Button 1";
callback = test_callback_button;
}
with (zui_create(140, 38, objUIButton)) {
zui_set_anchor(0, 0);
zui_set_size(120, 32);
caption = "Button 2";
callback = test_callback_button;
}
with (zui_create(268, 38, objUIButton)) {
zui_set_anchor(0, 0);
zui_set_size(120, 32);
caption = "Button 3";
callback = test_callback_button;
}
with (zui_create(36, 170, objUICheckbox)) {
zui_set_anchor(0, 0);
value = 1;
}
with (zui_create(60, 170, objUISlider)) {
zui_set_anchor(0, 0);
zui_set_width(128);
minimum = 4;
maximum = 8;
value = 6;
}
}
}
예제 코드 분석
zui_main() 호출은 objZUIMain 을 생성합니다. 그리고 그 안에서 objUIWindow 를 생성하고, objUIWindowCaption 를 생성하면, 하나의 윈도우가 됩니다.그리고 내부 안에는 어떤 컨트롤을 넣을지 결정하면 됩니다.
버튼이 눌리면 callback = test_callback_button; 이런식으로 스크립트 합수를 연결합니다. 인자로는 호출하는 id 값이 넘어 옵니다.
단점
UI가 많지 않습니다. List도 없습니다. 어디에 사용할 수 있을지 고민이 되지만, 이것을 참고하여 다른 ui형태를 만들 수 있습니다.Window Close가 없습니다. 그래서, 필요시 zui_destroy 를 호출하면 모든 윈도우가 닫힙니다.
댓글 없음:
댓글 쓰기