Cocos2D-X學習3:建立一個新的場景
1、建立cocos專案
首先使用cocos-console建立一個專案工程,在命令列視窗下輸入cocos new -p CocosProject01 -l cpp -d D:\cocos2d-x-3.3\test CocosProject01,建立一個名為CocosProject01的專案並使用VS2012開啟。
2、新增場景類
在專案處右鍵選擇增加-類,建立一個名為MyScene的新類,如下圖。
注意,雖然MyScene命名為scene,稱為場景類,但是它繼承自Layer,而不是繼承自Scene,因此它是一個層而不是一個場景。
3、編輯場景類
參考HelloWoldScene.h編輯MyScene.h的內容,編輯完後的內容如下:
#include "cocos2d.h"
class MyScene : public cocos2d::Layer
{
public:
static cocos2d::Scene* createScene(); // 定義靜態函式,用於獲取場景物件
virtual bool init(); // 初始化場景
CREATE_FUNC(MyWorld); // 這裡使用了 CREATE_FUNC 巨集
};
在MyScenecpp中實現MyScene.h中定義的方法,程式碼如下:
關鍵字auto,編碼器將會在編譯時自動對變數型別進行識別。#include "MyScene.h" USING_NS_CC; Scene* MyWorld::createScene() //功能建立並返回一個場景物件 { auto scene = Scene::create(); //建立一個場景物件 auto layer = MyWorld::create(); //建立Myscene物件 scene->addChild(layer); //將layer加入到場景scene中去 return scene; //返回建立好的場景物件 } bool MyWorld::init() { if(!Layer::init()) { return false; } //在這裡向場景中新增內容 return true; }
執行後的場景如下,與初始的場景相同,這是由於螢幕的內容在AppDelegate.cpp中的定義並沒有更改。
4、在AppDelegate中更改螢幕顯示內容
注意要在AppDelegat.cpp中匯入MyScene.h標頭檔案。
在AppDelegate.cpp中找到applicationDidFinishLaunching方法,在其最末尾處有如下程式碼:
可以看到在這裡建立場景scene使用的是HelloWord類,現在需要將它改為自己定義的類MyScene:// create a scene. it's an autorelease object auto scene = HelloWorld::createScene();
// create a scene. it's an autorelease object
auto scene = MyWorld::createScene();
這樣就將螢幕顯示的內容改為了MyWorld類,由於MyScene.cpp中MyWorld::init沒有內容,因此執行後程序為空白圖如下:
AppDelegate::applicationDidFinishLaunching下有視窗屬性和幀率控制相關的函式:
glview = GLViewImpl::create("My Game"); //設定視窗標題
glview -> setFrameSize(640,360); //設定視窗解析度
director->setDisplayStats(true); //顯示幀率fps資訊
director->setAnimationInterval(1.0 / 60); //設定螢幕fps,預設為每秒60次
相關推薦
Cocos2D-X學習3:建立一個新的場景
1、建立cocos專案 首先使用cocos-console建立一個專案工程,在命令列視窗下輸入cocos new -p CocosProject01 -l cpp -d D:\cocos2d-x-3
Flask學習筆記:建立一個簡單的Flask應用
1. 做好準備工作進入專案主目錄啟用虛擬環境2. 建立app包:在flask中,含有名為 __init__.py 檔案的子目錄被視為包,可以被匯入。在命令列輸入以下命令,建立一個名為app的目錄:(venv) $ mkdir app在app目錄中建立一個名為__init__.
我能用Windows PowerShell做什麼:建立一個新的 Windows PowerShell 別名
注:本篇文章,未在聯絡作者以及得到許可的情況下, 禁止以任何形式進行轉載。 建立一個新的 Windows PowerShell 別名 你說你像Windows PowerShell,但你有些有關記住cmdlet名稱的問題?好,那麼為什麼不給那些cmdlets建立一個別名呢?
Cocos2d-x學習筆記(九)例項——場景自動切換
【關於場景自動切換】 如何實現場景的自動切換?我嘗試過很多種方法,比如在AppDelegate.cpp檔案中的applicationDidFinishLaunching()函式中, 想在pDirector->runWithScene(pLandlords);中直接使用replace
Cocos2d-x學習筆記(五)例項——場景切換
【1】首先設計場景需要許多的圖片資源,往resource資料夾裡新增資原始檔: 【2】新建Cocos2d-x工程時預設的是HelloWord場景,在此只做先顯示佈景層中相關精靈圖片以及選單圖片的修改: 【3】在剛剛的init()函式中有兩個選單回撥函式,主要
Cocos2d-x 3.x學習筆記:猩先生帶你打飛機(四)遊戲場景:背景與我機的建立、敵機的建立、物理世界構建
一、背景與我機的建立 現在我們要建立新的一個場景了。選擇開始遊戲即從選單場景跳到遊戲場景。現在先完善HelloWorldScene的程式碼 找到我們開始遊戲的回撥方法,新增程式碼: //開始遊戲 void HelloWorld::menuStartCa
建立一個帶頭結點的單向鏈表,鏈表中的各結點按結點數據中的數據遞增有序鏈接,函數fun的功能是:把形參x的值放入一個新結點並插入鏈表中,使插入後各結點數據域中的數據仍保持遞增有序
print lis void clu ret div clas head number #include <stdio.h> #include <stdlib.h> #define N 8 typedef struct l
cocos2d-x 3.2 建立一個無限滾動的背景
標頭檔案中增加: void backgroundMove(float dt); cocos2d::Sprite* background1; cocos2d::Sprite* background2; init函式中增加: background1 = Sprite::crea
cocos2d-x學習筆記(十二)cocos2dx 3.10添加lua LuaFileSystem庫遍歷文件
luafilesystem庫;lfs;遍歷文件在lua中遍歷目錄文件需要用到lfs庫,而所用的cocos2dx 3.10沒用lfs,需要自己添加1、下載lfs.c和lfs.hhttps://github.com/keplerproject/luafilesystem 從github獲取源碼,在src目錄拷貝l
Godot Engine 學習筆記 建立一個新專案
建立一個新專案 新建專案 編輯器 新建專案 開啟Godot會出現專案管理器 點選"新建"按鈕,會彈出一個新建視窗,輸入專案名和專案路徑即可。 編輯器 新建完專案,Godot了就會開啟編輯器。 現在打算在場景上顯
Cocos2d-x學習筆記(四)淺析動作類CCAction(3)
【1】動作管理類CCActionManager: 動作管理類CCActionManager是一個管理所有動作的單例,可以對動作進行一系列的操作,如:新增動作、刪除動作、暫停動作、重啟動作,這個單例可以通過CCDirector::sharedDirector()->getActionMa
第一步:cocos2d-x-2.1.4建立專案
準備工具: cocos2d-x-2.1.4 python 將cocos2d-x-2.1.4解壓到D盤或其他盤 安裝python之後,進入tools\project-creator\資料夾 新建一個.txt檔案,輸入 python create_proj
最簡單的Docker映象教程:從頭基於空映象scratch建立一個新的Docker映象
我們在使用Dockerfile構建docker映象時,一種方式是使用官方預先配置好的容器映象。優點是我們不用從頭開始構建,節省了很多工作量,但付出的代價是需要下載很大的映象包。 比如我機器上docker images返回的這些基於nginx的映象,每個都超過了100MB,而一個簡單的
TF學習筆記3(建立一個監聽者)
在之前的教程中,我們建立了一個tf釋出者,用於將龜的姿勢釋出到tf。 在本教程中,我們將建立一個tf監聽器以開始使用tf。 1 如何建立一個tf監聽者 我們先建立原始檔。 轉到我們在上一個教程中建立的包: $ roscd learning_tf 1.1 程式 啟動您喜歡的
例題:建立一個物件陣列,內放5個學生的資料(學號、成績),用指標指向陣列首元素,輸出第1,3,5個學生的資料。【面向物件設計】
題目: 建立一個物件陣列,內放5個學生的資料(學號、成績),用指標指向陣列首元素,輸出第1,3,5個學生的資料。 解答: 程式程式碼如下: #include <iostream>
STM32學習 3:GPIO管腳配置與第一個STM32實驗:LED燈閃爍
STM32學習 3:GPIO管腳配置與第一個STM32實驗:LED燈閃爍 1,GPIO管腳簡介與配置 1.1GPIO框圖 1.2GPIO不同模式 1.3 GPIO暫存器 1.4 GPIO庫函式配置 2,LED燈閃爍實
Spark2.x學習筆記:3、 Spark核心概念RDD
Spark學習筆記:3、Spark核心概念RDD 3.1 RDD概念 彈性分散式資料集(Resilient Distributed Datasets,RDD) ,可以分三個層次來理解: 資料集:故名思議,RDD 是資料集合的抽象,是複雜物理介質上存在資料的一種邏輯檢視。
ZeroMQ介面函式之 :zmq_ctx_new – 建立一個新的ZMQ 環境上下文
zmq_ctx_new(3) ØMQ Manual - ØMQ/3.2.5 Name zmq_ctx_new – 建立一個新的ZMQ 環境上下文 Synopsis void *zmq_ctx_new (); Description zmq_ctx_new()
openstack:nova中“從映象啟動(建立一個新卷)”建立虛擬機器的流程
原文網址:http://blog.csdn.net/xiangpingli/article/details/47912777 nova還有一種啟動方式:“從映象啟動(建立一個新卷)” 這個流程中,nova會在_prep_block_device中的attach_blo
xlib/x11:建立一個監測鍵盤事件的視窗-3-fullscreen-windowed
傳送門:上一篇https://blog.csdn.net/Rong_Toa/article/details/85725642 首先給出二者區別 /** * Phase 03 - Switch to windowed fullscreen when clicking F11. *