클릭 가능한 DOM 아이콘 존재 여부 확인하기
이 문서는 특정 인덱스를 가진 클릭 가능한 DOM 아이콘이 생성되었는지 여부를 확인하는 함수에 대해 설명합니다. 이 함수는 GameMaker에서 사용되며, 사용하기 전에 반드시 초기화가 되어 있어야 합니다. 그렇지 않으면 오류가 발생하여 GameMaker가 종료될 수 있습니다.
함수 설명
- 함수명:
clickable_exists
- 구문:
clickable_exists(index);
인수 설명
인수 | 유형 | 설명 |
---|---|---|
index | 클릭 가능한 ID | 확인할 클릭 가능한 아이콘의 인덱스 |
반환값
- Boolean: 클릭 가능한 아이콘이 존재하면
true
, 존재하지 않으면false
를 반환합니다.
예제 코드
다음 코드는 변수 "home_but"가 이미 존재하는지 확인하고, 존재하지 않을 경우 클릭 가능한 DOM 아이콘을 생성합니다.
if (!clickable_exists(home_but)) {
home_but = clickable_add(32, 32, sprite_get_tpe(spr_MS_Home, 0), "http://macsweeney_games.com", "_blank", "width=700, height=500, menubar=0, toolbar=0, scrollbars=0");
}
위 코드에서 clickable_exists
함수는 "home_but" 변수가 존재하는지 확인합니다. 만약 존재하지 않으면, (32, 32) 위치에 클릭 가능한 DOM 아이콘을 생성합니다. 이 아이콘은 "spr_MS_Home"이라는 스프라이트를 사용하며, 클릭 시 지정된 URL로 새로운 창을 엽니다.
활용 예제
- 버튼 존재 여부 확인 및 생성
gml if (!clickable_exists(start_button)) { start_button = clickable_add(100, 100, sprite_get_tpe(spr_Start, 0), "http://example.com/start", "_blank", "width=800, height=600"); }
- 여러 클릭 가능한 아이콘 생성 ```gml var icons = [home_but, settings_but, exit_but]; var positions = [[32, 32], [100, 32], [200, 32]]; var urls = ["http://macsweeney_games.com", "http://example.com/settings", "http://example.com/exit"];
for (var i = 0; i < array_length(icons); i++) { if (!clickable_exists(icons[i])) { icons[i] = clickable_add(positions[i][0], positions[i][1], sprite_get_tpe(spr_Icon, 0), urls[i], "_blank", "width=700, height=500"); } } ```
- 아이콘 상태 확인 후 동작 수행
gml if (clickable_exists(home_but)) { // 아이콘이 존재할 때 수행할 동작 show_message("홈 버튼이 존재합니다."); } else { // 아이콘이 존재하지 않을 때 수행할 동작 show_message("홈 버튼이 존재하지 않습니다."); }
이와 같은 방식으로 clickable_exists
함수를 활용하여 클릭 가능한 DOM 아이콘의 존재 여부를 확인하고, 필요한 경우 아이콘을 생성하거나 다른 동작을 수행할 수 있습니다.