inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

UserDataManager 코드 질문입니다.

해결됨

유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지

using System.Collections; using System.Collections.Generic; using UnityEngine; public class UserDataManager : SingletonBehaviour<UserDataManager> { public bool ExistsSavedData { get; private set; } public List<IUserData> UserDataList { get; private set; } = new List<IUserData>(); protected override void Init() { base.Init(); UserDataList.Add(new UserSettingData()); UserDataList.Add(new UserGoodsData()); } public void SetDefaultUserData() { for(int i = 0; i < UserDataList.Count; i++) { UserDataList[i].SetDefaultData(); } } public void LoadUserData() { ExistsSavedData = PlayerPrefs.GetInt("ExistsSavedData") == 1 ? true : false; if(ExistsSavedData) { for (int i = 0; i < UserDataList.Count; i++) { UserDataList[i].LoadData(); } } } public void SaveUserData() { bool hasSaveError = false; for(int i =0; i < UserDataList.Count; i++) { bool isSaveSuccess = UserDataList[i].SaveData(); if(!isSaveSuccess) { hasSaveError = true; } } if(!hasSaveError) { ExistsSavedData = true; PlayerPrefs.SetInt("ExistsSavedData", 1); PlayerPrefs.Save(); } } } 위 코드의 if(!hasSaveError) { ExistsSavedData = true; PlayerPrefs.SetInt("ExistsSavedData", 1); PlayerPrefs.Save(); } 이 부분에서 PlayerPrefs에 "ExistsSavedData"를 1로 저장해주는 이유가 있나요?? 제 짧은 생각으로는 ExistsSavedData가 어차피 true로 처리되기 때문에 필요가 없지 않을까라는 의견입니다 이와 더불어 LoadUserData()에서도 PlayerPrefs.GetInt()를 안하고 if(ExistsSavedData) 문만 가지고는 안되는지 궁금합니다. 강의 잘 듣고 있습니다. 감사합니다!

  • C#
  • unity
  • 객체지향
  • game-programming
Gang 댓글 2 좋아요 0 조회수 141

수업 자료 링크를 어디서 볼 수 있나요?

해결됨

【2025年版】Unity×C#入門|2Dタワーディフェンスゲーム開発|クラッシュ・ロワイヤル風バトルシステムの作り方

쩝.. 일본 강의를 번역한 거였군요. 좀 표시해 두시지. 수업 자료 링크만 알려주십시오. 한번 공부해 보겠습니다.

  • C#
  • unity
  • 객체지향
  • 콘텐츠-제작
  • game-programming
김수영 댓글 1 좋아요 1 조회수 149

녹음 확인 해주세요

미해결

【2025年】Unity × C#で作る本格2D戦略型タワーディフェンスゲーム開発講座

4분50초경에 이상한 목소리가 녹음이 되어 있는것 같습니다

  • C#
  • unity
  • 객체지향
  • 콘텐츠-제작
  • game-programming
정해성 댓글 4 좋아요 1 조회수 213

업적/미션 Pt.3에서 OnClickClaimBtn 호출 시 Sort 부분 호출 동작

해결됨

유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지

public void OnClickClaimBtn() { if(!m_AchievementItemData.IsAchieved || m_AchievementItemData.IsRewardClaimed) { return; } var userAchievementData = UserDataManager.Instance.GetUserData<UserAchievementData>(); if(userAchievementData == null) { Logger.LogError("UserAchievementData does not exist."); return; } var achievementData = DataTableManager.Instance.GetAchievementData(m_AchievementItemData.AchievementType); if(achievementData == null) { Logger.LogError("AchievementData does not exist."); return; } var userAchievedData = userAchievementData.GetUserAchievementProgressData(m_AchievementItemData.AchievementType); if(userAchievedData != null) { var userGoodsData = UserDataManager.Instance.GetUserData<UserGoodsData>(); if(userGoodsData != null) { userAchievedData.IsRewardClaimed = true; userAchievementData.SaveData(); m_AchievementItemData.IsRewardClaimed = true; switch (achievementData.AchievementRewardType) { case GlobalDefine.RewardType.Gold: userGoodsData.Gold += achievementData.AchievementRewardAmount; var goldUpdateMsg = new GoldUpdateMsg(); goldUpdateMsg.isAdd = true; Messenger.Default.Publish(goldUpdateMsg); userAchievementData.ProgressAchievement(AchievementType.CollectGold, achievementData.AchievementRewardAmount); break; case GlobalDefine.RewardType.Gem: userGoodsData.Gem += achievementData.AchievementRewardAmount; var gemUpdateMsg = new GemUpdateMsg(); gemUpdateMsg.isAdd = true; Messenger.Default.Publish(gemUpdateMsg); break; default: break; } userGoodsData.SaveData(); } } } 이 부분에서 8:17초 부분 보시면 보상 받고 바로 UI Sort가 호출되는게 OnAchievementProgressed가 호출 돼서 그런거 같은데 저 OnClickClaimBtn 함수 내에선 찾아봐도 OnAchievementProgressed가 호출 될 수 있는 부분이 안보여서 질문드립니다. 제 동작 역시 보상을 받고 Sort는 일어나지 않습니다. 저 userGoodsData.SaveData(); 밑에 var achievementProgressMsg = new AchievementProgressMsg(); Messenger.Default.Publish(achievementProgressMsg); 를 호출해야하나요..? 다시 확인해보니 골드업적이 깨지기 전이면 골드 업적 갱신부분에서 Sort가 호출되서 그러는거 같은데 이미 골드 업적을 깬 상태면 Sort가 발생하지 않습니다.

  • C#
  • unity
  • 객체지향
  • game-programming
