게임에 내가만든 UI를 집어넣기

홈 > 안드로이드 > 안드로이드
안드로이드

게임에 내가만든 UI를 집어넣기

S 코드몽키 69 15634 3

오늘은 게임에 내가 직접만든 UI를 삽입해보려합니다

게임을 내맘대로 애무 주무르는것이죠

크흠!

먼저 Unity3D 엔진을 설치해줍니다

  

무료로 풀려있으니 그냥 아무버전이나 다운받으면 됩니다

자. 설치가 끝났으면 빈 프로젝트를 생성해 스크립트를 하나 만들어볼까요


using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class monkeyMenu : MonoBehaviour
{
    private void Start()
    {
        OnGUI(); //시작시 GUI를 화면에 호출한다
    }
    public static bool showmenu;
    public static string string1;
    public static bool ShowHide = false;
    public void OnGUI() // GUI메소드
    {       
        if (GUI.Button(new Rect(100, 20, 140, 40), "보이기/숨기기"))
        {
            ShowHide = !ShowHide;
        }
        if (ShowHide)
        {
            //1번째버튼
            GUI.Box(new Rect(100, 70, 250, 130), "코드몽키치트");
            if (GUI.Button(new Rect(105, 100, 240f, 30f), string1))
            {
                showmenu = !showmenu;
            }
            if (showmenu)
            {
                string1 = "구글에서 <color=green>코드몽키버그판</color> 검색";
                showmenu = false;
            }
            else
            {
                string1 = "네이버에서 <color=red>코드몽키버그판</color> 검색";
                showmenu = true;
            }
            //2번째버튼
            if (GUI.Button(new Rect(105, 140, 240f, 30f), string1))
            {
                showmenu = !showmenu;
            }
            if (showmenu)
            {
                string1 = "구글에서 <color=green>코드몽키버그판</color> 검색";
                showmenu = false;
            }
            else
            {
                string1 = "네이버에서 <color=red>코드몽키버그판</color> 검색";
                showmenu = true;
            }

            GUI.Box(new Rect(100, 200, 250, 30), "주변친구들에게 많은 홍보 부탁드립니다"); // 크흠!
            GUI.Box(new Rect(100, 230, 250, 30), "블로그 광고는 하루 한번만 눌러주세요"); //뿌잉뿌잉
            if(GUI.Button(new Rect(100, 260, 250, 60), "Https://www.monkeycheat.com"))
            {
                Application.OpenURL("Https://www.monkeycheat.com"); //요걸 누르면 블로그로 이동하는 링크를 걸자!
} } } }

요로케 살짝 키보드를 쳐주고, 유니티 에디터에 어떻게 출력되는지 한번 볼까요?


우왕 굳ㅋ

이제 완성된 UI를 게임에 적용해볼까요?

스크립트 적용은 게임이 실행되고 부서지지않는 오브젝트를 찾아 해당 클래스의 Start() 메소드에 넣어주시면 됩니다
해당 UI 기능을 응용한다면 게임내 실시간 ON/OFF 치트기능을 구현할수 있겠죠?
UI 에서 치트기능을 토글로 구현해서
치트 ON = 데미지 x 999 배
치트 OFF = 일반 데미지
이런식으로..해킹 내용은 공격자의 마음대로~♬

69 Comments
5 파파엄마 2019.11.30 09:43  
오호 해당 클래스의 Start()를 넣으라는 부분을 좀 더 자세하게 설명해주시면 안될까요?
S 코드몽키 2019.11.30 18:23  
유니티에서는 스크립트 생성시 기본적으로 제공되는 함수가 두개 있습니다

Start() 와 Update() 인데요

Start() 는 그 클래스가 생성되고 첫 프레임이 시작될때 딱 한번 호출되는 메소드,
Update()는  매 프레임마다 계~~속 호출되는 매소드입니다 그러니 1초에 수십번 호출되겠죠

각 클래스마다 개발자가 의도적으로 저 메소드 들을 지우지않는한 저 두 메소드는 항상 붙어있습니다
즉 게임이 실행 되고나서 유저가 해당 앱을 종료하기전까지 부서지지않는 오브젝트

