전 캐릭터 오브젝트 이름을 Player로 하고 있는데, 이런 식으로 생성되는 캐릭터들의 이름에 Player_Root이 붙더니 실행할 때 마다 이름이 초기화가 되지 않고 _Root가 계속 뒤에 붙고 있습니다. vs에서 확인해보니, Root.name = $"{original.name}_Root"; 이후에 Original의 name도 뒤에 _Root가 붙고 있습니다.
강의 잘보고있는데 너무 어렵네요. 1. user_action.js에서 user_reducer.js와의 연결고리가 없는데 어떻게 저파일을 찾아가는건지 궁금합니다. 2. types.js에 LOGIN_USER= "login_user" 지정해주는데 "login_user" 값은 어디서도 사용안된 값인데 왜 저리 지정되는지도 모르겠는데 답변주시면 많은 도움이 될거 같습니다.
안녕하세요 강의를 듣다 의문점이 생겨 질문을 드립니다 Debug.DrawRay()와 Physics.RaycastAll()은 월드를 기반으로 되어있고 레이저를 유니티짱이 바라보는 방향(로컬)으로 쏘기위하여 Vector3 look = transform.TransformDirection(Vector3.forward);로 좌표를 대체하셨는데, 1. Vector3.forward는 월드벡터를 나타내고, transform.TransformDirection()은 로컬벡터를 월드벡터로 바꾸는 기능을 한다고 알고 있습니다. 이것은 월드벡터를 월드벡터로 바꾸는 작업이라고 생각되어 이해가 잘 가지 않습니다. 2. 또, look 대신 Debug.DrawRay()와 Physics.RaycastAll()에 transform.forward를 집어넣어도 같은 기능을 하는 것 같은데 이렇게 써도 되는건지 궁금합니다.
안녕하세요 유니티 처음이라 이해가 잘 안되는 부분이 많아 다시 강의를 복습하던 도중에 이해가 안되는 부분이 있어 질문드립니다 Input Manager 강의 5분 30초 쯤에 보면 Manager 클래스에 InputManager를 생성할려고 InputManager _input = new InputManager(); public static InputManager Input { get { return s_instance._input; } } 이런 코드를 작성하셨는데 이 부분이 이해가 잘 안됩니다 1. Mangers 객체인 s_instance 는 static 변수로 선언을 했는데 왜 InputManager 객체인 _input은 static 변수로 선언하지 않았는지 그 이유가 궁금합니다 Manger 객체와 똑같이 입력을 처리하는 InputManager 객체는 1개만 필요할텐데 static이 아닌 일반 변수로 선언한 이유가 궁금합니다. (InputManager를 static 변수로 선언하면 안되나요??) 2. InputManager _input = new InputManager(); public static InputManager Input { "get { return s_instance._input; }" } "get { return s_instance._input; }" 이 코드에서 s_instance.input을 한 이유가 궁금합니다 그냥 get { return _input; } 을 하면 안되는 이유가 궁금합니다 Input을 사용할때 Mangers.Input.KeyAction 이런식으로 사용될텐데 Managers 클래스 안에 _input이라는 변수가 정의되어 있는데 왜 굳이 s_instance. 을 붙이는 이유가 궁금합니다 매번 친절하고 자세한 설명 감사드립니다
강의와 관련있는 질문 을 남겨주세요. • 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등) • 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색 을 해주세요. (중복 질문을 자제해주세요.) • 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’ 를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달 에도 요령이 필요합니다. • 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요. • 강의실 페이지 (/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다. • 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재 해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드 를 남겨주세요! 구체적인 질문 일수록 명확한 답을 받을 수 있어요. • 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요. • 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요 . • 정확한 질문 내용과 함께 코드 를 적어주시거나, 캡쳐 이미지 를 첨부하면 더욱 좋습니다. 기본적인 예의 를 지켜주세요. • 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용 은 스팸 처리 등 제재를 가할 수 있습니다.
1. PackatQueue 를 OnRecvcallback 을 통해 거치게되면 유니티에서 사용되는 메인쓰레드로 사용할 수 있다는 얘기로 들리는데. 유니티에서 그렇게 작동하도록 만든것인가요? 즉 유니티 오브젝트와 서버를 연동시키려면 쓰레드는 무조건 큐( Push , Pop )를 거쳐서 와야한다? 라고 유니티 측에서 규칙을 정해둔거? 그리고 2. 전 강의에서 설명하셨을 수도 있는데 너무 많은게 지나가서 질문 드립니다... HandlePacket 만으론 유니티와의 연동이 되지않은 걸로 보이는데 HandlePacket 을 자동화해서 사용하는 이유가 있나요. 제가 이해한 바로는 1번에 해당하는 경우에만 유니티가 제대로 작동되는 걸로 보여져 HandlePacket 은 뭘하는지 잘 모르겠습니다. 3. 기존에는 (유니티 연동 전) 백그라운드 풀에서 쓰레드를 뽑아와서 쓴다고 하셨는데.. 이 부분은 제가 잊은건지 모르겠지만.. 쓰레드 풀 자체를 어디서 생성해줬는지 기억이 가물가물합니다... 분명 첫수업시간 때 Task를 이용해 쓰레드 풀을 만드는 건 어렴풋이 기억이 나는데 그런 코드는 여기서 작성한 기억은 없고... 쓰레드 자체가 어디에서 왔는가에 대해 알려주실 수 있나요.. 메모하면서 진행해왔는데 찾기가 어렵네요. 4. 그리고 복습하는 도중에 알려주신 모든 부분을 응용해서 학습할 수 있게 해주신점 감사드립니다. 그런데 한가지 ThreadLocal을 이용한 최적화는 파이널 프로젝트에 응용한게 없는듯한데 파트 7정도 때에나 이런 것들을 한꺼번에 볼 수있을까요. 감사합니다. ---------------------------------------------------
이번에 다루신 문제에는 입력이 작았기 때문에 for문 내부에서 sort를 해도 문제가 없었다고 생각합니다. 그러나 코딩테스트 경험상, for문안에 sort()를 넣으면 대부분 시간 초과 오류가 났던 경험이 있는데요. 첫째, 입력이 더 큰 경우에 이 방식(매번 정렬)을 써도 되는지 둘째, 만약 시간 복잡도가 너무 커져서 시간초과가 날 가능성이 높다면 더 효율적인 방법은 없을까요?
안녕하세요 :) PostMon을 통해 보낸 데이터들을 확인하려고 Collections에 들어갔는데 잘 안나와서 아래있는 질문들도 확인하고 앞에 강의도 확인하고 구글링도 다 해봤는데 뭔가 조금 이상하다는 생각이 들어서 질문드립니다. Collections를 누르면 이렇게 아무 것도 안뜨고, Add my own data를 누르면 아래와 같은 창이 뜹니다. Collections를 눌렀을 때, 이와 같은 창을 확인 할 수 있는데, 여기서의 Database name이 " mongodb+srv://june:<password>@nodejspractice.xjqzt.mongodb.net/<dbname>?retryWrites=true&w=majority" 이 코드에서의 <dbname> 을 의미하는 건가요? 앞선 강의에선 <dbname> 부분이 test로 세팅이 되어있는데, 현재는 을 채우도록 되어있습니다. 이때 <dbname>부분에 무엇을 넣느냐를 고민하고 있고, 여러 시도를 해봤는데 진전이 없어서 질문드립니다. 감사합니다
fish = 5 while True: num = int(input("고등어 몇 개를 구매하실 건가요?")) if fish >= num: fish = fish - num print(f'고등어 {fish}개 남았습니다.') if fish == 0: print('완판되었습니다.') break else: print(f'손님, 죄송하지만 구매할 수 있는 고등어 {fish}개 남았습니다.') fish = 0 break 위 예제에서 이 코드대로 실행이 된다면 5마리일 때 6마리를 구매하겠다고 하면 바로 남은 생선이 0마리가 되어버리는 것 아닌가요? else: print(f'손님, 죄송하지만 구매할 수 있는 고등어 {fish}개 남았습니다.') 이렇게 되어야 완판 될때까지 판매를 하는 것 아닌가요?
안녕하세요. 그 사이 cgv 페이지 구조가 바뀌었는지 그냥 접속했을때와 아이프레임 소스 주소 따서 접속했을때 보여지는 페이지가 다릅니다. http://www.cgv.co.kr/theaters/?areacode=01&theaterCode=0013&date=20200718 http://www.cgv.co.kr/common/showtimes/iframeTheater.aspx?areacode=01&theatercode=0013&date=20200718 아이프레임 소스 주소로 연결되는 페이지에는 imax관이 포함되어 있지 않아서 강의를 따라갈수가 없네요. 페이지 구조가 어떻게 바뀐건지 잘 모르겠습니다.
10 in (10,20,30), (2) in (10,20,30), (1,2) in (10,20,30) 강의에서 위 코드를 실행하였을 때 (True, False, False)가 나왔는데 제가 아래 코드를 실행했을 때에 10 in (10,20,30), (20) in (10,20,30), (10,20) in (10,20,30) (True, True, False) 가 나왔습니다. 리스트의 경우에는 [2]를 in 구문으로 할 수 없지만 튜플에서는 (20)을 튜플로 인식하는 것이 아닌 그냥 숫자로 인식을 해서 True가 나오는 건가요?
mongoose . connect ( config . mongoURI , ... 위의 코드에서 mongoURI 라고 실습해주신대로 했을 때 MongooseError: The `uri` parameter to `openUri()` must be a string, got "undefined". Make sure the first parameter to `mongoose.connect()` or `mongoose.createConnection()` is a string. 위와 같은 오류가 발생해서 한참 삽질을 했는데요ㅠㅠ 혹시나 하고 mongoURL로 고쳐서 런 시켰더니 잘 동작하네요... URI로 사용하면 동작하지 않는 이유가 무엇인가요 원래 동작해야 맞는건가요? 물론 prod.js dev.js도 위와 동일하게 변경했습니다!