日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【游戏引擎Easy2D】场景和文本,不同的输出方式

發布時間:2023/12/10 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【游戏引擎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】场景和文本,不同的输出方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。