본문 바로가기

전체 글325

Unity 유니티 c# 웹 사이트 열기 Application.OpenURL 유니티를 통해 앱이나 게임내에서 외부의 웹 사이트를 열어야 할 경우가 있습니다. 이러한 경우 쉽게 사용할 수 있는 메서드가 있는데 바로 Application.OpenURL입니다. 위 예제처럼 Application.OpenURL 메서드의 매개 변수로 열고자 하는 웹 사이트 주소를 대입해서 호출하게되면 해당 웹사이트가 열리게 됩니다. OpenURL 메서드를 버튼에 등록하여 호출해보도록 합시다. 우선 매개변수로 주소를 받을 수 있도록 메서드를 수정합니다. 유니티 에디터에서 버튼을 하나 만들어 해당 스크립트를 추가해줍니다. 버튼 컴포넌트의 On Click에 버튼 오브젝트를 연결하여 호출할 메서드인 OpenURL 메서드를 등록하고 매개변수의 값인 웹사이트 주소를 입력합니다. 버튼을 눌러서 해당 웹사이트가 잘 열리.. 2024. 4. 2.
c# Unity 유니티 튜토리얼 테트리스 만들기 08. 블럭 삭제 Part02 지난 포스트에서 블럭 프리팹에 이미지들을 포함했습니다. 그럼 이제 블럭의 삭제와 더불어 이미지를 표현해보도록 합시다. 1. 각 블럭별로 이미지들을 조건에 따라 활성화 또는 비활성화하기 위해 부모 클래스를 만들어 각 블럭별로 상속받아 처리할 것 입니다. 우선 부모 클래스 BlockImageComponent 를 만들어줍니다. 상속받아 쓸 스크립트이기에 스크립트 폴더에 바로 생성해줍시다. 2. 아래의 코드를 작성합니다.   3. 각 블럭 별로 상속받아 쓸 파생 클래스를 생성합니다. 0~6까지 스크립트를 각 Blocks 오브젝트에 생성하여 추가합니다.  https://play.google.com/store/apps/details?id=com.goldenegg 골든 에그 - Google Play 앱수박 게임류의 .. 2024. 4. 2.
Unity 유니티 프리팹이란?? Prefab?? Unity에서 프리팹(Prefab)은 미리 구성된 게임 오브젝트의 템플릿입니다. 이를 사용하면 복잡한 구성 요소와 설정을 갖춘 게임 오브젝트를 쉽게 재사용할 수 있으며, 한 번의 설정으로 여러 인스턴스에서 공통적인 변경 사항을 적용할 수 있습니다. 프리팹은 게임 개발 과정을 효율화하고, 대규모 프로젝트에서 일관성을 유지하는 데 큰 도움이 됩니다. 만약 아래의 이미지와 같은 몬스터가 있고 게임 내에서 아래 몬스터를 여러개 복사하여 사용하고 있을 경우  해당 몬스터 모두에게 어떠한 변화가 생겨야 한다면 예를들어 아래 이미지처럼 외형이 변경이 되어야 한다면 일일히 모든 복사한 몬스터를 선택하여 외형을 변경해 주어야 합니다. 하지만 프리팹으로 만들어둔 파일을 활용할 경우. 원본 파일 즉 프리팹 파일이 변경이 된.. 2024. 4. 1.
c# Unity 유니티 튜토리얼 테트리스 만들기 07. 블럭 삭제 Part01 블럭이 한 줄 완성 시의 블럭 삭제 부분을 구현해보도록 합시다. 우선 블럭이 삭제되었을 때의 각 이미지가 필요합니다.   위 파일을 압축풀어서 Resources 폴더에 넣어줍니다. 1. 우선 블럭이 어딘가에 고정이 되었다면 고정된 블럭들을 담아둘 리스트를 하나 작성합니다. BoardComponent에 아래와 같이 작성을 합니다. 2. BoardComponent 리스트에 블럭을 추가하는 함수를 작성합니다. 외부에서 호출할 수 있도록 public으로 작성합니다.  3. 블럭이 고정 시 블럭 배열을 체크하여 가로로 완성된 줄이 있는지 검색하는 함수를 작성합니다.    https://play.google.com/store/apps/details?id=com.goldenegg 골든 에그 - Google Play .. 2024. 4. 1.
생성형 AI가 바꾸고 있는 취업 시장 생성형 인공지능(AI)이 채용 시장에 새로운 바람을 일으키고 있다는 분석이 나왔다. 최근 연구 및 업계 보고서에 따르면, 2024년 기업들이 직원에게 요구하는 기술 세트가 생성형 AI의 등장으로 인해 변화하고 있음을 보여줍니다. 생성형 AI 기술은 단순 반복 업무를 자동화하고, 개인과 기업이 창의적인 작업과 제품 개발에 더 집중할 수 있도록 지원하는 것으로 예상된다. 이러한 변화는 특히 프리랜서 시장에서 두드러지며, Upwork와 같은 플랫폼을 통한 연구 결과, 데이터 과학 및 분석 능력과 함께 생성형 AI 기술의 중요성이 급격히 증가하고 있다는 사실을 발견했다. 이러한 기술을 활용할 수 있는 프리랜서는 복잡한 작업을 수행하고, 더 높은 가치를 창출하며, 결과적으로 더 많은 수익을 얻는 것으로 나타났다... 2024. 3. 28.
c++ 22. 다차원 배열 다차원 배열은 기존의 1차원의 배열 즉 가로 또는 세로(보통은 가로로 표현)로 한 줄로만 구성된 배열이 아닌 가로와 세로를 포함한 그 이상의 배열로 구성된 것을 말합니다. 그림에서 보듯 1차원은 일반 주택을 나열한 것에 비유할 수 있고, 2차원 배열은 아파트에 비유할 수도 있겠네요. 더불어 2차원 이상의 배열도 쓰이긴 하지만 3차원 이상은 잘 쓰이지 않습니다. 가독성이나 구조적으로도 굉장히 복잡해지니깐요. 아래의 그림은 4,6의 크기를 가진 2차원 배열입니다. 4행 6열의 2차원 배열이죠. 각 요소에 접근하기 위한 방법은 1차원 배열과 비슷합니다. 다만 두 개의 인덱스가 필요합니다. 만약 1행 2열에 있는 요소(값)을 가져오고 싶다면 배열명[1,2]로 접근하면 됩니다. 먼저 선언 방법을 보도록 합시다. .. 2024. 3. 28.
c++ 21. 1차원 배열의 크기 찾는 법 배열의 크기는 배열을 선언 시에 작성하게 되는데 이 크기를 알고 있다면 문제가 없지만 이 배열의 크기를 모른다면 배열의 인덱스를 벗어나는 문제가 빈번히 발생할 수 있습니다. 특히 함수로 배열을 전달할 때는 배열의 크기 정보가 전달되지 않으므로, 배열의 크기를 따로 매개변수로 전달하거나 다른 방법을 사용해야 합니다. 배열의 현재 크기를 몰라도 크기를 알 수 있는 방법에 대해 알아보도록 하겠습니다. sizeof(arr)은 배열 arr의 전체 크기를 바이트 단위로 반환합니다. sizeof(arr[0])은 배열의 한 요소의 크기를 바이트 단위로 반환합니다. 따라서 sizeof(arr) / sizeof(arr[0])는 배열의 전체 요소 수, 즉 배열의 크기를 나타냅니다. 위 방법의 경우 지역 내에서 배열의 정보를.. 2024. 3. 28.
비쥬얼 스튜디오 스크립트내 모든 변수 이름 또는 단어 한번에 변경 방법 코드를 작성하다보면 뜻하지 않게 변수의 이름을 변경해야할 경우가 있습니다. 하지만 이미 작성된 스크립트의 양이 많고 변수의 이름이 빈번이 사용이 되었다면 일일이 수정하기란 여간 번거로운 일이 아닙니다. 그래서 비쥬얼 스튜디오엔 이러한 단어를 한번에 다른 단어로 대체할 수 있는 기능을 제공하고 있습니다. num이라는 변수를 다른 이름으로 대체해야할 경우 단축키 ctrl+f를 누릅니다. 창 오른쪽 위에 검색창이 뜹니다. 그 후 찾고자 하는 단어를 입력하시고 왼쪽의 화살표를 눌러주세요. 바꾸기 창에 num 단어를 바꾸고자 하는 단어로 입력합니다. 그 후 현재문서라고 써있는 부분을 클릭하면 여러 옵션들이 있습니다. 프로젝트내의 모든 변수를 다 바꾸려면 현재 프로젝트로 설정하시면 됩니다. 그리고 모두 바꾸기 버튼.. 2024. 3. 27.
c++ 20. 배열 Array 배열 Array에 대해서 알아보겠습니다. 배열은 데이터의 집합체라고 할 수 있습니다. 변수는 하나의 데이터(값)만을 담을 수 있지만 배열은 여러 개의 데이터를 담을 수 있습니다. 다만 여러가지의 데이터 타입을 담는 것은 아니고 하나의 데이터 타입만 담을 수 있습니다. 아래의 그림을 통해 알아보겠습니다. 그림에서 보다시피 여러 종류가 아닌 하나의 종류만 담을 수 있도록 상자에 주기를 한 것 처럼 하나의 데이터 타입만을 담을 수 있습니다. 그리고 상자의 크기만큼 사과를 담을 수 있듯 배열의 크기만큼 데이터를 담을 수 있습니다. 물론 위 그림에서처럼 사과의 색이나 사이즈 등이 다른 것처럼 데이터 타입은 같지만 그 값은 다를 수 있습니다. 위 배열은 int 정수형 타입을 담을 수 있는 6크기의 int 배열입니다.. 2024. 3. 13.
c++ 19. 함수 오버로딩 기본적으로 함수는 같은 이름으로 선언할 수 없습니다. 하지만 같은 기능을 하는 함수인데 연산과정이 다르다고 해서 다른 이름으로 쓰는 건 혼동을 줄 수 있기에 이럴 때 함수 오버로딩을 활용할 수 있습니다. 함수 오버로딩은 같은 이름을 가진 여러 함수를 정의할 수 있게 하는 기능입니다. 이러한 함수들은 매개변수의 타입, 개수 또는 순서가 서로 다르기 때문에 구별됩니다. 함수 오버로딩은 같은 작업을 다양한 타입의 인자나 다른 개수의 인자로 수행할 수 있게 하여, 코드의 가독성과 재사용성을 향상시킵니다. 함수 오버로딩의 규칙 다른 매개변수 목록: 오버로딩된 각 함수는 매개변수의 타입, 개수 또는 순서가 달라야 합니다. 반환 타입은 구분 요소가 아님: 오버로딩된 함수들은 반환 타입이 다를 수 있지만, 오로지 매개.. 2024. 2. 23.
c++ 18. 함수 function 함수는 특정 작업을 수행하는 코드들을 묶어놓은 코드 블록입니다. 함수는 코드의 재사용성을 높이고, 구조를 개선하여 가독성과 유지 보수성을 향상시킬 수 있습니다. 아래는 함수의 기본 구조입니다. 반환타입: 함수가 실행 완료된 후 호출한 곳으로 반환하는 값의 데이터 타입입니다. 반환할 값이 없는 경우 void를 사용합니다. 함수이름: 함수를 식별하는 데 사용되는 고유한 이름입니다. 매개변수 목록: 함수가 작업을 수행하는 데 필요한 입력 값을 정의하는 부분입니다. 매개변수가 필요 없는 경우 비워둘 수 있습니다. 함수 본문: 함수가 호출될 때 실행되는 코드 블록입니다. 반환문: 함수가 결과값을 호출한 곳으로 반환하는 명령입니다. return 키워드를 사용합니다. void 타입일 경우 생략 가능. 우선 반환할 값.. 2024. 2. 22.
c++ 17. 중첩 반복문 조건문의 중첩처럼 반복문 역시 중첩이 가능합니다. 반복문 내에 또다른 반복문을 둠으로써 2차원 배열의 요소를 처리하거나, 복잡한 패턴의 출력, 특정 조건에 따른 반복 계산 등에 활용할 수 있습니다. 기본적인 구조는 아래와 같습니다. 위 예제에서 보듯 외부 반복문과 내부 반복문 모두 세번씩 반복되는 걸 확인할 수 있습니다. 내부 반복문은 외부 반복문에 포함되어 있기에 외부 반복문 실행 시 내부 반복문이 매번 재실행되어 세번씩 반복됩니다. 결과적으로 내부 반복문은 외부 반복문의 횟수에 내부 반복문을 곱한 횟수만큼 반복이 됩니다. 위의 예제에선 각각 3회씩 반복되도록 했기에 내부 반복문은 총 9회 반복이 됩니다. 중첩 반복문의 경우 아래와 같이 활용될 수 있습니다. 구구단 출력 1 2 3 4 5 6 7 8 9.. 2024. 2. 19.
반응형