"모바일게임만들기"에 해당되는 글 - 4건
Post
cocos2d-x4 Rect, Scale, Rotation, Flipp, Opacity, Visible, Color
[ 이전게시판/cocos-2d ] 2024. 2. 17. 16:14Rect
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까지 줘서 이미지에 색을 입힐 수 있다.
'이전게시판 > cocos-2d' 카테고리의 다른 글
c++ 알 수 없는 재정의 지정자입니다 (0) | 2024.02.24 |
---|---|
cocos2dx bool onTouchBegan(Touch* touch, Event* unused_event); 오버로드 된 멤버함수가 없습니다 (0) | 2024.02.24 |
CallFunc::create 함수에서 CC_CALLBACK_0 매크로 인자로 원하는 인수 넘기기 (0) | 2024.02.22 |
cocos2d-x Text와 효과 정리 (0) | 2024.02.17 |
cocos2d-x 에러 수정하기 (0) | 2024.02.16 |
Cocos2d Anchor 좌표 설정(with cocos2d 기본 프로젝트) (0) | 2024.02.15 |
cocos2d github cpp-tests 프로젝트 빌드 파일 실행하기 (0) | 2024.02.14 |
cocos-2d 4.0 visual studio basic project 실행 (0) | 2024.02.14 |
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
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 함수 레퍼런스 찾아봄.
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
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 사용하는 부분 싹 다 주석처리.
갹!!!성공!!!!
다양한 예제가 있었다.
그리고 이제 또 분석하면 된다...
버그해결>분석>버그해결>분석>버그해결>분석
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
'이전게시판 > cocos-2d' 카테고리의 다른 글
cocos2dx bool onTouchBegan(Touch* touch, Event* unused_event); 오버로드 된 멤버함수가 없습니다 (0) | 2024.02.24 |
---|---|
CallFunc::create 함수에서 CC_CALLBACK_0 매크로 인자로 원하는 인수 넘기기 (0) | 2024.02.22 |
cocos2d-x Text와 효과 정리 (0) | 2024.02.17 |
cocos2d-x4 Rect, Scale, Rotation, Flipp, Opacity, Visible, Color (0) | 2024.02.17 |
cocos2d-x 에러 수정하기 (0) | 2024.02.16 |
Cocos2d Anchor 좌표 설정(with cocos2d 기본 프로젝트) (0) | 2024.02.15 |
cocos-2d 4.0 visual studio basic project 실행 (0) | 2024.02.14 |
cocos-2d 4.0 설치 방법 (0) | 2024.02.13 |
Post
cocos-2d 4.0 visual studio 실행
지난번 이야기.
https://dramadramingdays.tistory.com/370
cmake로 빌드 프로젝트 생성하고 visualstudio2022에서 빌드를 했는데...
과연 결과는?
에러입니다!
빌드 실패는 없었는데 왜죠?
근데 test.exe는 잘 만들어졌고 실행도 잘된다......
뭐가 문제죠?
확인해보니 시작프로젝트를 ALL_BUILD가 아니라 현재 프로젝트(나같은 경우는 test)로 바꾸어주어야한다고 한다.
그리고 드디어 성공
(잘못하면 프로젝트 디버그 path, 링커까지 볼 번 했는데 다행이다 ㄷㄷㄷ)
cocos2d 왤케 무섭게 생김 ㄷㄷㄷ
아무튼 cocos2d 오랜만에 봤는데 다들 유니티 써서 커뮤니티 거의 공멸수준ㅠㅠ
c++ 너모 싫고 포인터 너모 싫은데 일단해보고
안되면 flutter해보던가...(하지만 flutter의 그 생소한 문법이 싫어 dart는 그럭저럭이겠지만
자꾸 return 하고 감싸주고??? 그거 너무 이해가 어려움 ㅠㅠ)
아무튼 일단 해보자...하하하ㅏ아항하아하
컴파일 속도 단축에 대해서도 찾았다.
게임엔진은 이미 완성되어있기에 오른쪽 창에 최상위 프로젝트 선택후 속성에 들어가서 라이브러리들을 빌드 해제해주면 빌드 속도가 빨라진다고 한다.
cocos2d 참조하면 좋은 문서들
cocos2d 문서
https://docs.cocos.com/cocos2d-x/manual/en/about/getting_started.html
cocos2d 레퍼런스
https://docs.cocos2d-x.org/api-ref/cplusplus/v4x/
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
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-2d' 카테고리의 다른 글
cocos2dx bool onTouchBegan(Touch* touch, Event* unused_event); 오버로드 된 멤버함수가 없습니다 (0) | 2024.02.24 |
---|---|
CallFunc::create 함수에서 CC_CALLBACK_0 매크로 인자로 원하는 인수 넘기기 (0) | 2024.02.22 |
cocos2d-x Text와 효과 정리 (0) | 2024.02.17 |
cocos2d-x4 Rect, Scale, Rotation, Flipp, Opacity, Visible, Color (0) | 2024.02.17 |
cocos2d-x 에러 수정하기 (0) | 2024.02.16 |
Cocos2d Anchor 좌표 설정(with cocos2d 기본 프로젝트) (0) | 2024.02.15 |
cocos2d github cpp-tests 프로젝트 빌드 파일 실행하기 (0) | 2024.02.14 |
cocos-2d 4.0 설치 방법 (0) | 2024.02.13 |
Post
cocos2d 설치 과정
1. python 설치
cocos-2d는 파이썬2를 지원한다고 한다.
그러므로 먼저 자신의 컴퓨터에 깔린 파이썬 버전을 체크해야한다.
cmd를 켜고 python 이라고 명령어를 치면 현재 파이썬 버전을 알 수 있다.
나 같은 경우는 파이썬3이여서 다시 설치를 해야했다.
https://www.python.org/downloads/release/
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
다운로드받은 후 환경변수에 추가
변수 이름 : 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
코코스 다운로드 링크
최신버전인 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를 다운로드 받았다.
설치 옵션에서 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 명령어 좀 찾아봐야...
'이전게시판 > cocos-2d' 카테고리의 다른 글
cocos2dx bool onTouchBegan(Touch* touch, Event* unused_event); 오버로드 된 멤버함수가 없습니다 (0) | 2024.02.24 |
---|---|
CallFunc::create 함수에서 CC_CALLBACK_0 매크로 인자로 원하는 인수 넘기기 (0) | 2024.02.22 |
cocos2d-x Text와 효과 정리 (0) | 2024.02.17 |
cocos2d-x4 Rect, Scale, Rotation, Flipp, Opacity, Visible, Color (0) | 2024.02.17 |
cocos2d-x 에러 수정하기 (0) | 2024.02.16 |
Cocos2d Anchor 좌표 설정(with cocos2d 기본 프로젝트) (0) | 2024.02.15 |
cocos2d github cpp-tests 프로젝트 빌드 파일 실행하기 (0) | 2024.02.14 |
cocos-2d 4.0 visual studio basic project 실행 (0) | 2024.02.14 |