프로그래밍 공부

2024/02 58

카테고리 설명
  • 이제 마법에 관한 애니메이션을 전부 적용하였으니, 공격을 하였을 때, 마법이 발사되고, 마법이 충돌하면 폭발하는 과정을 전부 블루프린트로 구현해보자. Wizard FireBall 만들기 우선, 공격시에 손에 들 고 있던 마법을 발사해야 한다. 이런경우 손에 있는 객체를 발사하는 것 보다는. 그 객체를 꺼버리고 그 위치에서 발사체 객체를 생성하고 발사하는것 이 더 효율적이고 코드도 쉽게 작성된다. 손에있는걸 던졌을 때 는 손에 있는 객체를 꺼버린 뒤에, 새로 생성하면 눈으로 볼 때는 그 손에 있는 객체가 발사된것 처럼 보일 것 이다. Actor로 새로운 객체를 생성해보자. 손에 있던 FireBall 과는 다른 객체를 생성한다. 이 블루프린트는 생성된 뒤에 정면으로 발사되게 만들 것 이다. FIreBall은..

  • 8.2 여러 종류의 데이터 멤버 C++는 여러 종류의 데이터 멤버를 지원한다. 단순한 데이터 멤버 외에도 특정 클래스의 모든 객체 간에 공유되는 static 데이터 멤버도 있고,const 멤버, 참조 멤버, const 참조 멤버 등 다양하게 존제한다. 8.2.1 static 데이터 멤버 어떤 경우에는 클래스의 객체별로 변수를 따로따로 가지는 것이 너무 중복되거나 의도에 맞지 않을 수 있다. 다시말해, 어떠 ㄴ데이터 멤버가 특정 클래스에 종속되기는 하지만 객체별로 따로 복제본을 가지는 것이 불합리할 수 있다. 예를 들어 각 스프레드 시트마다 순번을 매기려 한다고 하자, 순번을 중복되지 않게 0부터 순차적으로 부여하려면 최종 순번으로 몇 번이 부여되었는지 관리해야 한다. 이 값은 분명 SpreadSheet클..

  • 8. 클래스와 객체 마스터하기 8.1 동적 메모리 할당을 통한 객체 생성 메모리가 얼마나 필요할지 프로그램을 실행해보기 전에는 알 수 없는 떄도 있다. 이미 알고 있듯이 이럴 떄에 대한 해답은 동적 메모리 할당이다. 클래스 또한 예외가 아니다. 클래스를 정의 할 때 멤버 객체가 메모리를 얼마나 소요할지 알 수 없는 경우가 있다. 이때 그 객체는 동적으로 메모리를 할당받아야 한다. 동적으로 할당된 객체는 메모리 해제, 객체 복제, 객체 대입 연산 등과 관련해서 조금 까다로운 부분이 있다. 8.1.1 SpreadSheet 클래스 7장에서 만들었던 클래스를 예제로 활용한다. SpreadSheetCell이 그랬듯이 SpreadSheet클래스도 이 장에서 점진적으로 강화해 나갈 것 이다. 각 버전의 SpreadS..

  • 문제 설명 어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다. 예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24] 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다. 문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들 수 있는 수 중 가장 큰 숫자를 문자열 형태로 return 하도록 solution 함수를 완성하세요. 제한 조건 number는 2자리 이상, 1,000,000자리 이하인 숫자입니다. k는 1 이상 number의 자릿수 미만인 자연수입니다. 입출력 예 number K return "1924" 2 "94" ..

  • 공격방식을 추가하여 다체롭개 해보자. 기존에 사용하였던, 소드모션의 동작방식을 재활용하여 마법 공격 방식을 추가한다. 입력 액션 설정 공격모션의 시작점인 무기 장착이다. 전에 만들었던 Sword의 장착키는 1 이고, Wizard의 장착키는 2로 설정하여 동작시킬 것 이다. Combat을 참조하여, 현재 Combat에 따라 장착한것이 없을 때는 StartWizardMode를, 칼을 들고 있을 때 는, Sheath Sword를, 아니라면 내가 마법모션 이었을 경우, WizardMode를 종료시킨다. 기본 상태에서는 마법모드를 시작하고, 칼을 들고 있을 때는 칼을 넣고 마법을 들어야 할 것 이다. 이러한 과정을 통합하여, 좀 더 자연스럽게, 전환을 실행 -> 전환시에 모션 판별을 하여 코드를 자연스럽게 구성시..

  • 공격이벤트에 칼에 따라다니는 선을 하나 그어보자. 트레일 이벤트를 커스텀으로 가볍게 만들 것 이다. 우선, 이팩트를 만들기 위해 머티리얼을 한개 제작해준다. 머티리얼 커스텀 머티리얼을 커스텀 할 것 이다. 우선 파티클 컬러를 생성하고, 해당 컬러에 필터를 씌워서 알파값을 조정할 것 이다. TextureCoordinate를 생성한다. 이 블루프린트는 일정좌표로 계산되어 UV값의 위치를 조정하는 역할을 한다. 적용하는 텍스처의 UV값을 조정하여 어떠한 값 기준으로 블렌딩하는데 이용된다. ComponentMast를 추가한다. 이것은 RGB중 사용자가 지정한 Color값을 Mask하여 가려버리는 효과가 있다. 즉, 해당 Color값은 A값이 0이된다. 마스크를 위와같이 지정해보자. UV좌표값이 구체를 기준으로,..