Post

반응형

Rect

Rect로 범위를 지정하여 이미지에서 보여주고 싶은 부분만 보여줄 수 있다.

auto sprite = Sprite::create("HelloWorld.png", Rect(0, 0, 100, 150));

0, 0 좌표에서 너비 100, 높이 150만큼만 이미지를 가져온다.

그러면 아래처럼 너비 100에 높이 150인 이미지가 그려진 것을 확인할 수 있다.

그리고 그림으로 확인해보니 좌표계가 왼상단이 0,0이 되고 아래로 그림을 그려준다.

이는 cocos2d-x 좌표계와 다르니 유념할 것.

Scale

이미지의 크기를 키울 수 있다.

sprite->setScale(4.0);
sprite->setScaleX(2.0);
sprite->setScaleY(0.5);

setScale(4.0): 그림을 4배 키운다.
setScaleX(2.0): X축만 2배 키운다.
setScaleY(0.5): Y축만 절반으로 줄인다.

Rect처럼 일정 부분을 보여주는 게 아니라서

그림이 짜부라지거나 치즈처럼 늘어나는 그림이 보여지게 된다.

반응형

Rotation

sprite->setRotation(90);
sprite->setRotationSkewX(10);
sprite->setRotationSkewY(10);

setRotation(90): Z축을 중심으로 90도 회전. 우리가 일반적으로 알고있는 시계방향, 반시계 방향 회전이다.
setRotationSkewX(10): X축을 중심으로 10도 회전. Y축은 회전하지 않고 X축만 회전한다고 생각하면 된다. 
setRotationSkewY(10): Y축을 중심으로 10도 회전. X축은 회전하지 않고 Y축만 회전한다고 생각하면 된다. 

Flipe

sprite->setFlippedX(true);
sprite->setFlippedY(true);

상하좌우를 뒤집는 함수입니다.

setFlippedX(true): X축을 기준으로 좌우를 뒤집습니다. 
setFlippedY(true): Y축을 기준으로 상하로 뒤집습니다.

Opacity

sprite->setOpacity(40);

이미지의 불투명도를 조절한다. 0~255까지 값이 가능하다.

Visible

sprite->setVisible(false);

  setVisible(false): 화면에 보일 것 인지 보이지 않을 것인지 true, false로 셋팅한다.

Color

sprite->setColor(Color3B(255, 150, 150));

setColor로 R,G,B값을 0~255까지 줘서 이미지에 색을 입힐 수 있다.

반응형

Post

반응형

cocos2d-x에서 에러나는 것들 수정한 기록

cocos2d-x 에러 수정하기

 

1. Image 안불러와지는 에러.

내 첫번째 test프로젝트가 image를 분명히 추가했는데 찾지를 못하는 에러가 발생했다.

지금보니까 2번 에러 때문인듯. 아무튼 프로젝트 꼬인거 같아서 삭제하고 새로 프로젝트 만듬.

2. CC_FORMAT_PRINTF 에러

내가 넣은 image를 처음에는 잘 불러왔는데 이것저것 테스트를 하다보니 에러가 뜨더니 안된다???

찾아보니 오류 목록 뜨는 하단 창에 빌드전용+inteliSence라고 박스가 있는데 그걸 빌드 전용으로 바꿔주면 된다고 한다.

그러니까 에러는 사라졌는데 여전히 이미지는 바뀐이미지가 적용이 안됨...왜죠?

3. Image 추가 및 그리기

뭔지 모르겠는데 한번 Resources에 추가한 Image는 삭제해도 프로젝트 상에 그대로 남아있다.

그 일례로 Resources 폴더에서 이미지를 삭제하기도 했는데 계속 읽어서 그림을 그림.

그 때문에 a라는 이미지는 평생 a라는 이미지이고, 다른 이미지를 a라고 바꿔도 그 이미지가 안불러와짐;;;

(이건 좀 크리티컬한데;;;)

이부분은 cocos2d Image 사용법을 한번 봐야할 것 같다.

아무튼 Images/TestImage3.png 위치에 이미지를 추가하면 잘 불러와진다.

auto sprite3 = Sprite::create("Images/TestImage3.png");
if (sprite3 == nullptr) {
 	problemLoading("'Images/TestImage3.png'");
}
else {
	sprite3->setAnchorPoint(Vec2(0, 0));
    sprite3->setPosition(Vec2(0, 0));
    this->addChild(sprite3, 0);
}

 

반응형

Post

반응형

Cocos2d Anchor 좌표 설정(with cocos2d 기본 프로젝트)

cocos2d 좌표계는 위와 같다.

왼쪽 하단이 (0,0)이다. 그리고 오른쪽으로 갈수록 x좌표의 값이 늘어나며

마찬가지로 위로 갈수록 y좌표의 값이 늘어난다.

즉 (100, 50) 이라고 한다면 왼쪽으로 100, 위로 50 올라간 위치에 그림이 그려진다고 생각하기 쉽다.

여기서 실제로 (10, 10) 좌표로 그려주게 되면 어떻게 될까?

우리가 생각한대로 (10,10) 좌표에 그려지지 않는다. 좀 어긋나 있을 것이다.

바로 앵커값 때문이다.

앵커는 그림을 그리는 기준점이다.

예를 들어 좌표계만 보면 480, 320에 그림을 그려주게 만들면 화면 밖에다 그려줄거라고 생각하기 쉽다.

반응형