예를들자면 BGM 을 담당하는 사운드매니저격 클래스 등이 있겠네요
모든 게임에 소리를 관장하는 클래스는 씬이 이동한다하더라도 부서지지않도록 구현해놨을것이고,-dontdestroyonload 혹은 싱글톤등으로 구현을..(씬이 바뀌어도- 화면전환이 이루어져도 - BGM이나 각종 효과음의 정보가 담긴 컴포넌트가 날아가면 안되니,)  게임이 꺼지기 전까지 그 BGM등의 소리를 구현하기위한 컴포넌트를 달아둔 클래스는 게임을 종료시키기 전까지 사라지지않는 클래스니 이곳의 Start() 안에 저런 UI 코드를 박아둔다면 게임이 꺼지기 전까지 항상 UI가 따라다니겠죠 아무리 화면을 전환해도 사라지지않구요^^

위의 사운드클래스는 어디까지나 예시로 든것뿐이고 게임마다 게임실행직후 -> 게임종료까지 부서지지않는 오브젝트를 어떤클래스로 구현해놨는지는 개발자 마음이니 게임마다 다를수있습니다

Congratulation! You win the 16 축하드립니다! 당첨되셨어요~!

2 clanz 2020.01.23 09:04  
좋은 정보 감사합니다. 제가 손 볼려고 하는 게임에 platinmod? 이친구들 앱만 유일하게 온 오프 스위치 기능을 구현해놨더군요
그 방법이 도대체 뭘까 했는데 자세하게 설명해 주셔서 감사합니다. 앞으로 이리저리 만질게 많이 생겨서 좋네요 ㅎㅎ
2 레모늬 2020.02.28 09:44  
온오프 스위치는 bool값하나 선언해두고 누를때마다 check != check 해서 쓰시면 되요
8 아수라발발이 2019.11.30 19:29  
오우 코몽 센세!!!! 요거 배울때 신세계였느데
1 eng1ne 2019.12.02 14:31  
!!!!!!!!!
4 hekadan 2019.12.03 14:41  
오 감사합니다!!
10 아트어브라이프 2019.12.03 16:11  
팁 감사합니다.
1 Nickel 2019.12.03 20:54  
USB 처럼 지식을 꽂아버리고싶네요 ㅠㅠ
1 또리쓰마 2019.12.03 21:40  
코드몽키님이 여기 계셨었군요
4 신사 2019.12.07 02:04  
오 신기하네요 ㅋㅋㅋ
3 가람 2019.12.08 02:30  
오 예습하고 갑니다!
1 초이스 2019.12.08 11:57  
좋은 정보 감사합니다
1 dkssud12 2019.12.08 20:26  
오 ㅋㅋ 멋집니다
2 기탄 2019.12.08 20:55  
좋은 정보 감사합니다
3 dlsrks12 2019.12.09 19:25  
이런 방법이 있었네요 ㅋㅋ

Congratulation! You win the 14 축하드립니다! 당첨되셨어요~!

