win10 vs2022 搭建 cocos2d-x 3.17 开发环境

这篇具有很好参考价值的文章主要介绍了win10 vs2022 搭建 cocos2d-x 3.17 开发环境。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

引擎下载地址

https://cocos2d-x.org/download/

也可以在 github 下载

https://github.com/cocos2d/cocos2d-x/tags

手册地址

https://docs.cocos2d-x.org/cocos2d-x/v3/zh/

api 文档地址

https://docs.cocos2d-x.org/api-ref/cplusplus/v3x/index.html

hello world

安装注意事项

  1. 需要 python2 , 安装后可以用 python2 的绝对路径运行 cocos 的 setup.py
  2. 如何没有把 python2 加入到环境变量, 可以修改引擎路径下的 tools\cocos2d-console\bin\cocos.bat
@echo off
@python2 绝对路径 "%~dp0/cocos.py" %*

新建项目

cocos new HelloCocos -p com.laolang.hellococos -l cpp

然后打开 proj.win32 目录下的 .sln 文件, 提示升级点确认, 编译运行即可

中文乱码问题

参考:
Cocos2d-x 中文标题设置
Cocos2d-x 中文内容设置

标题直接用下面的函数转一下, Label等内容的中文显示还需要中文字体的支持, 可以从网上下载或者从C盘拷一个, 例如宋体常规, 此字体文件名为:simsun.ttc

std::string CommonUtil::GBKToUTF8(const std::string& strGBK)
{
    std::string strOutUTF8 = "";
    WCHAR* str1;
    int n = MultiByteToWideChar(CP_ACP, 0, strGBK.c_str(), -1, NULL, 0);
    str1 = new WCHAR[n];
    MultiByteToWideChar(CP_ACP, 0, strGBK.c_str(), -1, str1, n);
    n = WideCharToMultiByte(CP_UTF8, 0, str1, -1, NULL, 0, NULL, NULL);
    char* str2 = new char[n];
    WideCharToMultiByte(CP_UTF8, 0, str1, -1, str2, n, NULL, NULL);
    strOutUTF8 = str2;
    delete[]str1;
    str1 = NULL;
    delete[]str2;
    str2 = NULL;
    return strOutUTF8;
}

hello world 关键代码注释