왜냐하면 최대 너비가 480이고 높이가 320인데 거기서부터 그림을 그린다고 생각하기 때문이다.

하지만 실제로는 4분의 1정도의 이미지가 그려진다. 

cocos2d 는 앵커의 위치를 기준으로 그려서 화면에 그려질 수도 있수도 있고 아닐 수도 있기 때문이다.

앵커가 0, 0일 경우 왼쪽 하단, 1,0 일 경우 오른쪽 하단

0,1일 경우 왼쪽 상단, 1,1일 경우 오른쪽 상단을 기준으로 잡고 그림을 그려준다.

앵커 0, 0 위치 10, 10일 때 좌표계에서 10, 10씩 만큼 떨어진 위치에서 좌하단을 기준으로 네모를 그려준다.

sprite->setAnchorPoint(Vec2(1, 0));

앵커 위치를 1, 0으로 그려주면 좌상단이 기준이 되므로 아래와 같이 그려진다.

이로써 기본 앵커는 딱 그림의 중앙(0.5, 0.5)이라는 걸 알 수 있다.

sprite->setAnchorPoint(Vec2(0.5, 0.5));

그래서 앵커를 중앙으로 변경하면 처음 프로젝트를 실행했을때와 비교해 변화가 없는 것을 알 수 있다.

그리하여 왜 기본 프로젝트 소스코드에서 이미지 좌표를 줄 때

x값을 전체 너비에서 2를 나눔 하는지 알 수 있다.

sprite->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));

이미지 앵커의 기준은 정중앙이기 때문에 반으로 자르면 자동스레 중앙정렬이 되는 것이다.

 

Sprite 생성

    auto sprite = Sprite::create("HelloWorld.png");
    if (sprite == nullptr)
    {
        problemLoading("'HelloWorld.png'");
    }
    else
    {
        // position the sprite on the center of the screen
        sprite->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));

        // add the sprite as a child to this layer
        this->addChild(sprite, 0);
    }

함수 이름만 봐도 직관적이다.

Sprite::create에 이미지 이름을 적고 setPosition으로 위치를 정해준다.

그 후 Sceen에 자식으로 붙여준다. 그게 끝이다.

화면을 확대할 수 도 있다.

this->setPosition(200, 200);

this는 현재 HelloWorldScene.cpp 이다.

화면을 setPosition해주면 화면을 딱 200, 200포지션만큼만 이동하고 자식도 따라 이동한다.

그러니까 100, 0일 때 더 정확히 확인할 수 있는데

부모Sceene이 x좌표 100이동한 상태에서 자식이 0, 0을 그리면

부모Sceene이 x좌표 0인 상태보다 자식들의 x좌표가 100이 이동된 것이다.

반응형

Post

반응형

cocos2d github에서 cpp-tests 폴더 안에 있는 샘플들은 공부하는데 꽤나 유용해보였다.

그래서 이 샘플 가지고 공부를 하기로 결정!

cocos2d github cpp-tests 프로젝트 빌드 파일 실행하기

cocos2d-x-4\cocos2d-x-4\tests

다운받은 코코스 파일 안에 테스트 파일 있는 거 확인(tests폴더)

그래서 해당 프젝을 옮겨서 cmake로 빌드 파일 만들려고 하니까 에러가 난다.

H:\CocosProject\cpp-tests\build>cmake . -G "Visual Studio 17 2022" -A Win32
-- Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.19045.
CMake Error at CMakeLists.txt:17 (include):
  include could not find requested file:

    CocosBuildSet


CMake Error at CMakeLists.txt:18 (add_subdirectory):
  add_subdirectory given source "H:/CocosProject/cpp-tests/../../cocos" which
  is not an existing directory.


CMake Error at CMakeLists.txt:403 (setup_cocos_app_config):
  Unknown CMake command "setup_cocos_app_config".


-- Configuring incomplete, errors occurred!

H:\CocosProject\cpp-tests\build>

관련해서 검색해보니까 같은 이슈 발견

https://github.com/cocos2d/cocos2d-x/issues/18696

 

Missing Cmake references · Issue #18696 · cocos2d/cocos2d-x

Hi! I'm trying to build a cocos2d-x3.17 project on Ubuntu 16.04. What I did: > git clone --recursive https://github.com/cocos2d/cocos2d-x. > cd cocos2d- > python download-deps. > git submodule upda...

github.com

반응형

Modules 에 있는 CocosBuildSet.cmake를 복사하라고 한다.

일단 기본프로젝트는 실행이 잘되어서 기본프젝에서 cocosBuildSet 위치를 검색해봤더니

test(프젝)\cocos2d\cmake\Modules에 존재한다.

\test\cocos2d 폴더를 통째로 cpp-tests 폴더에 복사했다.

근데 안된다. 그래서 빌드되는 프로젝트 CMakeLists.txt 와 안되는 프로젝트 CMakeLists.txt의 차이점을 비교함.

cocosBuildSet를 못찾는 거 보니 둘의 기본 경로가 다른 거 같음.

그리고 역시나 경로가 달랐음.

test프로젝트: set(COCOS2DX_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cocos2d)

cpp test 프로젝트: set(COCOS2DX_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../..)

그래서 CMakeLists 복사본 만들고 위치를 test프로젝트처럼 수정.

그러니까 sln 프로젝트 파일 만들어짐!!!! 성공 ㅠㅠㅠㅠㅠㅠ

근데 빌드하니까 에러 발생...