2 빙굴 2019.12.12 08:26  
와 감사합니다~
2 username 2019.12.13 03:02  
그것은 정말 대부분의 안드로이드 게임에서 본 UI입니다
2 이영욱 2019.12.15 12:40  
진짜 배울게 ㅇ많네요..
1 alsdyd34 2019.12.16 17:00  
감사합니다
4 김흑화 2019.12.19 14:18  
감사합니다.
1 redevil 2019.12.21 00:51  
감사합니다
2 djucd 2020.01.01 04:49  
감사합니다
2 해키 2020.01.03 17:00  
와 ㄹㅇ 감사해요
2 양갱 2020.01.04 09:44  
와 보기만해도 엄청 어렵네요 ㅠ
1 ab1313 2020.01.06 09:57  
감사합니다
3 나나야 2020.01.07 17:34  
신세계에요
28 사딸라 2020.01.07 17:58  
어후... 유니티는 어려워서
2 영달 2020.01.11 23:16  
재미있겠네요
1 까가가강 2020.01.15 11:23  
감사합니다
1 니애미 2020.01.22 19:49  
감사합니다
1 HACK2R 2020.01.29 09:26  
고맙습니다
2 samanko 2020.02.16 01:38  
감사합니당
3 청륜 2020.02.21 22:11  
이런방법도있네요 감사합니다
1 웹개발자 2020.02.23 14:32  
오우 멋지네여
2 호랑이쿨광 2020.03.09 06:00  
감사합니다.!
2 티모뉘 2020.03.14 18:41  
오우 코드몽키님이 요기 계시네 반갑습니다 ㅎㅎ
1 dhfj 2020.03.19 22:58  
알기쉽네요 감사합니다
1 awdawdf 2020.03.25 19:05  
배울게 많아
2 뽀야 2020.03.29 22:18  
배울게 많네.. 감사해요
7 래바리 2020.04.03 18:32  
감사합니다.
1 shadder2k 2020.04.07 19:02  
thanks a lot.
7 임중호 2020.05.23 22:51  
감사합니다~
1 턴언데드 2020.06.02 10:27  
몽키.....
9 선우아빠 2020.06.02 11:34  
이 글은 글도 자료도 오래된 자료라 의미가 없을 수 있겠지만, 참고 자료에 대한 링크 정도는 있어야 하지 않을까요?
물론 스스로 찾아낸 자료라면 상관없겠지만요.
4 하루앞에서는 2020.06.02 14:48  
참고자료라 하심은 어떤걸 말씀 하시는거에요? 코드몽키님 나름 유명하신분인데... 위에글 직접 작성하신 글일거에요.
링크 들어가시면 유용한 자료 많습니다.
9 선우아빠 2020.06.02 15:09  
현재 문서의 자료는 직접 하신 것이 맞습니다.
저는 단지 참고한 자료가 있다면 간단하게 멘트 정도는 해주셨으면 해서요.

물어보신 참고 자료의 예라면 아래 링크 확인하세요.
https://www.andnixsh.com/search?q=menu&updated-max=2018-01-21T04:09:00-08:00&max-results=20&start=2&by-date=false
2 smalldock 2020.06.07 22:49  
감사합니다
2 ranie 2020.07.19 08:41  
감사합니다
3 존주 2020.07.20 19:11  
모딩에서 보던게 이런거군요!
1 아리송당 2020.07.30 09:43  
감사합니다.
2 yum123 2020.08.03 21:48  
감사합니다
4 쿨록 2020.08.07 19:13  
와 이런것도 가능하군요
9 BeastB 2020.08.29 04:55  
감사합니다~
1 rhdqorrl 2020.10.27 19:08  
진짜 하나하나 실험해보시는거 보니 정말 장인이신가보네요.

Congratulation! You win the 7 축하드립니다! 당첨되셨어요~!

2 독고진 2020.11.19 10:16  
감사합니다
1 어헐헐사용중이다 2020.12.24 15:50  
감사합니다
1 후후훔 2021.03.01 16:05  
우와 이런것도 감사합니다
16 오도도 2021.04.01 18:52  
코몽님 대단하십니다 ^^*
1 지구를지켜라 2021.04.02 09:45  
감사합니다
1 somehowko 2021.04.05 21:48  
좋은정보 감사합니다.
1 루이이잉 2021.05.16 10:28  
감사합니다
1 bbaabb 2021.07.02 10:11  
잘 보고 배우겠습니다.
2 뮤린 2021.09.28 03:32  
기능 토글로 만드는 방법을 알려주는 게시글도 있나요?
1 MagicMent 2021.11.12 11:33  
감사합니다
1 lch330 2022.07.28 20:05  
좋은자료 감자합니다
1 KimGL 2022.10.09 23:22  
자료 감사합니다

Congratulation! You win the 3 축하드립니다! 당첨되셨어요~!

8 Dean 2023.02.07 16:52  
감사합니다.
1 부엉이 2023.03.30 05:02  
감사합니다