전체 글
[배그 모작] 1. 무기 로직
핵심 로직Tick 함수UCustomGameInstance::GetInst()게임 인스턴스를 사용하여 UI 연동 > 변수를 사용하여 응용 / 현재 총알 개수 UGameplayStatics::GetPlayerController현재 컨트롤러를 가져와서 키/마우스 입력시간 계산 > GetInputKeyTimeDown 함수 GetWorld()->GetTimerManager()타이머 관련 함수 > 즉 연사할 때 총알 나가는 속도를 조정해줌 예) 1초에 1발씩Init 함수ADataTableManager::GetWeaponData아이템 인덱스로 데이터 테이블에서 해당 무기 정보를 가져옴 예) 무기 그룹 타입, 총알 개수 GunRecoilComponent->RecoilCurve이건 총기 반동에 관한 컴포넌트이므로 시각적..
[Unity] Debug.Log 여러곳에서 호출하면서 테스트 대상만 호출하기
일단 Debug.Log를 사용할 시 여러개가 섞여 주석처리 해주고 풀고 해야하는 번거로움이 존재하기에 아래와 같이 만들어준다using System.Collections.Generic;using UnityEngine;public enum LogCategory{ Player, PlayerSkill, Enemy, Combat, Inventory, UI}public static class DebugLog{ // 호출하고 싶은 클래스 예) Player일 시 Player만 출력, 아래처럼 할 시 3개만 출력 private static readonly HashSet ActiveCategories = new() { LogCategory.Player, LogCateg..
정보처리기사/정처기 실기 복원 2025 1회 해설
1. 다음은 네트워크 보완에 관련된 문제이다. 괄호안에 알맞는 용어를 작성하시오.답) 세션 하이재킹 ( )은/는 '세션을 가로채다.' 라는 의미로 다른 사람의 세션 상태를 훔치거나 도용하여 액세스하는 해킹 기법이다. TCP ( )은/는 TCP의 3-way 핸드셰이크가 완료된 후에 공격자가 시퀀스 번호 등을 조작하여 정상적인 세션을 가로채고 인증 없이 통신을 탈취하는 공격 공격이다. 2. 다음은 제약조건과 관련된 문제이다. 괄호안에 알맞는 용어를 보기에 골라 작성하시오.답)ㄱ. 도메인ㄴ. 개체ㄷ. 참조보기) 개체 참조 도메인 3. 아래의 내용에서 설명 글의 괄호안의 용어를 영문 약자로 작성하시오.답) CRC ( ) 은/는 3글자의 영어 약자로 이루어진 오류 기법으로 데이터를 전송하..
정보처리기사/정처기 실기 복원 2024 3회 해설
1. 다음은 Java 코드에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.답) OOAAApublic class Main{ static String[] s = new String[3]; static void func(String[]s, int size) { // 1~2 2. 다음은 파이썬에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.답) 3def func(lst): for i in range(len(lst) // 2): # 3까지 lst[i], lst[-i - 1] = lst[-i - 1], lst[i] # lst[0] = lst[-1] > 1 = 6 / lst[-1] = lst[0] > 6 = 1 / -1은 [5] ..
정보처리기사/정처기 실기 복원 2024 2회 해설
1. 다음은 Java 코드에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.답) NNNa b c를 단순히 비교시, 예) a == b 또는 a.equals(b)를 할 시 값이 아닌 주소를 비교하기 때문 Arrays.equals(a, b)를 사용해야됨.class Main { public static void main(String[] args) { int[] a = new int[]{1, 2, 3, 4}; int[] b = new int[]{1, 2, 3, 4}; int[] c = new int[]{1, 2, 3}; check(a, b); check(a, c); check(b, c); } ..
정보처리기사/정처기 실기 복원 2024 1회 해설
1. 다음 Java 코드에서 알맞는 출력 값을 작성하시오. (싱글톤)답) 4class Connection { private static Connection _inst = null; private int count = 0; static public Connection get() { if(_inst == null) { _inst = new Connection(); return _inst; } return _inst; } public void count() { count++; } public int getCount() { return coun..
[Unity] 유니티 6 버전으로 구글 스토어 출시 방법
일단 출시하기에 앞서 유니티 에디터 내에 몇가지 세팅해줘야한다2021년 이후론 apk + obb 형태가 아닌 app bundle로 바뀜 Project Keystore 설정 안해두면 Debug 버전으로 앱이 가공되기 때문에 먼저 설정해둔다 Target API Level을 가장 최신껄로 해준다 (gradle 오류 방지) 빌드하기 전에 App Bundle 체크해주고 한다 Google Play Console 내 프로젝트 생성 후 App bundles에 빌드된 app bundle 파일을 드래그 앤 드롭 해주면 된다 save 후 계속 다음 버튼누르고 아래처럼 뜨면 된거다
[Unity] 6 버전 이후로 In App 인앱 결제 SDK 변화
현재 버전 IAP v5 > 이전 버전 v4와 가장 큰 차이점IDetailedStoreListener 삭제 > 이벤트 핸들러 사용 UnityPurchasing.Initialize() > List 타입을 FetchProducts() 함수 파라미터로 넘김 ProcessPurchase(PurchaseEventArgs) > StoreController.OnPurchasePending += ... OnPurchaseFailed(Product, desc) > StoreController.OnPurchaseFailed += ... OnInitialized(controller, extensions) > await StoreController.Connect() 주의사항) 1. InitiatePurchase() 대신 Pur..
Pixel Space Shooter - 2D 비행슈팅
1) 개요개발기간 - 약 8개월 (혼자)버전 및 언어 - 2019 / C#플랫폼 - 모바일 무한 스크롤링이 된 상태에서 웨이브로 들어오는 몬스터들을 처치 핵심) - 빌더 패턴 사용 > 적 종류에 상관없이 코드상으로 수정할 수 있는 방식을 채택 (csv 또는 db 생략)- partial class & 확장 메서드 사용- scriptable object 사용 > 직관적으로 스텟 수정이 용이- Gizmos와 LineRenderer을 활용하여 적 경로 보여줌과 보다 쉽게 레벨 디자인 용이 아쉬운 점) - 하드코딩된 부분들이 많음- 다소 빈약한 보스 몹과 공격 패턴들2) 전투1. 키 입력우선, 키 입력을 위해선 key로 KeyCode (플레이어 키 입력에 따른 키를 판별해 주는 클래스)와 value를 Action..
[C#] 문자열 소수점 자릿수
사용자 지정 숫자 형식 문자표준 숫자 서식 문자소수점 두번째까지만 출력하는 예시1. ToStringdouble pi = 3.14159265359;string result = pi.ToString("0.00");Console.WriteLine($"pi.ToString 결과 : {result}"); pi.ToString("n2")double pi = 3.14159265359;string result = pi.ToString("n2");Console.WriteLine($"pi.ToString 결과 : {result}");2. String.FormatString.Format("{0:N2}", pi)double pi = 3.14159265359;string result = String.Format("{0:N2}"..