그런데 에러들을 보니까...함수 인자 갯수가 맞지 않는다고 하는 걸 보니

이거 설마 최근 함수 적용이 안된건가 싶다;;;끄으응;;;;

이 프로젝트는 그래도 simple sample이 많은 거 같아서 꼭 돌려보고 싶었는데...;;;;

전부 최신화 시켜줘야 돌아가는건가 싶다;; 일단 보니까 빌드 실패해서 exe파일도 bin 폴더에 안만들어져있음.

(수정중)

일단 에러 하나하나 뜯어보기로 했음

에러 목록

1. 'spine/Debug.h'


오류 C1083 포함 파일을 열 수 없습니다. 'spine/Debug.h': No such file or directory

 일단 쓰는 곳이 없어서 주석 처리.

Label::createWithBMFont("fonts/geneva-32.fnt", "And this is Geneva", TextHAlignment::LEFT, 0, Rect(0, 128, 0, 0));

일단 createWithBMFont 함수 레퍼런스 찾아봄.

https://docs.cocos2d-x.org/api-ref/cplusplus/v4x/db/de4/classcocos2d_1_1_label.html#ab9d3a60682e0d77312e2f154a2840647

 

Cocos2d-x: Label Class Reference

Label is a subclass of Node that knows how to render text labels. More... Inherits Node, LabelProtocol, and BlendProtocol. Inherited by TextFieldTTF. virtual void setString (const std::string &text) override  Sets the text that this Label is to display.

docs.cocos2d-x.org

static Label* createWithBMFont ( const std::string &  bmfontPath,
    const std::string &  text,
    const TextHAlignment  hAlignment = TextHAlignment::LEFT,
    int  maxLineWidth = 0,
    const Vec2  imageOffset = Vec2::ZERO 
  )

Allocates and initializes a Label, with a bitmap font file.

Parameters

bmfontPath A bitmap font file, it's a FNT format.
text The initial text.
hAlignment Text horizontal alignment.
maxLineWidth The max line width.
imageOffset  

ReturnsAn automatically released Label object.See alsosetBMFontFilePath setMaxLineWidth

 

Cocos2d-x: Label Class Reference

Label is a subclass of Node that knows how to render text labels. More... Inherits Node, LabelProtocol, and BlendProtocol. Inherited by TextFieldTTF. virtual void setString (const std::string &text) override  Sets the text that this Label is to display.

docs.cocos2d-x.org

5개 인자라서 false 빼주고 rect 대신 vector 해줌. 어차피 밑에서 벡터 set해주길래 그냥 0, 0으로 넣음. 그리고 어차피 실행이 목적이라 아무 값이나 넣거나 주석 처리 ㄱㄱ

auto label2 = Label::createWithBMFont("fonts/geneva-32.fnt", "And this is Geneva", TextHAlignment::LEFT, 0, Vec2(0, 0));

그랬더니 오류 133개가 튀어나왔다 아...........

으앙...더해보고 안되면 뭐 레퍼런스나 다른 프로젝트 참고를 해야겠어ㅠㅠ

근데 일단 에러나는 파일을 보면

SpineTest.h

SpineTest.cpp

CCConsole.h

ccUTF8.h

이 4개라서 이걸 제외하기로 결정. 일단 CCConsole.h, ccUTF8.h는 하나씩만 에러가 나고

몇백개 대부분 에러는 SpineTest.h, SpineTest.cpp에서 발생.

그래서 SpineTest.h, SpineTest.cpp 사용하는 부분 싹 다 주석처리.

갹!!!성공!!!!

다양한 예제가 있었다.

그리고 이제 또 분석하면 된다...

버그해결>분석>버그해결>분석>버그해결>분석

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

반응형

Post

반응형

cocos-2d 4.0 visual studio 실행

지난번 이야기.

https://dramadramingdays.tistory.com/370

 

cocos-2d 4.0 설치 방법

cocos2d 설치 과정 1. python 설치 cocos-2d는 파이썬2를 지원한다고 한다. 그러므로 먼저 자신의 컴퓨터에 깔린 파이썬 버전을 체크해야한다. cmd를 켜고 python 이라고 명령어를 치면 현재 파이썬 버전을

dramadramingdays.tistory.com

cmake로 빌드 프로젝트 생성하고 visualstudio2022에서 빌드를 했는데...

과연 결과는?

에러입니다!

빌드 실패는 없었는데 왜죠?

근데 test.exe는 잘 만들어졌고 실행도 잘된다......

뭐가 문제죠?

확인해보니 시작프로젝트를 ALL_BUILD가 아니라 현재 프로젝트(나같은 경우는 test)로 바꾸어주어야한다고 한다.

그리고 드디어 성공

(잘못하면 프로젝트 디버그 path, 링커까지 볼 번 했는데 다행이다 ㄷㄷㄷ)

cocos2d 왤케 무섭게 생김 ㄷㄷㄷ

아무튼 cocos2d 오랜만에 봤는데 다들 유니티 써서 커뮤니티 거의 공멸수준ㅠㅠ

c++ 너모 싫고 포인터 너모 싫은데 일단해보고

안되면 flutter해보던가...(하지만 flutter의 그 생소한 문법이 싫어 dart는 그럭저럭이겠지만

자꾸 return 하고 감싸주고??? 그거 너무 이해가 어려움 ㅠㅠ)

아무튼 일단 해보자...하하하ㅏ아항하아하

 

반응형

