Не знаю, чи помітили ви, але навіть елементарний тестовий проект (такий, як було створено у початковій статті) займає досить багато місця — триста мегабайт до початку компіляції та більше п'ятисот після. У старіших версіях фреймворку ситуація була ще гірше — невелика гра в процесі розробки займала майже гігабайт. Насправді, воно не так вже й важливо, але коли у вас багато тестових проектів, місце раптом закінчується.
Проект cocos2d-x має приблизно таку структуру:
SmokeTest
|-bin
|-Classes
|-AppDelegate.cpp
|-AppDelegate.h
|-HelloWorldScene.cpp
|-HelloWorldScene.h
|-cocos2d
|- <багато файлів>
|-linux-build
|- <багато файлів>
|-proj.ios_mac
|-proj.win32
|-proj.android
|-proj.linux
|-main.cpp
|-Resources
|-CMakeLists.txt
Можливо, вміст буде трохи відрізнятись, якщо ви використовуєте Windows. У даному випадку:
bin — результати компіляції: бінарник та ресурсні файли, які він буде завантажуватиClasses — власне, ті файли, які ви будете створювати у процесі розробки. Поки що там пара дефолтних класів, про які я розкажу детальніше у наступних постах.cocos2d — вихідні файли фреймворку. Це окрема копія, призначена персонально для вашого проекту. Скоріш за все, ви їх ніколи не будете змінювати. Водночас це найбільша папка проекту, тому, коли у вас буде кілька проектів, можна спробувати для економії місця використовувати сімлінк.linux-build — проміжні файли, створені в процесі компіляції.proj.ios_mac, proj.win32, proj.android, proj.linux — не мають значення. Наприклад, у proj.linux знаходиться файл main.cpp; дефолтного вмісту цього файлу цілком досить, його ніколи не треба буде редагувати.Resources — ресурси програми: зображення, шрифти та інші корисні речі. Згодом про них буде окремий пост.Нарешті, CMakeLists.txt — це типовий файл cmake для нашого проекту. Найважливіше у ньому — це список сирцевих файлів
# add cross-platforms source files and header files
list(APPEND GAME_SOURCE
Classes/AppDelegate.cpp
Classes/HelloWorldScene.cpp
)
list(APPEND GAME_HEADER
Classes/AppDelegate.h
Classes/HelloWorldScene.h
)
На цьому поки що все. У якості невеличкої вправи можу порадити перейменувати HelloWorldScene.h у щось більш правильне (наприклад, у SmokeTest.h). Просто для того, щоб оцінити, як проходить процесс збирання проекту.