김상현 댓글 1 좋아요 0 조회수 136

godot 학습방법에 대해서

미해결

고도엔진으로 벽돌깨기 2D게임 만들기

안녕하세요, 강의 잘 보고있습니다. 제가 1인 게임개발자를 꿈꾸며 godot로 처음 코딩을 접하고 게임을 만들어보고 있는데 너무 막막하네요.. 혹시 공부를 어떻게 하셨는지 여쭤봐도 될까요? 유니티나 c# 등을 먼저 좀 체계적으로 배운 후에 고도를 다시 보는 게 좋을까요? 혹시 고도 사용자 커뮤니티가 있는지도 궁금합니다ㅠㅠ

  • game-engine
  • godot-engine
  • 2d-games
  • gdscript
  • game-programming
Miltto Shin 댓글 1 좋아요 0 조회수 85

소스코드 문의드립니다.

미해결

[Unity6] 유니티6로 배우는 실전 멀티플레이 디펜스

안녕하세요 강사님. 매번 좋은 강의 감사합니다. 프로젝트강의를 진행하면서 도움을 받고자 전체 프로젝트 소스를 받을 수 있을까요?? 이메일 dandy83ten@gmail.com

  • C#
  • unity
  • 게임기획
  • multiplayer
  • game-programming
댓글 1 좋아요 0 조회수 85

error

미해결

고도엔진으로 2D 매치 게임 만들기

Invalid assignment of property or key 'global_position_x' with value of type 'int' on a base object of type 'Area2D ( card.gd )'. 다운 받은 소스를 실행 하면 잘 되는데, 처음부터 한단계씩 입력하다가, create_card() 부분에서 error 가 뜹니다. func create_card(): for x_pos in COL: for y_pos in ROW: #print("%d,%d" % [x_pos,y_pos]) var new_card = card_scene.instantiate() new_ card.global _position_x = x_pos new_ card.global _position_y = y_pos add_child(new_card)

  • game-engine
  • godot-engine
  • gdscript
  • game-programming
andrew 댓글 2 좋아요 0 조회수 85

숫자를 바꿔도 이미지가 바뀌지 않습니다

해결됨

초초보도 할 수 있다! 파이썬으로 쓱 만드는 스페이스 인베이더

크기나 위치 숫자를 바꿔도 실행하면 변하지 않아서 질문드립니다.

  • python
  • pygame
  • game-programming
방황소년 댓글 2 좋아요 0 조회수 172

해결되긴 했는데 이렇게 실행해도 되는지 질문 드립니다.

해결됨

초초보도 할 수 있다! 파이썬으로 쓱 만드는 스페이스 인베이더

한글 사용자 명 자체를 영문으로 바꾸려다 허송세월(ㅜㅜ)하고 결국에 챗지피티 한테 물어봐서 import os, import sys 이용해서 실행하니 이미지가 뜨긴 합니다. 이렇게 코드를 짜도 되는지 질문드립니다.

  • python
  • pygame
  • game-programming
댓글 2 좋아요 1 조회수 556

오류가 나는 이유를 잘 모르겠어서 질문합니다

해결됨

초초보도 할 수 있다! 파이썬으로 쓱 만드는 스페이스 인베이더

파일 위치를 못 찾는 이유를 모르겠습니다. 알려주시면 감사하겠습니다!

  • python
  • pygame
  • game-programming
방황소년 댓글 3 좋아요 1 조회수 379

[26강. Bomb 발사] 영상 잘림 문의

미해결

초초보도 할 수 있다! 파이썬으로 쓱 만드는 스페이스 인베이더

안녕하세요, [26. Bomb 발사] 강의가 16:49 길이의 영상으로 홈페이지에 표시되는데, 실제 강의 자체는 10:42분 영상이라 뒷 부분이 짤린 듯 합니다. 영상 확인 부탁드릴게요. 본 강좌를 통해서 Python 기본을 익혀가고 있네요. 좋은 강연 감사드립니다.

  • python
  • pygame
  • game-programming