컴파일 속도 단축에 대해서도 찾았다.

게임엔진은 이미 완성되어있기에 오른쪽 창에 최상위 프로젝트 선택후 속성에 들어가서 라이브러리들을 빌드 해제해주면 빌드 속도가 빨라진다고 한다.

https://blog.naver.com/PostView.naver?blogId=soulumsword_kim&logNo=221729691455&parentCategoryNo=184&categoryNo=&viewDate=&isShowPopularPosts=true&from=search

 

[cocos2d-x 3.17.2] 설치 및 신규 프로젝트 생성하기

본 포스팅에서는 cocos2d-x를 본격적으로 사용하기에 앞서서 개발환경을 구축하는 순서에 대해 설명하고자 ...

blog.naver.com

 

 

cocos2d 참조하면 좋은 문서들

cocos2d 문서

https://docs.cocos.com/cocos2d-x/manual/en/about/getting_started.html

 

About Cocos2d-x · GitBook

Where to get Cocos2d-x and what do I get? You can clone the GitHub Repo and follow the steps in the README. You can also download as part of the Cocos package on our download page. No matter if you choose to develop in C++, JavaScript or Lua, everything yo

docs.cocos.com

cocos2d 레퍼런스

https://docs.cocos2d-x.org/api-ref/cplusplus/v4x/

 

Cocos2d-x: cocos2d-x

About cocos2d-x cocos2d-x open source project is designed to be a cross-platform 2D game engine for building 2D games, demos and other graphical/interactive mobile applications. It runs on top of OpenGL 2.0 and OpenGL ES 2.0 and is written in C++. This pro

docs.cocos2d-x.org

cocos2d github

https://github.com/cocos2d/cocos2d-x

cocos2d 튜토리얼

https://gamefromscratch.com/cocos2d-x-c-game-programming-tutorial-series/

cocos2d 샘플 프로젝트

https://docs.cocos2d-x.org/cocos2d-x/v4/en/installation/Windows.html

 

Windows · GitBook

No results matching ""

docs.cocos2d-x.org

Cocos2d-x 4에서 바뀐 함수 이름 등등... 변경점 적혀있음

https://docs.cocos2d-x.org/cocos2d-x/v4/en/apichange/api_change_v4.html

cocos2d-x 포럼

https://discuss.cocos2d-x.org/

 

Cocos Forums

Cocos Official Forums

discuss.cocos2d-x.org

 

반응형

Post

반응형

cocos2d 설치 과정

1. python 설치

cocos-2d는 파이썬2를 지원한다고 한다.

그러므로 먼저 자신의 컴퓨터에 깔린 파이썬 버전을 체크해야한다.

cmd를 켜고 python 이라고 명령어를 치면 현재 파이썬 버전을 알 수 있다.

나 같은 경우는 파이썬3이여서 다시 설치를 해야했다.

https://www.python.org/downloads/release/

 

Python Release Python 2.7.18

The official home of the Python Programming Language

www.python.org

release 버전을 확인해보니 Python 2.7.18 버전이 파이썬2 버전대에서 최신이었다. 그래서 Python 2.7.18을 설치했다.

그리고 환경변수에서 파이썬2를 사용하도록 바꿔줘야한다.

환경변수로 들어가 시스템변수와 user에 대한 사용자 변수 전부 수정해야한다.

맨 아래에 Python2위치(C:\Python27)를 추가한다.

그리고 컴퓨터 재부팅 후 python을 치면 버전이 바뀐 것을 확인할 수 있다.

(그런데 cocos setup.py 를 실행하니 아래와 같은 메시지가 떴다;;; 왜죠;;;

The python version is 3.12. But python 2.x is required. (Version 2.7 is well tested)

일단 환경변수 Path에서 3의 Path를 지워줬다ㅠㅠ

C:\Users\user\AppData\Local\Programs\Python\Python312\Scripts\

C:\Users\user\AppData\Local\Programs\Python\Python312\

환경설정에서 위 경로를 아래로, 2버전을 맨 위로 해줬는데도 안됨;;;

결국 앞으로 py -2.7(현재버전)을 붙이기로 ㅠㅠ)

설치가 완료되었다면 cocos를 설치한 폴더에서 cocos라는 명령어를 친다.

Xiamen Yaji Software Ltd. collects anonymous data when the command-line tools are used for development. This data is examined in the aggregate only and is used to continually innovate and improve Cocos products. This data is anonymous and includes, but is not limited to, a unique hardware identifier, version number our software and information on which tools and/or services in Cocos products are being used and how they are being used. We take your privacy seriously and we do not share or sell any of this data. You can opt-out from sharing this data with us, but by sharing you help contribute to growth of Cocos.

Our entire policy can be viewed at: http://www.cocos2d-x.org/licenses.

For questions please e-mail privacy@cocos2d-x.org.

Do you agree to sent the data? [Y]es, [N]o

라고 뜬다. 선택은

반응형

N으로 해도 무방하다. 그대로 넘어가진다. 그러면 아래와 같은 화면이 뜬다. 끝.

C:\cocos2d-x-4.0\tools\cocos2d-console\bin\/cocos.py 2.3 - cocos console: A command line tool for Cocos2d-x.

Available commands:
        run              Compiles, deploy and run project on the target.
        luacompile       Encrypt and/or compile lua files.
        deploy           Compile and deploy a project to a device/simulator.
        compile          Compile projects to binary.
        gen-simulator    Generate Cocos Simulator.
        new              Creates a new project.
        jscompile        Compile and/or compress js files.

