cocos2d-x第一次学习

cocos2d-x第一次学习笔记 ,Windows下的结构图,及创建命令

一.准备工具:

  1. 需要电脑安装python2.7
  2. 电脑安装有visual studio 2013 or 2019
  3. cocos2d-x下载cocos2d-x windows版本,  这里我使用的是,V3.17.2版本。
  1. 解压压缩包,得到如下格式(Project,游戏资源动画是我自己创建的文件夹):

二.创建项目:

  1. 使用cmd命令切换到cocos2d-x目录下,然后运行setup.py,我们手动设置SDK,和NDK路径(这两个路径用来编译安卓的如果没有可暂时空着),以及cocos2d-x的环境命令。

  2. 接着用cmd命令切换到:解压的cocos路径/tools/cocos2d-console/bin目录下然后输入命令进行创建

    • cocos.py new 项目名字 -p 包名 -l 语言(cpp or js)

    • 例如 cocos.py new learn01 -p com.lxl.learn01 -l cpp 这里创建的是使用c++语言的项目,回车,将会在当前目录生成一个helloworld的项目

    • 进入目录有以下几个文件

    • 第一个文件夹是公共源代码区,所有的核心代码也将写在这里面

    • 第二个是cocos需要用到的一些工具,比如其他平台的构建工具等

    • 最后一个文件夹是存放资源的路径

      • 生成的工程有4个,android,mac,linux,win32,这里主要用win32,进去文件夹打开learn01.sln

三.项目结构

  1. 从自己观察其他几个项目文件的入口点可以得知,AppDelegate.cpp是cocos2d-x进入游戏主循环前的入口点

  2. 打开这个AppDelegate.h 可以看到声明了除构造和虚构的其他4个虚函数,

    • 第一个初始化opengl上下文,应该是跟平台相关的一些属性
    • 第二个是对游戏开始时做初始化操作,场景加载等
    • 第三个是游戏处于后台运行时所调用
    • 第四个是游戏从后台展现在前台是调用
  3. 查看第二个方法

可以看到设置分辨率时进行了相应的转换,在代码前面可以看到:

在不通平台时自动进行了合适的适配

接下来:

cocos使用了一个静态方法createScene创建了该实例,并将该场景让其进入游戏的主循环,

进入HelloworldScene.h的头文件声明,可以看到:

他是继承了Scene的这个类,并且有个静态的createScene方法,继续进去ctrl+鼠标左键

可以看到其定义是返回了一个自己的静态方法create,在HelloworldScene.h中下面有一个宏,点进去看看实现

这里发现是,创建了一个自己类型的对象,并且还调用了init方法,并返回了自身,由此可以知道,这个宏是创建对象的并且进行了两次初始化,一个是构造方法,一次是调用了init方法,并将其设置了自动回收(未完!)

最后运行一下程序,编译时间比较长: 

原文地址:https://www.cnblogs.com/lxlw/p/11748907.html