AppDelegate的applicationDidFinishLaunching方法
其四个方法含义分别为(https://blog.csdn.net/xiayao2012/article/details/49472423)

initGLContextAttrs();//设置 OpenGL环境
applicationDidFinishLaunching(); //逻辑初始化
applicationDidEnterBackground(); //切换到后台
applicationWillEnterForeground(); //切换到前台

bool AppDelegate::applicationDidFinishLaunching() {
    // 初始化 director
    auto director = Director::getInstance();
    auto glview = director->getOpenGLView();
    // 初始化 opengl 试图
    if(!glview) {
        glview = GLViewImpl::createWithRect(CommonUtil::GBKToUTF8("第一个 Cocos2d-X 程序"), cocos2d::Rect(0, 0, resolutionSize.width, resolutionSize.height));
        director->setOpenGLView(glview);
    }

    // 开启左下角 FPS 状态信息
    director->setDisplayStats(true);
    // 设置 FPS 为 60, 默认为 60
    director->setAnimationInterval(1.0f / 60);

    // 设置屏幕分辨率
    glview->setDesignResolutionSize(resolutionSize.width, resolutionSize.height, ResolutionPolicy::NO_BORDER);

    register_all_packages();

    // 创建 Hello World 场景, 对象的释放交给 cocos2d-x 管理
    auto scene = HelloWorld::createScene();

    // 运行
    director->runWithScene(scene);

    return true;
}

HelloWorldScene的init方法

bool HelloWorld::init()
{
    // 先执行父类的 init
    if (!Scene::init())
    {
        return false;
    }

    // 获得可视区域大小
    const auto visibleSize = Director::getInstance()->getVisibleSize();
    log("width:%f , height:%f", visibleSize.width, visibleSize.height);
    // 获得原点位置 左下角
    const Vec2  origin = Director::getInstance()->getVisibleOrigin();
    log("x:%f , y:%f", origin.x, origin.y);


    // 关闭按钮, 是一个 MenuItemImage, 表示一个菜单项
    auto closeItem = MenuItemImage::create(
        "CloseNormal.png", // 非选中状态
        "CloseSelected.png", // 选中状态
        CC_CALLBACK_1(HelloWorld::menuCloseCallback, this) // 回调函数
    );
    // 按钮位置, 窗口右下角
    const float x = origin.x + visibleSize.width - closeItem->getContentSize().width / 2;
    const float y = origin.y + closeItem->getContentSize().height / 2;
    closeItem->setPosition(Vec2(x, y));

    // 把菜单项添加到菜单中
    auto menu = Menu::create(closeItem, NULL);
    menu->setPosition(Vec2::ZERO);
    // 菜单添加到当前层
    this->addChild(menu, 1);

    // Hello World 文本
    const auto label = Label::createWithTTF(CommonUtil::GBKToUTF8("第一个程序"), CommonUtil::GetDefaultFontPath(), 24);
    // 设置文本位置
    label->setPosition(Vec2(origin.x + visibleSize.width / 2, origin.y + visibleSize.height - label->getContentSize().height));
    // 文本添加到当前层
    this->addChild(label, 1);

    // 创建背景图片
    const auto sprite = Sprite::create("HelloWorld.png");
    // 图片位置
    sprite->setPosition(Vec2(visibleSize.width / 2 + origin.x, visibleSize.height / 2 + origin.y));
    // 背景图片添加到当前层
    this->addChild(sprite, 0);

    return true;
}

关于资源复制问题

有时候 Resources 目录下的文件无法复制到输出目录, 此时可以使用生成事件解决这个问题

xcopy /s /f /h /y $(ProjectDir)..\Resources\res $(OutDir)\Resources

win10 vs2022 搭建 cocos2d-x 3.17 开发环境文章来源地址https://www.toymoban.com/news/detail-475040.html

到了这里,关于win10 vs2022 搭建 cocos2d-x 3.17 开发环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • cocos2d-x Android原生平台与Lua交互

    版本: cocos2d-x 语言: C++/Java/Lua cocos2d-x原生平台Android 接入第三方SDK, 需要了解 LuaJavaBridge 的使用。 它封装了用于 Java 和 Lua 的相互调用, 其调用通过 C++ 为中介,简要的流程: Lua调用Java: Lua - C++ - Java Java调用Lua: Java - C++ - Lua 以此方式来实现数据的交互, 接下来我们分别说下

    2024年02月08日
    浏览(30)
  • 如何将cocos2d-x js打包部署到ios上 Mac M1系统

    项目环境 cocos2d-x 3.13 xcode 12 mac m1 big sur 先找到你的项目 使用xcode软件打开上面这个文件 打开后应该是这个样子 执行编译运行就好了 可能会碰到的错误 在xcode11版本以上都会有这个错误,这是因为iOS11+废弃了system。 将上面代码修改为 解决方案地址 remove \\\"system\\\" usage by minggo ·

    2024年02月22日
    浏览(34)
  • Pygame和Cocos2d

    Pygame和Cocos2d都是 Python 中常用的游戏引擎,但它们的设计目标、特点和使用场景略有不同。 Pygame与Cocos2d,目前是使用人数最多的两个Python游戏库。根据某知名产品点评网站的数据显示,Cocos2d排名第一,Pygame排名第二。 Pygame是一种基于SDL(Simple DirectMedia Layer)的Python库,主要

    2024年01月21日
    浏览(32)
  • cocos2D插件转3D插件

    cocos2D插件转3D插件

    2024年02月16日
    浏览(32)
  • Qt6.5.1+WebRTC学习笔记(十)开发环境搭建(win10+vs2022)

    1.操作系统win10 64位 2.合理的上网方式,需要正常访问google,最好有40G以上流量 3.安装VS2022,笔者使用的是社区版,并选中C++相关,笔者设置如下        注意,win10的sdk需要是10.0.22621.0,其他版本可能导致编译不通过,而且这个版本会根据webrtc源码的更新而发生变化  4.安装

    2024年02月08日
    浏览(34)
  • 绑定证书的cocos2d程序如何对wss长连接抓包

    点击上方 ↑ ↑ ↑ 蓝字[ 协议分析与还原 ]关注我们 “  解决在应用内绑定了证书的cocos2d应用wss长连接抓包的问题。 ” 在分析应用的过程中,不可避免地需要抓包。 没加密的还好说,随便找个工具抓下就可以分析了,有些应用数据使用tls加密了,但用的是系统内置的证书,

    2024年02月05日
    浏览(44)
  • 《入门级-Cocos2d 4.0塔防游戏开发》---第二课:游戏加载界面开发

    目录 一、开发环境介绍 二、开发内容 2.1 修改窗口的大小。 2.2 添加加载场景相关代码 2.3 添加资源 三、显示效果 四、知识点  4.1 Sprite 4.2 定时器 操作系统:UOS1060专业版本。 cocos2dx:版本 环境搭建教程: 统信UOS下配置安装cocos2dx开发环境_三雷科技的博客-CSDN博客        游

    2024年02月15日
    浏览(40)
  • Jpeg-9e源码编译(Win10,VS2022)

    Jpeg-9e源代码下载网址 http://www.ijg.org/ 下载后得到文件 解压缩到“D:SourceCodesjpeg-9e” 在目录“D:SourceCodesjpeg-9e”中创建文本文件,并改名为“win32.mak”,其内容如附注所示。 使用命令行,进入VS2022开发者命令行窗口 cd D:ProgramsMicrosoft Visual Studio2022CommunityVCAuxiliaryBuild D

    2024年02月04日
    浏览(44)
  • Win10 + VS2022 + OpenCV 4.7 + contrib + cuda加速 编译

    https://download.csdn.net/download/Kasper_2009/88252429 https://download.csdn.net/download/Kasper_2009/88252429 在cmd命令中打nvidia-smi看支持的cuda最高版本 cuda版本选择也不能过于早,作者之前用过cuda11.2,在后续vs编译环节发现其最高只支持vs2019,不支持vs2022。目前作者使用cuda11.8。 下载安装cuda:CU

    2024年02月17日
    浏览(30)
  • win10 + vs2017 + cmake3.17 编译 freetype2.6.5

    按照cmake安装的正常流程走即可。 依赖库:zlib,png. 备注: 在cmake--Configure时,配置zlib和png依赖库。修改cmake的install目录。 两个依赖库的安装,在我的其他教程里有。不再赘述。

    2024年02月05日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包