Available arguments:
        -h, --help                      Show this help information.
        -v, --version                   Show the version of this command tool.
        --ol ['en', 'zh', 'zh_tr']      Specify the language of output messages.
        --agreement ['y', 'n']          Skip the agreement with specified value.

Example:
        cocos new --help
        cocos run --help
C:\cocos2d-x-4.0>

 

2. Android, SDK, NDK, ANT 설치

NDK란 C++같은 네이티브 언어를 안드로이드에서 사용할 수 있도록 해주는 도구이다.

Tools - SDK Manager 에서 SDK Tool 탭에서 NDK를 찾아 설치하면 된다.

SDK는 안드로이드 설치할 때 깔리는 듯

환경변수에

변수이름: ANDROID_SDK_ROOT

변수값: C:\Users\user\AppData\Local\Android\Sdk

추가.

Path에 C:\Users\user\AppData\Local\Android\Sdk\tools, C:\Users\user\AppData\Local\Android\Sdk\platform-tools 추가

cmd 창에서 android 라고 치면 andorid 버전이 나온다.

ANT는 안드로이드 없이 앱 빌드 결과물을 만들게 해준다.

https://ant.apache.org/bindownload.cgi

 

Apache Ant - Binary Distributions

Binary Distributions Apache Ant™ Apache Ant is a Java library and command-line tool that help building software. Downloading Apache Ant Use the links below to download a binary distribution of Ant from one of our mirrors. It is good practice to verify th

ant.apache.org

다운로드받은 후 환경변수에 추가

변수 이름 : ANT_ROOT
변수 값 : C:\apache-ant-1.9.16\bin
path에 추가 : C:\apache-ant-1.9.16\bin

ant가 깔렸는지 확인하려면 cmd에서 ant -version  명령어 확인.

 

3. cocos-2d 4버전 설치

https://cocos2d-x.org/download

코코스 다운로드 링크

 

Download Cocos2d-x, Cocos Creator and Cocos | Cocos2d-x

 

cocos2d-x.org

최신버전인 cocos4도 나온지 오래 되어서 4버전을 쓰기로 했다.

전버전과 달라진 부분이 많다고 한다(오픈소스라서 어쩔 수 없는 듯....)

cocos2d-x-4.0 다운로드

이후 원하는 위치에 놓는다.(난 C:\cocos2d-x-4.0)

cmd를 켜서 코코스위치(C:\cocos2d-x-4.0)로 이동한 후 setup.py를 실행시킨다.

C:\cocos2d-x-4.0>py -2.7 setup.py

중간에 경로를 넣어줘야 한다.

Please enter the path of NDK_ROOT

Adroid Setting으로 들어가서 System Setting-Android SDK-SDK Tools에서 Android SDK Location을 확인해서 알아냈다.

나 같은 경우 ndk가 아래에 있었다.

C:\Users\user\AppData\Local\Android\Sdk\ndk\26.2.11394342

SDK 경로도 마찬가지.

C:\Users\user\AppData\Local\Android\Sdk

4. CMake 설치

CMake란 다양한 환경을 구축할 수 있도록 빌드 파일을 만들어주는 시스템이다.

CMake 다운로드. 나는 편하게 msi를 다운로드 받았다.

https://cmake.org/download/

 

Download CMake

You can either download binaries or source code archives for the latest stable or previous release or access the current development (aka nightly) distribution through Git. This software may not be exported in violation of any U.S. export laws or regulatio

cmake.org

설치 옵션에서 Add CMake to the system PATH for all users 선택.

 

5. 코코스 프로젝트 생성

"cocos new (프로젝트명) -p (패키지명) -l (사용언어) -d (저장할 프로젝트 경로)" 

C:\cocos2d-x-4.0>cocos new test -p com.cocos3d.ptest -l cpp -d H:\CocosProject
> Copy template into H:\CocosProject\test
> Copying Cocos2d-x files...
> Rename project name from 'HelloCpp' to 'test'
> Replace the project name from 'HelloCpp' to 'test'
> Replace the project package name from 'org.cocos2dx.hellocpp' to 'cohttp://m.cocos3d.ptest'
> Replace the Mac bundle id from 'org.cocos2dx.hellocpp' to 'cohttp://m.cocos3d.ptest'
> Replace the iOS bundle id from 'org.cocos2dx.hellocpp' to 'cohttp://m.cocos3d.ptest'

해당 프로젝트로 가면 프로젝트가 생성된 것 확인가능.

그런데 vs에서 프로젝트를 열려고 했는데 sin 확장자가 없다.

build 폴더를 만들고 프로젝트 만들기.

그러면 ..으로 상위폴더의 상위폴더가 기준점이 되고

CMakeLists.txt 파일을 찾고 그 파일을 실행하여 빌드 실행 파일을 생성한다.

cmake .. -G"Visual Studio 17 2022" -A Win32

이러니까 build폴더에 sln이 생겼다.

cmake 명령어 좀 찾아봐야...

 

반응형

Post

반응형

다른 사람들은 잘 되는데 나만 이상한 상황이 발현되었다.

바로 글자가 너무 길면 다음 페이지로 넘어가는 현상!!!

이렇게 1페이지 글자가 2페이지까지 튀어나온다;;;;ㄷㄷㄷ

왜 샘플 예제는 괜찮은데 나만 이상하냐구!!!!

