草庐IT

c++ - Cocos2dx内存管理,如何使用析构函数以及何时释放对象?

我正在阅读网络和文档,但老实说,我不明白。由于我是cocos2d-x的新手,我想更好地了解对象是如何创建/保留的,以及我应该如何释放它们(如果需要)。让我感到困惑的是我不太了解的智能指针的使用。想象一下,在我的CCLayer(添加到CCScene)中,我添加了一个CCSprite,所以我这样做了:this->sprite=CCSprite::create("mySprite.png");this->addChild(sprite);那么既然我使用了create()我应该在某个地方发布它吗?也许在CCLayer的析构函数中?还是我与此无关?我知道C++的基础知识,所以如果我“新建”一个对

c++ - Cocos2dx内存管理,如何使用析构函数以及何时释放对象?

我正在阅读网络和文档,但老实说,我不明白。由于我是cocos2d-x的新手,我想更好地了解对象是如何创建/保留的,以及我应该如何释放它们(如果需要)。让我感到困惑的是我不太了解的智能指针的使用。想象一下,在我的CCLayer(添加到CCScene)中,我添加了一个CCSprite,所以我这样做了:this->sprite=CCSprite::create("mySprite.png");this->addChild(sprite);那么既然我使用了create()我应该在某个地方发布它吗?也许在CCLayer的析构函数中?还是我与此无关?我知道C++的基础知识,所以如果我“新建”一个对

基于js原生算法+cocos游戏引擎+uni框架Cloud托管网页:开发2048小游戏域名发布版本

  目录首先看一下效果图CocosCreator游戏引擎block绑定:canvas绑定: cocos中创建脚本js以及js原生算法 然后我们先看game.js背景方法及包含的原生算法代码:开始方法及包含的原生算法代码:处理监听事件的方法及包含的原生算法代码:game.js完整代码:colors.js用来存储我们将会用到的块变化时以及背景的颜色block.js是用来判定快与块合并时发生的颜色变化uni框架Cloud托管网页 首先看一下效果图CocosCreator游戏引擎安装完成之后创建一个空项目:我这里创建了一个,我就直接用了!首先我们先创建三个文件夹:首先我们在scenes里面创建一个场景

基于js原生算法+cocos游戏引擎+uni框架Cloud托管网页:开发2048小游戏域名发布版本

  目录首先看一下效果图CocosCreator游戏引擎block绑定:canvas绑定: cocos中创建脚本js以及js原生算法 然后我们先看game.js背景方法及包含的原生算法代码:开始方法及包含的原生算法代码:处理监听事件的方法及包含的原生算法代码:game.js完整代码:colors.js用来存储我们将会用到的块变化时以及背景的颜色block.js是用来判定快与块合并时发生的颜色变化uni框架Cloud托管网页 首先看一下效果图CocosCreator游戏引擎安装完成之后创建一个空项目:我这里创建了一个,我就直接用了!首先我们先创建三个文件夹:首先我们在scenes里面创建一个场景

Cocos2d-x 3D渲染技术 (二)

3D坐标系统五个空间要把游戏模型显示到屏幕需要经历五个空间。局部空间(LocalSpace,模型空间)世界空间(WolrdSpace,游戏空间)观察空间(ViewSpace,视觉空间)裁剪空间(ClipSpace)屏幕空间(ScreenSpace)局部空间(LocalSpace)指模型对象所在的坐标空间,即建模软件的空间。一般在导出创建的模型时,将模型的的坐标设为(0,0,0),目的是为了保持和世界坐标重合,方便调整其在世界坐标中的位置。世界空间(WolrdSpace)游戏所在的场景就是世界空间。将模型放到世界空间之后,可以对模型对象进行平移,缩放,旋转等操作,本质上就是通过矩阵的转换算法实现

【Cocos Creator 3.x】解决`类型为 “xxx“ 的表达式不能用于索引类型 “{}“。`的报错

前言使用CocosCreator3.x编写脚本文件时,在3.0~3.5.2版本,项目默认是开启严格模式(即tsconfig.json的compilerOptions中的strict默认为true),在3.6.0版本,项目默认关闭严格模式。开启严格模式优点:可以帮助我们查找并修正更多的隐藏问题。缺点:会有一系列的报错难于预期或者报错太多了(这个语法不能使用或者哪个语法不能使用,需要规避//@ts-ignore)。问题在我们开启严格模式后,当我们新建了一个索引类型letinfo={};后,我们需要动态为info设置属性以及属性值时,会有如下报错:元素隐式具有“any”类型,因为类型为““aaaa”

【Cocos Creator 3.x】解决`类型为 “xxx“ 的表达式不能用于索引类型 “{}“。`的报错

前言使用CocosCreator3.x编写脚本文件时,在3.0~3.5.2版本,项目默认是开启严格模式(即tsconfig.json的compilerOptions中的strict默认为true),在3.6.0版本,项目默认关闭严格模式。开启严格模式优点:可以帮助我们查找并修正更多的隐藏问题。缺点:会有一系列的报错难于预期或者报错太多了(这个语法不能使用或者哪个语法不能使用,需要规避//@ts-ignore)。问题在我们开启严格模式后,当我们新建了一个索引类型letinfo={};后,我们需要动态为info设置属性以及属性值时,会有如下报错:元素隐式具有“any”类型,因为类型为““aaaa”

Cocos 亮相华为 HDC2021,助力 HarmonyOS 游戏生态建设

10月22日-24日,备受瞩目的2021华为开发者大会(HDC2021)在广东东莞松山湖如期举行,作为华为重要的生态合作伙伴之一,Cocos引擎应邀出席。截止目前,HarmonyOS已在超过1.5亿智能手机、平板、手表、智慧屏等设备上应用。鸿蒙生态的蓬勃发展,为软硬件合作伙伴提供了优渥的土壤。而Cocos作为全球首个支持HarmonyOS的游戏引擎,全面参与了鸿蒙游戏生态和开发者服务建设。新玩法!多设备协同游戏在本次开发者大会上,HarmonyOS的核心特点之一「分布式技术」也再次得到强化。华为通过超级终端实现了手机、智慧屏等之间的多设备协同,应用在游戏场景中,即手机在智慧屏附近可迅速被虚拟成

Cocos Creator 中的assembler那点事

一:Assembler的来龙去脉二:自定义一个渲染组件(使用自定义的assembler挂载)一:Assembler的来龙去脉: 之前的文章中提到和使用过assembler相关的技术,但是现在看来还是理解的不是很到位,1:首先看看那assembler是如何绑定到渲染组件的,随便找到一个渲染组件,比如说老生常谈的Sprite组件 cocos2d/cocos-engine-2.4.8/cocos2d/core/renderer/webgl/assemblers/sprite/index.jsimportAssemblerfrom'../../../assembler';import{Type,Fil

Cocos creater 3.x模型拉伸贴图平铺

Cocoscreater3.x模型拉伸贴图平铺ShaderUnityshader和cocosshaderAPI的对比空间转换顶点着色器要对模型空间下的顶点变换到世界空间,在变换到摄像机的空间,在进行一个裁剪变换,(也叫裁剪空间)然后在做一个投影变换,(将3维转换成2维),实际上这不是真正的投影变换,还是在为后面的投影变化做准备,模型空间模型空间,就是在3Dmax中,美术人员建模的时候,以一个3维坐标系的原点开始建模。就以下面鲨鱼模型做例子。鲨鱼的所有三角面片的顶点都是以模型空间的坐标原点而建立的模型空间也被称为对象空间objectspace和局部空间localspace模型空间到世界空间但是我