<7>Cocos Creator 节点 cc.Node】的更多相关文章

1.简介 节点(cc.Node)是渲染的必要组成部分.所有需要在游戏场景中显示的内容都必须是节点或者依附于节点之上.节点负责控制显示内容的位置.大小.旋转.缩放.颜色等信息. 2.节点属性 1: name: 获取节点的名字 2: active: 设置节点的可见性; 3: position: 相对坐标,参照物是父亲节点; 4: rotation: 旋转,顺时针为正, 数学逆时针为正; 5: scale: 缩放; 6: anchor: 锚点, 左下角(0, 0), 右上角(1, 1) 可以超过这个范…
//节点从创建到节点挂载一些过程 1.JS中节点使用: a.创建:在properties中定义节点(可能包括节点的默认值和类型): b.挂载:在相应的方法中获取节点获取相应节点,挂载到父元素 例== cc.Class({ extends: cc.Component, //定义节点 properties: { node1:{ default: null, type: cc.SpriteFrame }, node2:{ default: null, type: cc.Sprite }, }, onL…
1.场景树 Cocos Creator是由一个一个的游戏场景组成,场景是一个树形结构,场景由 有各种层级关系的节点(下一节有具有介绍)组成: 如创建一个HelloWorld的默认项目NewProject中,并在其中创建了一个UI渲染节点-Button,更改名为newBtn: 具体HelloWorld场景的场景树表现为下图所示 2.节点 2.1.1 创建节点----在层级管理器窗口中鼠标单击右键即可创建节点,或者按如下图进行点击创建节点按钮 单击鼠标右键后会显示三项: a)创建空节点:点击即可创建…
1.组件简介 组件是Cocos Creator的主要构成,渲染(场景显示内容).逻辑.用户输入反馈.计时器等等几个方面都是由组件完成的.根据Cocos Creator的总体架构,组件和节点配合完成游戏所需内容. 所有组件都是代码脚本.一部分是Cocos Creator提供的,源码在Cocos Creator安装目录中:一些是用户自定义脚本,可在资源管理器中找到对应的脚本文件,组件需要添加到节点上才能执行. Cocos Creator是组件式开发游戏,组件是完成某种功能的部件,例如假设一个人穿了防…
目录 安装和启动 文件结构 编辑器基础 基本概念 (场景树 节点 坐标 组件 ) Cocos Creator 脚本简介 Cocos Creator调试 节点 cc.Node 组件开发cc.Component cc.Sprite组件​​​​​​​ 系统内置和全局事件系统 GUI--cc.Button组件 GUI--cc.Label组件 GUI--cc.EditBox组件 cc.Node坐标空间的转换 GUI--cc.Widget与屏幕适配 GUI--cc.Layout组件 GUI--Mask和Sc…
Cocos Createor 资源 略 场景 节点树 节点与组件 坐标系 脚本 组件声明,生命周期回调 var Component = cc.Class({ // 用于序列化,可省略 name: 'some Name', // 构造函数 cotr: function() { // 不会覆盖父类的构造函数,自动调用父类构造方法 cc.log(this instanceof Component); }, // 继承 extends: cc.Component, // 属性声明,可在编辑器<属性检查其…
对于cc.Node我分了四个模块学习: 1.场景树,2.事件响应,3.坐标系统,4.Action的使用:在此记录经验分享给大家. 场景树 1: creator是由一个一个的游戏场景组成,通过代码逻辑来控制场景跳转:2: creator场景是一个树形结构:3: 父节点, 子节点:4: cc.Node就是场景树中的节点对象: 5: 每个节点只要在场景里面,所以任何一个节点都是一个cc.Node: cc.Node属性 1: name: 获取节点的名字: 2: active: 设置节点的可见性: 3:…
触摸事件 1.触摸事件的类型:START触摸启动,MOVED移动,ENDED弹起来,CANCEL取消; ENDED和CANCEL区别是ENDED物体内弹起来,CANCEL是在物体外范围弹起. 2.监听触摸事件,node.on(类型,callback,target(回调函数的this),[useCapture]) 3.触摸事件,node.on(类型,callback,target(回调函数的this),[useCapture])       //(1)监听触摸事件 向引擎底层注册回调函数     …
1.目的:只有通过方便的获取节点对象以及组件,才能较好的进行逻辑控制. 2.通过 cc.find(节点全路径名称字符串) 获取节点. 3.通过getComponent获取组件(注意一个是类型,一个是类名). ①通过 cc.Node.getComponent(类型) 获取节点中该类型对应的组件. ②通过 cc.Node.getComponent(类名) 获取节点中该类名称对应的组件. 4.在Canvas下增加一个SearchNode的节点: 创建一个带有myName属性的脚本Search(这个就是…
最近参与了cocos creator的研究,开发小游戏,结果被一个事件坑得不行不行的.现在终于解决了,分享给大家. 原理 1.触控事件是针对节点的 2.触控事件的冒泡,是一级一级往上冒泡,中间可以阻止冒泡 3.父节点不响应触控事件,注意看父节点的位置.大小等,如果触点位置不在父节点区域内肯定不能触发touch事件了,父节点大小为0肯定也不会触发touch事件了! 4.触控事件往祖先节点冒泡,祖先节点是否会检测触点是否在自己区域内,由子节点是否监听了touch事件有关.子监听了,父就不会检测区域是…
这系列文章会对Cocos Creator的资源加载和管理进行深入的剖析.主要包含以下内容: cc.loader与加载管线 Download部分 Load部分 额外流程(MD5 Pipe) 从编辑器到运行时 场景切换流程 前面4章节介绍了完整的资源加载流程以及资源管理,以及如何自定义这个加载流程(有时候我们需要加载一些特殊类型的资源)."从编辑器到运行时"介绍了我们在编辑器中编辑的场景.Prefab等资源是如何序列化到磁盘,打包发布之后又是如何被加载到游戏中. 准备工作 在开始之前我们需…
cc.Class({extends: cc.Component,properties: {}, onLoad: function () { var clickEventHandler = new cc.Component.EventHandler(); clickEventHandler.target = this.node; //这个node节点是你的事件处理代码组件所属的节点 clickEventHandler.component = "MyComponent";//这个是代码文件…
1.通过find方式获取//获取节点 var node=cc.find("Canvas/logo"); //获取精灵组件 var sprite=node.getComponent(cc.Sprite); 2.通过在构造函数中定义组件,并且从层级管理器中拉入节点. cc.Class({ extends: cc.Component, properties: { label: { default: null, type: cc.Label }, logo: { default: null,…
这篇文章主要是我们团队在使用Cocos Creator过程中的一些关于部署方面的实践总结,标题党了一回,严格来说,应该是<快看漫画游戏研发团队使用Cocos Creator构建部署最佳实践>,对于其他团队可能并不是. 之所以写这篇文章,一是我刚开始接触Cocos Creator的时候,发现构建部署方面的一些问题,针对性写了3篇优化的方案,随着对Cocos Creator了解的深入,我发现了一些更好的替代方法,二是因为我们团队随着业务发展,又到了缺人的时候,出来刷刷脸,发点招聘广告:Cocos…
五邑隐侠,本名关健昌,10年游戏生涯,现隐居五邑.本系列文章以TypeScript为介绍语言. 我们在cocos creator新建一个Hello TypeScript项目,都会有一个assets/Scene/helloworld.fire文件.使用cocos creator开发游戏时,项目可以只有一个.fire文件.一般地,我会把这个文件夹改名为assets/scene,下面只有main.fire文件:assets/scene/main.fire. 双击main.fire文件,在层级管理器可以…
Cocos Creator 为组件脚本提供了生命周期的回调函数.用户通过定义特定的函数回调在特定的时期编写相关 脚本.目前提供给用户的声明周期回调函数有: onLoad start update lateUpdate onDestroy onEnable onDisable onLoad 组件脚本的初始化阶段,我们提供了 onLoad 回调函数.onLoad 回调会在这个组件所在的场景被载入 的时候触发,在 onLoad 阶段,保证了你可以获取到场景中的其他节点,以及节点关联的资源数据.通常 我…
1.目的:学习加载图片资源.使用图片资源创建对象以及释放图片资源. 2.注意事项以及主要函数: ①注意事项:使用loadRes函数,资源必须放置在assets下的resources文件夹下(默认没有resources文件夹,需要自己创建:不只是图片,所有的资源都应该放置在resources文件夹或者子文件夹下). ②加载资源函数:cc.loader.loadRes(无后缀文件路径,文件类型,回调函数).需要注意的是,该函数为异步加载函数. ③释放资源函数:cc.loader.releaseRes…
1.移动设备上主要涉及触摸响应事件以及重力传感响应事件的处理. 事件主要分两类: 针对节点事件处理的节点响应事件cc.Node.EventType(主要是触摸响应事件和鼠标响应事件): 针对全局系统事件处理的全局事件cc.SystemEvent.EventType(主要是重力传感响应事件以及键盘响应事件). 2.触摸响应事件 ①包括四个响应事件: ②响应函数参数event重要属性 event.currentTouch._startPoint:开始触摸时坐标位置. event.currentTou…
1.目的:学习生命周期回调函数以及回调顺序,更有利于我们逻辑的处理把控. 2.生命周期回调函数: 节点:指cc.Node:组件:指cc.Component. ①onLoad:脚本组件绑定的节点所在场景加载时系统回调一次(或者节点active从false变为true时系统回调一次).可在这里获取场景中其它节点,并可以初始化一些不常改变的属性. ②start:只在第一次update前系统回调一次.这里可以初始化一些经常改变的属性. ③update(dt):每一帧渲染前系统回调,主要用于处理逻辑.dt…
1.方法一:通过编辑器对cc.Button的属性进行拖放操作进行控制 (1)创建脚本BtnClick1.js,增加btnClick1函数,然后拖放到Canvas节点中(记得拖放,否则下面步骤将找不到对应的函数). btnClick1: function (event, customEventData) { //这里 event 是一个 Touch Event 对象,你可以通过 event.target 取到事件的发送节点 var node = event.target; var button =…
一.前言 在学习Cocos中,需要一些东西来练手,于是前段时间就开发仿照一款公司之前的产品<点我+1>来做,仿照过程中,所有的算法逻辑都是自己研究的,并没有参考公司代码,也没有使用公司的美术资源,所以也就不存在公司机密的内容啦,完全只是学习练习而已. 这是一款消除类游戏,规则和大多数三消类游戏差不多,在一个5x5的格子中,有25个方块,每个方块有一个数字,用户的操作就是点击方块,使方块的数字+1,当至少每3个相同数字的时候,这些数字相同的方块合成为一个,并且数字+1,在玩家的表现就是:除了点击…
1.创建脚本 在资源管理器窗口中点击鼠标右键,显示菜单中点击新建,选择新建的脚本类型,这里举例就选择菜单中的JavaScript,或者如下图点击创建按钮也可. 新建后就会在资源管理器中出现一个NewScript的脚本,如上图中右图,也可以进行更改名称.打开xxx.js文件后如下图 可以自定义脚本的格式,我这里是自定义了,源文件模板为下图 自定义格式可以在Cocos Creator安装的目录下的resources文件夹--->static文件夹--->template文件夹--->new-…
本文的cocos creator版本为v1.9.01.color赋值cc.Label组件并没有颜色相关的属性,但是Node有color的属性. //如果4个参数,在ios下有问题let rgb = [13,225,122]; node.color = new cc.Color(...rgb); 下面是错误的写法: node.color="rgba(13,225,122,1)" node.color="#ff00000" 2.坐标系子节点的位置属性(position)…
cocos creator 事件 在做一个消除类游戏时,需要对点击的方块做出响应.代码很简单,可背后的原理还多着呢. 1. 普通节点注册click事件 在cc中如果需要相应click事件,需要为该节点添加一个Button组件.或使用类似效果的事件比如 cc.Node.EventType.MOUSE_DOWN cc.Node.EventType.TOUCH_END //author herbert qq:464884492 //注册按钮click事件 btn.node.on("click"…
在Creator中发起一个http请求是比较简单的,但很多游戏希望能够和服务器之间保持长连接,以便服务端能够主动向客户端推送消息,而非总是由客户端发起请求,对于实时性要求较高的游戏更是如此.这里我们会设计一个通用的网络框架,可以方便地应用于我们的项目中. 使用websocket 在实现这个网络框架之前,我们先了解一下websocket,websocket是一种基于tcp的全双工网络协议,可以让网页创建持久性的连接,进行双向的通讯.在Cocos Creator中使用websocket既可以用于h5…
如果你想使用Cocos Creator制作一些规模稍大的游戏,那么资源管理是必须解决的问题,随着游戏的进行,你可能会发现游戏的内存占用只升不降,哪怕你当前只用到了极少的资源,并且有使用cc.loader.release来释放之前加载的资源,但之前使用过的大部分资源都会留在内存中!为什么会这样呢? cocos creator 资源管理存在的问题 资源管理主要解决3个问题,资源加载,资源查找(使用),资源释放.这里要讨论的主要是资源释放的问题,这个问题看上去非常简单,在Cocos2d-x中确实也很简…
上一篇文章写了一个简易版的蚂蚁庄园登山赛,有小伙伴留言说想要看星星球的,那么就写起来吧! 效果预览 配置环境 cocos creator 3d 1.0.0 小球点击 3d里节点无法用 cc.Node.EventType.TOUCH_START 监听.最终在论坛上找到一个 raycast 解决方法.参考代码如下. start() { systemEvent.on(SystemEventType.TOUCH_START, this.onClickBall, this); } private _ray…
拇指射箭!你能射中靶心么? 效果预览 配置环境: cocos creator 3d v1.0.0 玩法介绍: 长按屏幕,拖动瞄准,放手发射.风向.重力和距离影响最终结果!越靠近中心得分越高!最高分10分! 实现原理 流程图: 镜头控制: 采用两个摄像机控制镜头显示.一个是发射视角的摄像机:另一个是绑定在箭节点的摄像机,会跟随箭一起移动.通过控制摄像机节点的 active 实现镜头切换. 弓箭控制: 通过触摸移动的距离乘以一个调控系数,控制弓箭的位置. private onTouchMove(to…
我们在编辑器中看到的资源,在构建之后会进行一些转化,本章将揭开Creator对资源进行的处理. 资源处理的整体规则 首先我们将Creator的开发和运行划分为以下几个场景: 编辑器 当我们将资源放到编辑器中时,Creator会为每个资源生成唯一的uuid以及meta文件,并在项目的library目录下生成对应的json文件来描述这个资源的信息,而uuid与资源的映射关系被放在library目录下的uuid-to-mtime.json文件中.由于资源的引用关系是靠uuid来维系的,所以我们可以在C…
动作系统就是可以在一定的时间内实现位移.旋转.缩放.跳动等各种动作. 需要注意的是,动作系统跟 Cocos Creator 编译器的动画系统不同,动作系统是面向程序员的API接口,而动画系统是通过编译器来设计,它们服务于不同的使用场景,动作系统通常适合做一些简单的位移.旋转等动作,而动画系统则相对要强大的许多,可以对UI增加各种属性来做到一些复杂的动画. 简单介绍就这些啦,下面进入正题 动作系统 API // 创建一个移动的动作,在 2 秒内,移动到 x = 100,y = 100 的位置  l…