근데 이것저것 빼보고 넣어보고 하니까 원인을 발견했다.

원인은 바로 style때문....

white-space: pre;">

white-space: pre 라고 설정되어 있어서 입력한 그대로 출력되게 되어 있었다.

white-space: pre; 부분을 삭제하고 나니까 해결되었다. 후...

전자책 만들기가 그냥 쉽다고만 생각했는데 처음보는 변수들이 자꾸 발생한다.

뭐 전자책 만들기 뿐만 아니라 앞으로도 인생이 그렇겠지^^;;

물음표가 보라색인 오류?도 있었는데.. 이건 그냥 메모장에서 스타일 다 빼고 넣어서 해결보았다.

표지는 png, jpg 중에 뭘 사용할지도 고민해야할덧...

반응형

'etc > sigil' 카테고리의 다른 글

Sigil로 간편하게 전자책 만들기(부업, 투잡 추천)  (0) 2024.01.04

Post

반응형

ModuleNotFoundError: No module named 'pandas' 아나콘다가 깔려 있을 때 해결법

한동안 ModuleNotFoundError 때문에 골치를 앓았다.
분명히 모듈을 설치했는데!!! 설치해서 이젠 업그레이드만 나오는데 왜 자꾸 모듈을 못찾는거냐말이라어ㅏ니러ㅣ자더기ㅏ
환경변수 문제인가 싶어서 건들여봤는데 분명 파이썬 환경변수를 설치 해줬는데도 불구하고

ModuleNotFoundError: No module named

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
미치는 줄 알았다. 그러다가 우연히 아나콘다와 파이썬이 함께 설치되어있을 때
아나콘다의 환경변수 설정 때문에 파이썬 환경변수와 충돌하여 제대로 동작하지 않는다고 알게 되었다.
뭐... 왜 충돌하는진 자세히 모르겠지만 추측해보면
아마 아나콘다 환경변수가 파이썬보다 위에 있어서 아나콘다 가상환경일 때 깔린 곳에서 모듈을 쓰려고 하니 문제였지 않나...싶다...
실제 내 아나콘다, 파이썬 환경변수는 아래와 같았다.

C:\Users\user\anaconda3\Library\mingw-w64\bin
C:\Users\user\anaconda3\Library\bin
C:\Users\user\anaconda3\Scripts
C:\Users\user\anaconda3\Library
C:\Program Files\nodejs\
C:\Users\user\AppData\Local\Programs\Python\Python310

아무튼 아나콘다를 당분간 사용할 일이 없어서 삭제하고 파이썬도 새로 다시 설치했다.
(지금생각해보니 anaconda3 path만 삭제하면 되었던것 같다;;;;)
결과는?
모듈을 찾아서 실행에 성공했다ㅠㅠㅠㅠㅠ!!!
지긋지긋한 No module named  빠이....!
그런데 파이썬을 먼저 설치하고 아나콘다를 설치한 경우

Adding Anaconda to my PATH environment variable

체크를 해제해야한다고 한다.나는 이렇게 해서 다시 깔았는데...
그럼 아나콘다에 문제있는거 아닌가 싶다...
아나콘다 환경설정을 삭제하면 당연히 문제가 있을것 아닌가;;;;
(근데 원래 체크가 안된개 기본이니 상관없나???)

뭐... 나는 일단 지금당장은 아나콘다 쓸 일이 없어서 설치만 하고 마무리~~~
No module named 이제 안녕...!

 

반응형

'이전게시판 > Python' 카테고리의 다른 글

Python 크롤링 리스트 출력  (0) 2023.04.10

Post

반응형

https://campaign2.naver.com/npay/naverpayracing2024?code=f5Jjljz9ZwVUNRZcigRRlw%3D%3D

 

총 상금 1억원! 우리 같이 달려 볼까?

오너 드라이버라면, 우승 기회를 놓치지 마세요!

campaign2.naver.com

네이버페이 포인트 무료 받기

총 상금 1ㅇ억원이라는 이벤트 페이지인데

다른건 필요없고

위 링크에서 보너스 최대 3만원 클릭 시 네이버 포인트 무료 증정됩니다><!

네이버 페이 무료 포인트 냠냠하세요~~~

반응형

Post

반응형

나의 뼈아픈 배민 커넥트 오배송 경험기

요즘 배민 프로모션이랑 쿠팡 단가가 연일 폭격 중이다.
나도 그 흐름에 몸을 맡겨 열심히 배민 도보 알바를 수행하고 있다.
당연하겠지만 아르바이트의 첫 번째 목표는 돈이다.
그래서 저번주에 좀 무리하게 도보 알바를 했다.
다른 건 다 제쳐 두고 빨리 배송하는 것만 우선시했다.
하아....
절대로 그래서는 안 되었는데....
결국 나는 오배송을 하고 말았다.
오배송을 처음 겪는 다면 다들 난감하고 무서울 것이다. 돈은 어떻게 되는 거지? 손님한테 너무 죄송한데 처리는 어떻게 해야 하지?

배민커넥트 오배송. 어떻게 대처해야 할까?


최대 40만 원 보너스를 확인해 보세요!
배민커넥트 가입 시 하단의 추천인 ID를 입력하고 오토바이로 배달해 보세요!
가입일 포함 2주 이내 오토바이로 250건 배달하면 40만 원 보너스 드려요!
배민커넥트 추천인 ID : wwww1020
혜택 받으러 가기
▶https://baeminconnect.onelink.me/k618/dpjp9lzj

