Cocos2d-x 核心概念

本文详细介绍了Cocos2d-x游戏引擎的核心概念,包括场景(Scene)、层(Layer)、精灵(Sprite)、UI组件、导演(Director)及节点类Node。深入探讨了这些元素如何构成游戏世界,以及如何利用Node类进行游戏元素的管理和操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

场景(Scene)和层(Layer)

场景:特定时间,特定地点发生的事件的集合

层:图层

PS中的层一致,场景是由一个又一个层构成的

tips:一个场景可以有多个层,一个场景至少有一个层

精灵(Sprite)

在屏幕上移动的对象,他能被控制。

特点:

  1. 他是可以被控制的游戏对象
  2. 通常是在屏幕上可以移动的对象
  3. 图片元素,如背景画
  4. 动画,如骨骼动画等

例:手游刺激战场中你人物的角色,角色手中的枪,载具等,这些对象都是精灵

序列帧动画:很多张图片以相同间隔的时间循环播放构成的

UI组件

界面上的元素

例:比如游戏中的进度条,标签,按钮,菜单,滑动条,复选框,文本框等

导演(Director)

控制游戏的制作流程,指导团队完成各项任务。

节点类Node

什么是游戏元素?

如游戏中的场景、精灵、文本,地图、菜单、层…,任何的对象。

Cocos2d中用Node类来对应游戏元素的概念,他是Cocos2d-x中最为重要的根类。

Node的属性

以下是比较重要的属性

在这里插入图片描述

节点关系

假设有三个精灵被添加到了父精灵。如果给父精灵旋转了一个角度,那么子精灵也会选择一个角度。

创建Node对象

在这里插入图片描述
这是部分设置还有很多参数。

增加子节点

在父节点中默认显示层级,添加默认元素标识的子节点

parentNode->addChild(node);

在父节点中指定显示层级,添加默认元素标识的子节点

parentNode->addChild(node,zorder);

在父节点中指定显示层级,添加指定元素标识的子节点

parentNode->addChild(node,zorder,tag);

tips:以上是添加子节点的三种重载方式

查找子节点

通过元素标识查找:auto node=parentNode->getChildByTag(tag);

//通过元素查找会比通过名称查找更快,因为整形变量的遍历比字符型更加高效

通过元素名称查找:auto node=parentNode->getChildByName(name);

遍历查找:

Node* findNode =nullptr;
int findTag=20;
for(auto node:parentNode->getChildren())
{
	if(node->getTag()==findTag)
	{
		findNode=node;
		break;
	}
}
删除子节点

通过元素标识删除指定的节点:parentNode->removeChildByTag(tag);

通过元素名称删除指定的节点:parentNode->removeChildByname(name);

通过指定的子节点:parentNode->removeChild(childe);

通过所有的子节点:parentNode->removeAllChildren();

未完待续!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值