- Cocos2d-x by Example:Beginner's Guide(Second Edition)
- Roger Engelbert
- 275字
- 2021-07-23 20:00:27
Time for action – adding retina support
This time we'll work with the class AppDelegate.cpp
:
- Go to
AppDelegate.cpp
(you'll find it in theClasses
folder). Inside theapplicationDidFinishLaunching
method, and below thedirector->setAnimationInterval(1.0 / 60)
line, add the following lines:auto screenSize = glview->getFrameSize(); auto designSize = Size(768, 1024); glview->setDesignResolutionSize(designSize.width, designSize.height, ResolutionPolicy::EXACT_FIT); std::vector<std::string> searchPaths; if (screenSize.width > 768) { searchPaths.push_back("hd"); director->setContentScaleFactor(2); } else { searchPaths.push_back("sd"); director->setContentScaleFactor(1); } auto fileUtils = FileUtils::getInstance(); fileUtils->setSearchPaths(searchPaths);
- Save the file.
What just happened?
An entire book could be written about this topic, although in this first example, we have a very simple implementation on how to support multiple screen sizes since we are only targeting iPads. Here we are saying: "Hey AppDelegate
, I designed this game for a 768 x 1024 screen."
All the values for positioning and font size were chosen for that screen size. If the screen is larger, make sure you grab the files from the hd
folder and change the scale by which you will multiply all my positioning and font sizes. If the screen has the same size I designed the game for, use the files in the sd
folder and set the scale to 1. (Android adds even more complexity to this, but we'll tackle that in later in the book.)
FileUtils
will look for every file you load for your game first inside Resources
| sd
(or hd
). If it doesn't find them there, it will try to find them in Resources
. This is a good thing because files shared by both versions may be added only once to the project, inside Resources
. That is what we'll do now with the sound files.
- 基于粒計算模型的圖像處理
- .NET之美:.NET關鍵技術深入解析
- LabVIEW2018中文版 虛擬儀器程序設計自學手冊
- 自己動手實現Lua:虛擬機、編譯器和標準庫
- STM32F0實戰:基于HAL庫開發
- Building a Quadcopter with Arduino
- Mastering Drupal 8 Views
- 自制編程語言
- Raspberry Pi Home Automation with Arduino(Second Edition)
- INSTANT Sinatra Starter
- Node.js:來一打 C++ 擴展
- Frank Kane's Taming Big Data with Apache Spark and Python
- JavaScript應用開發實踐指南
- Python編程:從入門到實踐(第3版)
- App Inventor 2 Essentials