사실 예전에도 배민 오배송을 한 적이 있었다.
엄청 집구조가 특이한 집이어서 오배송이 아니라고 확신했는데... 오배송이 맞았다 ㅜㅎㅎ
처음에는 배민 고객센터로 채팅이 왔다.
그다음에는 전화로 고객님이 음식을 못 받았다는 연락을 해왔다.
당황했다.
몇 달간 실수라고는 없었는데 오배송 실수를 하다니!
하지만 당황도 잠시 나중에는 분노했다.
왜냐하면 그 집은 구조가 엄청 특이한 집이어서 기억에 남았는데 절대로 그 집에 잘 배송한 거라고 생각했기 때문이다.
그렇게 특이한 집이 또 있을 리가 없잖아!(있었다ㅜ)
또 환장할 건... 다음 배달이 정해져 있었기에 나는 오배송 배달지와 거리가 꽤 떨어진 상태였다.
그런데 오배송이니까 음식이 우선 아닌가?
배민 고객센터는 나에게 오배송한 음식 상태를 확인할 수 있냐고 물어 왔다.
음식을 확인할 수 없는 상황이라면 다른 배달 기사를 시켜야 되었다.
그럼 음식값도 물어 주고 배달비도 지불해야 하는 상황이었다.


하지만 다행히 현재 배달을 하고 있지 않아서 당장 오배송 배달지를 가기로 했다.
도보였기 때문에 현재 위치와 오배송지 위치는 대략 10분 정도였다.
도보라서 다행이라고 말해야 하나? 오토바이었으면 너무 멀리 있을 수 있어서 배달지를 가는 것조차 불가능했을 수도 있으니까.
아무튼 내가 음식값을 전부 물어야 되는 상황이었기에 얼른 갔다.(슬프게도 그 음식은 내가 별로 좋아하지 않는 음식이었다)
오배송지에 도착!
내가 배달했던 음식은...
두구두구두구두구두구....

반응형

배달 음식이 그대로 있었다!!!
음식을 누군가 훔쳐 가지 않아서 다행이었다.
(그럼 일이 엄청 꼬였을 듯....)
그리고 원래 배송지와 내가 배송한곳을 비교하니 내가 잘못 배송했다는 걸 깨달았다.
그 집 구조가 특이해서 기억이 남는데 그런 식의 특이한 구조로 똑같이 생긴 건물이 있었던 것이다;;;
차라리 외관이 비슷한 빌라면 같은 집주인이 만들었다고 예상을 했겠지만 구옥이었다. 구옥도 빌라처럼 세트로 지을 수 있겠다는 걸 처음 깨달았다.
그리고 골목 안쪽은 지도를 잘 살펴봐야겠다고 다짐했다.
집들이 어지럽게 끼어져 있는 느낌이라 착각하기 쉬웠다.
아무튼 한탄은 잠시 뿐. 1분 1초가 시간이었다.
나는 이 음식을 어떻게 해야 할지 몰라 발을 굴렸다.
음식은 다 있는데 그다음엔 어떻게 해야 해????
그래서 고객센터에 전화를 기다리다가 연락이 하도 안 와서 그냥 내가 배민 고객센터에 전화를 걸었다.
근데 고객센터도 엄청나게 바쁜지 연락이 잘 되지 않았다.
(저녁 피크타임은 어쩔 수 없는 것 같다... 정말 실수를 안 하는 게 돈을 버는 것이다ㅜㅜ)
한 10분 정도 끙끙 거리며 고객센터와 씨름하다가 겨우 겨우 연락이 닿았다.
감사하다는 뜻이 떠오를 정도로 감격스러웠다.


아무튼 겨우 겨우 연락을 받은 고객 센터는 조금 퉁명스러웠지만 오배송일 경우에 음식이 있을 경우라면 원래대로 잘 배달하면 된다고 했다.
진짜 이것도 운이 좋은 것 같았다.
고객이 오배송이라고 배달을 취소해 버리거나 새로 갖다 달라고 하면 나는 그대로 돈을 물어야 되는 상황이었다.
그런데 감사하게도 고객님께서 그냥 음식을 가져 달라고 해서 돈을 아낀 것이다.
그래서 나는 원래 배달지로 가서 고객님께 사과를 했다.
다행히 고객님은 화를 내지는 않으셨다.
너무 고마웠다.
사실 나였음 오배송 때문에 음식도 식고 시간도 왕창 걸리고... 짜증을 엄청 냈을 것 같다.
그런데도 화를 내지 않으셨다.
고마웠고 실리적으로 금전적 손실이 없었다는 게 천만다행이었다.
아무튼 이때 배민 오배송이 어떻게 처리되는지 프로세스를 알게 되었다.

배민 커넥트 오배송 처리 방법

1. 배달기사가 오배송을 회수할 수 있는지 여부를 묻는다. 회수할 수 있다면 배달기사가 원래 픽업지로 음식을 잘 배송하고 끝이 난다.
2. 만약 고객이 주문을 취소하거나 기사가 배송지에 갈 수 없는 상황이라면 돈으로 때워야 한다.

하지만 그때의 나는 오배송 해도 재배송할 수 있으니 너무 불안해하지 말자고 생각했다.
지금 생각하면 참 안일했다. 결국 또 오배송을 하고 말았으니 말이다.

배달비, 음식값을 전부 물어내다!