다중언어GUI 댓글 3 좋아요 1 조회수 161

질문] 강의는 42개만 존재 합니다.

해결됨

초초보도 할 수 있다! 파이썬으로 쓱 만드는 스페이스 인베이더

강의를 42개 봤는데요. 표시는 44강의가 있다고 합니다. 전 100% 수강을 하고, 수강평을 남기는 데요. 90%만 되어서, 여쭤 봅니다. 2개의 강의는 표시 되지 않은 걸까요?

  • python
  • pygame
  • game-programming
sunny75 댓글 1 좋아요 1 조회수 113

강의 예상 완료 시일

해결됨

[Unity6] 유니티6로 배우는 실전 멀티플레이 디펜스

혹시 죄송하지만 언제쯤 모든 기능이 개발이 완료될까요?

  • C#
  • unity
  • 게임기획
  • multiplayer
  • game-programming
ML G 댓글 1 좋아요 0 조회수 152

self 의 개념?

미해결

초보자를 위한 고도엔진 게임 개발 입문

훌륭한 강좌 감사합니다. 덕분에 잘 보고 재밌게 배우고 있습니다! [적 캐릭터 파괴시 이벤트 수신하기] 강좌 중 self._on_target_destroyed 대신 _on_target_destroyed 라고 써도 똑같이 잘 동작하는데요 self 를 써줘야 하는 이론적 배경을 알고 싶습니다~!

  • game-engine
  • godot-engine
  • gdscript
  • game-programming
gatewaykim 댓글 1 좋아요 0 조회수 149

소스코드 관련 문의드립니다.

미해결

[Unity6] 유니티6로 배우는 실전 멀티플레이 디펜스

안녕하세요. 프로젝트를 진행하면서 문제 발생했을 때 git 소스 코드만 보고 찾기 어려움이 있습니다.. 커리큘럼을 보니 콘텐츠 개발은 완료된 것 같고 출시 준비만 남은 것같은데 혹시 전체 프로젝트 소스에 대해서 받을 수 있을까요?? 가능하시다면 링크를 주셔도 가능하고 이메일로 첨부해주셔도 됩니다! 이메일:guddn1234k@naver.com

  • C#
  • unity
  • 게임기획
  • multiplayer
  • game-programming
전형우 댓글 4 좋아요 0 조회수 292

서버와 클라이언트 타겟 동기화

해결됨

[Unity6] 유니티6로 배우는 실전 멀티플레이 디펜스

지금 게임을 보면 데미지폰트가 클라이언트와 서버에 여러개가 나오 있는데 혹시 이건 언제쯤 픽스 될 예정인가요? 그리고 추후에 서버와 클라이언트 간에 때리는 타겟을 완전 동기화 하실 건가요?

  • C#
  • unity
  • 게임기획
  • multiplayer
  • game-programming
ML G 댓글 2 좋아요 0 조회수 187

빈공간 이동에서 잔상

해결됨

[Unity6] 유니티6로 배우는 실전 멀티플레이 디펜스

저번과 같은 질문을 드려서 죄송합니다. 빈공간이동에서 보면 30:43초 쯤에 클라이언트가 이동할때 서버 쪽에 저랑 같은 잔상이 생기는데 해결방법이 없나요?

  • C#
  • unity
  • 게임기획
  • multiplayer
  • game-programming
ML G 댓글 2 좋아요 0 조회수 160

잔상

해결됨

[Unity6] 유니티6로 배우는 실전 멀티플레이 디펜스

안녕하세요. 혹시 캐릭터의 위치를 서로 바꿀때 클라이언트의 서버 스포너위치에 옮겨질 캐릭터의 잔상이 남는데 무엇이 문제인가요? hero쪽에 if (IsServer) transform.parent = target.transform; 이 구문을 빼면 잔상이 없어지긴 합니다.

  • C#
  • unity
  • 게임기획
  • multiplayer
  • game-programming
ML G 댓글 2 좋아요 0 조회수 221

프리팹 변경할때 가상플레이어 껏다 키면 됩니다!!

해결됨

[Unity6] 유니티6로 배우는 실전 멀티플레이 디펜스

10:36초에서 프리팹 변경될때 virtual gamemode에서 해당 player를 껏다 키면 다시 적용 되어서 굳이 유니티 안끄고도 잘 플레이 되더라구여 다른 분들 위해서 혹시나 해서 올려봅니다!!!

  • C#
  • unity
  • 게임기획
  • multiplayer
  • game-programming
uty1993 댓글 0 좋아요 1 조회수 132

인기 태그

인프런 TOP Writers

주간 인기글