Cocos2d-x层(Layer)详解

如何创建一个层

  • 层的创建方式

    • 直接创建一个层

      Layer* layer = Layer::create();
      

      使用Layer代替Scene,达到更高效的目的,减少切换Scene时不必要的卡顿。Layer层的锚点默认是在左下角,UI组件的锚点默认是在正中心。

    • 自定义层

      class MyLayer : public Layer
      {public:CREATE_FUNC(MyLayer);virtual bool init();
      }
      
    • 常用方法

示例

LayerDemo.h

#pragma once#include "cocos2d.h"
USING_NS_CC;class LayerDemo :public Layer
{public:CREATE_FUNC(LayerDemo);virtual bool init();//单点触发virtual bool onTouchBegan(Touch* touch, Event* unused_event);//单点触发移动virtual void onTouchMoved(Touch* touch, Event* unused_event);//单点取消virtual void onTouchEnded(Touch* touch, Event* unused_event);
};

LayerDemo.cpp

#include "LayerDemo.h"bool LayerDemo::init()
{if (!Layer::init())return false;this->setTouchMode(Touch::DispatchMode::ONE_BY_ONE);//设置该层为单点模式事件this->setTouchEnabled(true);//启用触发事件this->setContentSize(Director::getInstance()->getVisibleSize());return true;
}bool LayerDemo::onTouchBegan(Touch* touch, Event* unused_event)
{log("Touch Began");return true;//如果返回是false,那么触摸移动、触摸结束等都不会执行
}void LayerDemo::onTouchMoved(Touch* touch, Event* unused_event)
{log("Touch Move");
}void LayerDemo::onTouchEnded(Touch* touch, Event* unused_event)
{log("Touch End");
}

HelloWorldScene.cpp

#include "LayerDemo.h"bool HelloWorld::init()
{if (!Scene::init())return false;this->addChild(LayerDemo::create());return true;
}

层的堆叠

  1. 对于场景而言,通常我们添加的节点就是层。
  2. 先添加的层会被置于后添加的层之下。
  3. 如果需要为它们指定先后次序,可以使用不同的Z-Order值。

Cocos2d-x层(Layer)详解相关推荐

  1. SSL(Secure Sockets Layer)安全套接层协议详解

    SSL(Secure Sockets Layer)安全套接层协议详解 SSL简介 SSL历史发展 1.诞生 2.更名 3.发展 SSL协议结构 SSL协议结构详解 SSL警告协议 SSL修改密文协议 ...

  2. OSI七层模型详解物理层、数据链路层、网络层、传输层.....应用层协议

    OSI七层模型详解(物理层.数据链路层.网络层.传输层.....应用层协议与硬件) OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型 ...

  3. OSI七层网络结构详解

    OSI模型的分层结构 OSI(Open System Interconnection),开放式系统互联参考模型 ,它把网络协议从逻辑上分为了7层.这7层分别为:物理层.数据链路层.网络层.传输层.会话 ...

  4. Cocos2d之Node类详解之节点树(二)

    一.声明 本文属于笔者原创,允许读者转载和分享,只要注明文章来源即可. 笔者使用cocos2d框架的cocos2d-x-3.3rc0版本的源代码做分析.这篇文章承接上篇<Cocos2d之Node ...

  5. pytorch---之BN层参数详解及应用(1,2,3)(1,2)?

    BN层参数详解(1,2) 一般来说pytorch中的模型都是继承nn.Module类的,都有一个属性trainning指定是否是训练状态,训练状态与否将会影响到某些层的参数是否是固定的,比如BN层(对 ...

  6. OSI七层模型详解——物理层

    在阅读本篇文章之前建议您了解信道及工作栈的基本原理,详情可以观看OSI七层模型详解--信道与协议栈 OSI模型概述 OSI全称为"Open System Interconnection&qu ...

  7. 数据库系统之:三级模式-两层映射详解

    数据库系统之:三级模式-两层映射详解 前言 一.数据库三大模式详解 1.外模式(反映了数据库系统的用户观) 2.概念模式(反映了数据库系统的整体观) 3.内模式(反映了数据库系统的存储观) 4.概念模 ...

  8. 初识网络基础《网络七层模型详解》

    坚持原创输出,点击蓝字关注我吧 图片来自网络 目录 一.初识网络基础 二.网络七层模型详解 1.物理层 2.数据链路层 3.网络层 4.传输层 5.会话层 6.表示层 7.应用层 三.总结 一.初识网 ...

  9. caffe各层参数详解

    在prototxt文件中,层都是用layer{}的结构表示,而里面包含的层的参数可以在caffe.proto文件中找到,比如说Data类型的结构由message DataParameter所定义,Co ...

  10. 分布式数据层中间件详解:如何实现分库分表+动态数据源+读写分离

    分布式数据层中间件: 1.简介: 分布式数据访问层中间件,旨在为供一个通用数据访问层服务,支持MySQL动态数据源.读写分离.分布式唯一主键生成器.分库分表.动态化配置等功能,并且支持从客户端角度对数 ...

最新文章

  1. c 提取引号中间的字符串_Python | 一文看懂Python列表、元组和字符串操作
  2. nfs服务器安装与客户端安装
  3. 最近安装了win2008R2,界面比win2003友好多了
  4. em算法详细例子及推导_EM算法详解(例子+推导)
  5. matlab中特殊符号如希腊字符
  6. 关于编写流程的一些经验
  7. CSS的三种定位,成功入职字节跳动
  8. [css] 你知道的等高布局有多少种?写出来
  9. 4.4 Triplet 损失
  10. c改java_如何将一个c程序改写成JAVA程序
  11. 数据库备份和事务日志备份
  12. SqlServer得到生日(闰月考虑)
  13. mysql建表语句外键_mysql里面用语句怎么建立表外键的命令
  14. Java 将Excel转为XML
  15. masm5安装教程_masm5 1、下载个masm5.0(简单 联合开发网 - pudn.com
  16. 大一大学计算机期末考试题库,大学计算机基础 大一 考试必备题库
  17. JAVA实现时间换算
  18. event的用法—通知
  19. matlab计算sinx近似值,《Matlab与数学实验》期末作业
  20. AddHeader使用方法

热门文章

  1. 哈工大SCIR Lab | EMNLP 2019 结合单词级别意图识别的stack-propagation框架进行口语理解...
  2. 【每日算法Day 92】经典面试题:编辑距离
  3. 致Android开发者:APP 瘦身经验总结
  4. iPhone企业应用实例分析之四:技术要点分析(1)
  5. 开心记账本 投资理财两不误
  6. 74 ----平面直角坐标变换、平移、旋转、伸缩
  7. 3分钟tips:什么是特征向量?什么是特征值?
  8. spark概念、编程模型和模块概述
  9. cmk聪明客机器人餐厅_住了10年的老房大改造,45客餐厅全开放,更有整面大衣柜,高级又实用!...
  10. php mongodb获取指定字段,Mongodb 根据子文档的某个特定字段排序的问题