배민 프로모션이 폭발하지 내 배달 마인드도 바뀌기 시작했다.
운동 삼아하는 거지.라고 생각했으나....
내가 비수기 때부터 배달을 해서 그런지 배민 프로모션이 너무 꿀처럼 달콤하게 느껴졌다.
그래서 결국 이런 결론이 났다.
꿀빨 수 있을 때 꿀 빨자!
그래서 기본을 무시하고 배달을 해 버렸다. 결국 사달이 났다.
내가 오배송한 건에서 의아한 부분이 있었는데 그 부분을 지나친 것이다.
사실 그 배송지는 세 번 정도 알맞게 배송한 전적이 있는 곳이었다.
여러 번 가본 곳이라 그런지 의문을 무시했다.
이때까지 잘해 왔잖아? 그럼 지금까지 했던 대로 하면 되는데 뭐가 문제야?
마침 엘리베이터에 줄이 서 있는 것도 날 초조하게 만들었다. 그래서 확인해야 할 사항을 무시하고 내 판단대로 배달을 해 버렸다.
결국 한 시간 뒤....
갑자기 완료된 주문이 취소되었다고 메시지가 떴다.
뭔가 싶어서 헐레벌떡 주문 내역을 보니 주문 취소라고 적혀 있는 게 아닌가.
놀래서 검색을 해 보니 만약 고객센터에서 연락이 오면 자신의 문제가인거고 아니라면 안심해도 좋다는 글을 발견했다. 딱히 고객센터에서 전화가 온 건 없었다. 그래서 나는 안심하고 일을 끝마쳤다.
그리고 4시간이 지난 뒤....
새벽 1시인가 2시쯤에 전화가 왔다.


(깨어 있어서 망정이지 큰일 날 뻔했다)
고객센터에서는 내가 해당 건을 오배송했다고 알렸다.
시간 때문에 사진도 호수가 안 보이게 대충 땅바닥과 음식을 함께 찍은 사진이어서 고객센터에서는 오배송 여부를 내게 확인할 수밖에 없었다는 것.
동호수 혹시 잘 확인했냐고도 물었다.
후회스러웠다. 시간 때문에 찜찜하게 느껴지는 의혹을 해결하지 않고 빨리빨리 처리해 버린 대가는 혹독했다.
예전에 세 번 이상 배달 했던 곳이니까 이번에도 문제없을 거라는 거.
안일한 판단으로 대가를 치르게 되었다.
결국 오배송은 일어났고 나는 결국 내 잘못이라는 걸 인정할 수밖에 없었다. 고객센터에서는 내가 오배송한 배달은 완료가 취소될 거라고 했다. 또한 배달 음식에 가격만큼 금액을 배민지정계좌에 입금해야 한다고 했다.
(프로모션일 땐 배달 건수 보다 1건 더 많이 하는 게 좋다ㅜ 이런 식의 실수가 일어날 수도 있기 때문에ㅜㅜ)
나는 알겠다고 했고 다음날 문자가 왔다.
입금해야 하는 금액과 계좌번호가 적혀 있었다.
밑에는 오늘 내로 입금을 하지 않을 경우 내 배민 입금 계좌가 동결이 될 수 있으며 배민 커넥트가 제한될 수 있다는 경고성 글이 적혀 있었다.
나는 부랴부랴 입금했고 오배송을 마무리 지었다.
결국 이 날은 프로모션을 포함하여 도보로 시급이 2만 원을 찍었건만 실수 하나 때문에 시급이 폭삭 주저앉았다.
그나마 다행인 건 오배송한 음식 주문금액이 그리 크지 않다는 거?
보통은 2만 원이 넘으니까 말이다.
그리고 앞으로 절대 오배송을 하면 안 된다는 큰 교훈을 얻었다.


절대로 오배송하면 안 되는 이유

예전에는 배민 고객센터 연결이 빨리빨리 되었는데 지금은 오배송연락이 4시간 뒤에 온다.
배민 고객센터 일이 엄청 고되어서 퇴사율이 높다고 한다. 그래서 사람이 안 구해지는지 연락도 늦게 오고 결국 오배송하면 무조건 음식값을 물어줘야 된다고 여기면 편하다....
그것도 시간이 지났으니 음식은 회수도 못하고 말이다.
시간도 잃고 돈도 잃고....
절대 실수하지 말자.

어쨌건 정말 큰 깨달음을 얻은 하루였다.
배민 커넥트로 돈을 벌 수 있는 것은 실수를 안 해서다. 그건 결국 기본을 아주 잘 지켜야 한다는 소리다.
시간과 돈을 좇던 나를 반성하게 한 하루였다.
그리고 세 가지 원칙을 앞으로 절대 어기지 말아야겠다고 생각을 했는데 그 부분에 대해서도 포스팅으로 이야기를 하고 싶다.

배민 오배송 났을 때 결론:

1. 고객이 취소를 하지 않고 재 배달을 원하는 경우. 기존 기사에게 연락이 온다. 이때 자신이 재배달이 가능할 경우 재 배달을 하면 돈을 물지 않는다.
2. 하지만 고객이 취소를 하거나 자신이 재 배달을 할 수 없는 경우라면 배달 기록은 취소당하고 음식값을 물어줘야 한다.

오늘의 포스팅 끝!

배민커넥트 추천인 ID : wwww1020

혜택 받으러 가기
▶https://baeminconnect.onelink.me/k618/dpjp9lzj

반응형
▲ top