시작(24)
-
유니티 스크립트 인코딩을 일괄 변경하자.
유니티에서 편집기를 Visual studio를 사용한다면 인코딩이 한국어 전용으로 되어있다. euc-kr 인가 949라던가 아무튼 그렇다. 소스관리를 위해 깃헙이나 리눅스, 맥에 올리면 한글이 다 깨지게되는데 윈도우를 제외하곤 거의다 utf-8을 사용해서 그렇다. 우선 프로젝트 루트 폴더에 .editorconfig 파일을 하나 생성하고 root = true [*] charset = utf-8 라고 적어주자. 그냥 visual studio로 빌드해서 쓰는 프로젝트에서는 -bom을 붙여줘야 에러가 안난다. 이렇게하면 앞으로 저장할때는 utf-8로 저장된다. 그럼 이미 저장되어있는 소스들은 어떻게 해야할까? c 계열언어들은 세미콜론을 항상 사용한다. replace all 기능을 활용해서 ; -> ;aw3h00..
2021.11.24 -
파이어베이스로 마켓에 출시된 앱 버전 체크하기
일단 파이어베이스도 서버이다. 용량제한이 있기때문에 아래의 방법으로도 버전체크가 가능하다. case 1: AF_initDataCallback({key:(?) 'ds:(?)', hash: '(?)', data:["(?)M","(버전)","(?) 이상"] case 2: 버전 { dependencyStatus = task.Result; if (dependencyStatus == Firebase.DependencyStatus.Available) { Init(); } else { Debug.LogError( "Could not resolve all Firebase dependencies: " + dependencyStatus); } }); } void Init() { System.Collections.Generi..
2021.11.16 -
C++ 잘못된 메모리 참조에 대한 유효성 검사
iocp를 다루는 중 자꾸 댕글링포인터가 발생해서 서버가 죽는 현상이 나타났다. 해당 포인터를 다른 사람이 만들었다는 것이 문제다. 내가 제어할 수가 없는 상황이라서 난감한 상황 포인터가 잘못된 메모리를 가르키면 어떻게 해야할까? //main #include #include "Ptr.h" int main() { std::cout SetStr("qwer"); printf("%s\n",ptr->GetStr()); free(ptr); printf("%s\n",ptr->GetStr()); } //Ptr.h #include class Ptr { public: Ptr(); ~Ptr(); private: char str[32] = "adcd"; public: void SetStr(const char* param) {..
2021.11.16 -
유니티 Dictionary를 활용한 저장기능 정리
sqlite를 이용해서 게임 데이터를 저장하거나 불러올 수 있지만, 간단하게 dictionary기능을 사용해 데이터를 관리할 수도 있다. public class GameDataManager : MonoBehaviour { //게임에서 사용할 데이터 클래스 [Serializable()] public class GameData { public int seq; public string name; public int hp; public int mp; public int stat; } //저장용 데이터를 Dictionary로 선언 public Dictionary gameDataSave; //메모리에 올려놓을 데이터를 List로 선언 public List gameDataLoad; private void Start(..
2021.11.10 -
유니티에서 웹서버와 POST 통신하기
1. C#에서 post로 데이터 보내고 받기. 웹서버에서 post데이터 중 키가 a, b인 변수로 받은다음 json으로 리턴해주면 된다. try를 쓴 이유는 네트워크 환경에 따라 제대로 작동하지 않는 경우가 있기 때문이다. //예제 string PostData = "a=1&b=2" StringBuilder dataParams = new StringBuilder(); HttpWebRequest request = null; HttpWebResponse response = null; try { byte[] bytes = UTF8Encoding.UTF8.GetBytes(dataParams.ToString()); request = (HttpWebRequest)WebRequest.Create(접속할 URL주소); ..
2021.09.30 -
QT4.7 웹뷰를 통해 페이지 호출하기
너무 옛날거라서 그런지 인터넷 정보들이 거의다 말소되었다. 이 버전을 쓰던게 2010년대이니 그럴수밖에... 게다가 정보라고 달린 링크들은 노키아 홈페이지인데, 노키아가 망해서 없어졌다 기록보관소 형식으로 남겨보고자 한다. 우선 QWebView를 통해 기본 틀을 만들어야한다. //main.cpp #include int main(int argc, char *argv[]) { QApplication a(argc, argv); QWebView *webView = new QWebView(); webView->move(0,0); webView->resize(1920,1080); webView->show(); char postStr[32] = {0,}; //sprintf(postStr, "(post파라미터)=(값)..
2021.08.04