【游戏引擎Easy2D】场景和文本,不同的输出方式
- ?🧛?♂?iecne個人主頁:點贊關注收藏評論支持哦~
- 💡每天關注iecne的作品,一起進步
- ?一起學習內容專欄:C++保姆級入門教程??C++每日一題??C++游戲設計教程
- 👉本文收錄專欄:C++游戲引擎教程與實戰
- 🐳希望大家多多支持🥰一起進步呀!
前言
哈嘍大家好,我是iecne,本期為大家帶來的是CPP/C++游戲引擎Easy2D教程 —— 調整窗口 ,包教包會,快來看看吧!
引擎支持 Visual Studio 2013 及以上版本,如果你使用的是較低版本的 VS,那么你需要考慮一下更新你的編譯器了
目錄
前言
一.場景
二.節點
三.文本節點加入場景實例(代碼實例)
四.內存管理與垃圾回收
五.綜合實例? (代碼實例)
六.總結
一.場景
Scene(場景)?代表游戲中的一個界面,你的游戲可以有類似主菜單、游戲界面、結束界面等多個場景。
你可以直接使用?new?關鍵字創建場景:
// 創建一個空場景 auto scene = new Scene; // 記得刪除場景 delete scene;SceneManager(場景管理器)?是控制場景間切換的類,使用?SceneManager::enter()?函數進入你創建的場景中,使用?SceneManager::back()?可以退出當前場景。
// 進入 scene 場景 SceneManager::enter(scene); // 退出當前場景 SceneManager::back();每一個可視化程序都要有一個場景?,持續關注iecne,帶你們學會告別黑框框
二.節點
場景中所有的元素都被稱為Node(節點),比如場景中的一個按鈕,或者一張圖片,它們都是節點的一種。
Easy2D 提供了許多游戲中常用的節點,比如Text(文本)?Sprite(精靈)?Button(按鈕)等等,你可以像創建場景一樣,直接用?new?關鍵字創建它們
// 創建一個文本節點 auto text = new Text(L"Hello Easy2D");格式如下:
auto 名字 = new (gcnew) Text(L"要輸入的文本");
將創建好的節點加入到場景中,它將顯示在畫面上
// 將文本添加到場景中 scene->addChild(text);三.文本節點加入場景實例
上面的內容都屬于?設計游戲內容,所以上面這個 Demo 的完整代碼如下所示
#include <easy2d/easy2d.h> #include <iostream>using namespace easy2d; using namespace std;int main() {if (Game::init()){/* 設計游戲內容 */// 創建一個空場景auto scene = new Scene;// 進入 scene 場景SceneManager::enter(scene);// 創建一個文本節點auto text = new Text(L"Hello Easy2D");// 將文本添加到場景中scene->addChild(text);Game::start();// 釋放內存delete scene;delete text;}Game::destroy();return 0; }效果如下:
其實這一塊都是一樣的:
#include <easy2d/easy2d.h> #include <iostream>using namespace easy2d; using namespace std;int main() {if (Game::init()){/* 設計游戲內容 */// 創建一個空場景auto scene = new Scene;// 進入 scene 場景SceneManager::enter(scene);// 創建一個文本節點Game::start();// 釋放內存delete scene;delete text;}Game::destroy();return 0; }只不過是在原基礎上增加了這兩行
auto text = new Text(L"Hello Easy2D");// 將文本添加到場景中 scene->addChild(text);?當然text這個變量是可以改變的,但是后面的Text是不能改變的
四.內存管理與垃圾回收
Easy2D 支持垃圾內存的自動回收,要使用這個功能,你需要使用?gcnew?代替?new?來創建對象。
// 創建一個自動回收的場景 auto scene = gcnew Scene; // 創建一個自動回收的文本 auto text = gcnew Text(L"Hello Easy2D");使用 new 運算符創建的對象也可以手動調用?autorelease?函數,使其可以自動被回收。
// 使用 new 創建對象 auto scene = new Scene; // 調用 autorelease 函數,使 GC 自動對其進行回收 scene->autorelease();五.綜合實例
#include <easy2d/easy2d.h> #include <iostream>using namespace easy2d; using namespace std;int main() {if (Game::init()){/* 設計游戲內容 */// 創建一個空場景auto scene = new Scene;// 進入 scene 場景SceneManager::enter(scene);// 創建一個文本節點auto text = gcnew Text(L"點贊,關注,收藏,評論,支持一下iecne吧!!!");// 將文本添加到場景中scene->addChild(text);Game::start();// 釋放內存//delete scene;//delete text;}Game::destroy();return 0; }效果如下:
而這里任然一樣:
#include <easy2d/easy2d.h> #include <iostream>using namespace easy2d; using namespace std;int main() {if (Game::init()){/* 設計游戲內容 */// 創建一個空場景auto scene = new Scene;// 進入 scene 場景SceneManager::enter(scene);// 創建一個文本節點auto text = gcnew Text(L"");// 將文本添加到場景中scene->addChild(text);Game::start();// 釋放內存//delete scene;//delete text;}Game::destroy();return 0; }只是在括號里加上了
點贊,關注,收藏,評論,支持一下iecne吧!!!?所以快點贊,關注,收藏,評論,支持一下iecne吧!!!
六.總結
本節課主要是講解了Easy2D引擎實現的教程,至此該課示例的思想博主已經真真切切徹徹底底分享完了,相信大家對這個邏輯有了一定的理解,大家可以自己動手敲敲代碼,感受一下
包教包會。
帥的人已然點贊收藏關注,而丑的人還在猶豫,被猶豫了,快三連吧!
原創不易,還希望各位大佬支持一下
點贊,你的認可是我創作的動力!
收藏,你的青睞是我努力的方向!
評論,你的意見是我進步的財富!
??感謝每一個觀看本篇文章的朋友,更多精彩敬請期待:iecne的博客_CSDN博客-C++保姆級入門教程領域博主
文章存在借鑒,如有侵權請聯系修改刪除!
總結
以上是生活随笔為你收集整理的【游戏引擎Easy2D】场景和文本,不同的输出方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1-1docker加速器
- 下一篇: 硬件知识:电脑组装机必备的知识梳理