新建一个js,叫做 pageAction写一个方法 pageViewClick:function(event,coustom){ var node = event.node; this.pageIndex = node.getComponent(cc.PageView).getCurrentPageIndex(); cc.log("page index"+this.pageIndex); }, 然后我把它绑在 层级管理器的 pageview 上运行以后 浏览器里 console 里获取…
利用Javascript获取当前页的URL,这个问题起来好像很复杂,如果第一次去想这个问题,很多人估计又在琢磨到底又是哪个神一般的Javascript函数. 其实不是,Javascript获取当前页的URL的函数就是我们经常用来重定向的window.location.href. 比如如下函数: <script> var url=window.location.href; var loc = url.substring(url.lastIndexOf('/')+1, url.length); a…
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的研究,开发小游戏,结果被一个事件坑得不行不行的.现在终于解决了,分享给大家. 原理 1.触控事件是针对节点的 2.触控事件的冒泡,是一级一级往上冒泡,中间可以阻止冒泡 3.父节点不响应触控事件,注意看父节点的位置.大小等,如果触点位置不在父节点区域内肯定不能触发touch事件了,父节点大小为0肯定也不会触发touch事件了! 4.触控事件往祖先节点冒泡,祖先节点是否会检测触点是否在自己区域内,由子节点是否监听了touch事件有关.子监听了,父就不会检测区域是…
1月19日,由Cocos创始人王哲亲手撰写的一篇Cocos Creator新品发布稿件在朋友圈被行业人士疯狂转载,短短数小时阅读量突破五位数.Cocos Creator被誉为“注定将揭开Cocos开发世界中全新的一页”,究竟它有什么魅力?下面让我们来细细阅读这篇文章. 以下为全文: 上周我在厦门的「哎哟,2016」酒会上,宣布了今年会发布一款新的编辑器.是的,今天我来了: Cocos Creator在经历了一年多的低调研发之后,今天终于发布了第一个正式对外的公测版,大家可以从 cocos.com…
最近在玩cocos creator,打算学着做一款类似双扣游戏的棋牌,名字叫文成三星,比双扣还要多一扣,因为需要三幅牌,在我们老家比较流行这种玩法. 目前实现了绝大部分的逻辑效果如下: 有一点不好的体验式选牌现在只能点击牌一张一张的选.如果能像其它产品一样可以滑动选择多张牌就好多了. 作为新手只好不断去找资料,棋牌滑动选牌怎么实现呢 终于这篇文章找到了解决方案. 首先要在纸牌上面增加一层遮罩层,我们滑动手指是在遮罩层进行滑动,事件的注册也是在这一层. 当我们手指在牌上面进行滑动的时候,要在tou…
这系列文章会对Cocos Creator的资源加载和管理进行深入的剖析.主要包含以下内容: cc.loader与加载管线 Download部分 Load部分 额外流程(MD5 Pipe) 从编辑器到运行时 场景切换流程 前面4章节介绍了完整的资源加载流程以及资源管理,以及如何自定义这个加载流程(有时候我们需要加载一些特殊类型的资源)."从编辑器到运行时"介绍了我们在编辑器中编辑的场景.Prefab等资源是如何序列化到磁盘,打包发布之后又是如何被加载到游戏中. 准备工作 在开始之前我们需…
不管是游戏App,还是H5,又或者是微信小游戏.但凡接入了微信登录的应用,都可能需要显示微信头像. 在Cocos Creator中,我们常见的显示方法像下面这样 var headimg = 'http://thirdwx.qlogo.cn/mmopen/vi_32/DYAIOgq83erD6MOUwRKV9NyBAqnoFDTnltzAe2zWOkKxyDOFibVBb1ZV5CaATJwYAuNqZ5sXMBC4c8iacaHDf8RA/132'; cc.loader.load({url:he…
五邑隐侠,本名关健昌,10年游戏生涯,现隐居五邑.本系列文章以TypeScript为介绍语言. 这一篇将介绍在游戏客户端常用的架构MVC架构.一个游戏的MVC如下划分: M:1)单例全局的数据中心World,所有游戏模块的数据在World中有入口,2)各个模块自己的数据结构. V:1)通过creator预制体制作的UI界面.场景,2)各个界面显示逻辑的ViewCtrl C:1)全局的MainCtrl,2)各个模块的业务逻辑类ModuleCtrl 先介绍M部分.由于一个模块的数据,在其他模块也有访…
前面的话 Cocos Creator 是一个完整的游戏开发解决方案,包括了 cocos2d-x 引擎的 JavaScript 实现,以及快速开发游戏所需要的各种图形界面工具.Cocos Creator 的编辑器完全为引擎定制打造,包含从设计.开发.预览.调试到发布的整个工作流所需的全功能,该编辑器提供面向设计和开发的两种工作流,提供简单顺畅的分工合作方式.Cocos Creator 目前支持发布游戏到 Web.Android 和 iOS,真正实现一次开发,全平台运行.Cocos Creator…
五邑隐侠,本名关健昌,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.生命周期回调函数: 节点:指cc.Node:组件:指cc.Component. ①onLoad:脚本组件绑定的节点所在场景加载时系统回调一次(或者节点active从false变为true时系统回调一次).可在这里获取场景中其它节点,并可以初始化一些不常改变的属性. ②start:只在第一次update前系统回调一次.这里可以初始化一些经常改变的属性. ③update(dt):每一帧渲染前系统回调,主要用于处理逻辑.dt…
1.目的:只有通过方便的获取节点对象以及组件,才能较好的进行逻辑控制. 2.通过 cc.find(节点全路径名称字符串) 获取节点. 3.通过getComponent获取组件(注意一个是类型,一个是类名). ①通过 cc.Node.getComponent(类型) 获取节点中该类型对应的组件. ②通过 cc.Node.getComponent(类名) 获取节点中该类名称对应的组件. 4.在Canvas下增加一个SearchNode的节点: 创建一个带有myName属性的脚本Search(这个就是…
1.方法一:通过编辑器对cc.Button的属性进行拖放操作进行控制 (1)创建脚本BtnClick1.js,增加btnClick1函数,然后拖放到Canvas节点中(记得拖放,否则下面步骤将找不到对应的函数). btnClick1: function (event, customEventData) { //这里 event 是一个 Touch Event 对象,你可以通过 event.target 取到事件的发送节点 var node = event.target; var button =…
简单解释, [来源:官方文档] Cocos是触控科技推出的游戏开发一站式解决方案,包含了从新建立项.游戏制作.到打包上线的全套流程.开发者可以通过cocos快速生成代码.编辑资源和动画,最终输出适合于多个平台的游戏产品.Cocos的主要产品有Cocos Studio.Cocos2d-x(Cocos Framework).Cocos Code IDE. Q: Cocos Creator 是游戏引擎吗? A: 它是一个完整的游戏开发解决方案,包括了 cocos2d-x 引擎的 JavaScript…
1.简介 节点(cc.Node)是渲染的必要组成部分.所有需要在游戏场景中显示的内容都必须是节点或者依附于节点之上.节点负责控制显示内容的位置.大小.旋转.缩放.颜色等信息. 2.节点属性 1: name: 获取节点的名字 2: active: 设置节点的可见性; 3: position: 相对坐标,参照物是父亲节点; 4: rotation: 旋转,顺时针为正, 数学逆时针为正; 5: scale: 缩放; 6: anchor: 锚点, 左下角(0, 0), 右上角(1, 1) 可以超过这个范…
2019-05-30 22:11:47 基础: javaScript基础   https://www.bilibili.com/video/av34087791?from=search&seid=5991822446191800873 cocos creator的了解    https://www.bilibili.com/video/av37906610?zw       https://docs.cocos.com/creator/manual/zh/ 你还需要一个美工(我没做美工) 后台获…
关注「编程小王子」公众号回复[头像生成器]获得源码! 下面我重点介绍一下Cocos Creator H5头像生成的实现方法: 获取手机相册图片 在 Cocos Creator 中加载相册图片 Cocos Creator 屏幕截图 使用HMTL显示截屏图片 保存图片到相册 获取相册图片 要获取手机相册图片,需要使用浏览器 input 标签提供的能力,在桌面浏览器上则是浏览文件目录选择图片. 使用 document 动态创建 input HTML标签,并设置属性为type 为 file,accept…
一. 环境准备 我一直在探索Cocos H5正确的开发姿势,目前做javascript项目已经离不开 nodejs.npm或grunt等脚手架工具了. 1.初始化package.json文件 npm init 当新建好cocos-js或creator项目,在项目根目录使用npm init命令,一路回车,将在当前目录创建package.json文件用于nodejs三方模块的管理.关于npm的使用细节网络上有很多教程,在此不用细说. 2. protobufjs模块 本人最早在cocos2dx 2.x…
在Creator中发起一个http请求是比较简单的,但很多游戏希望能够和服务器之间保持长连接,以便服务端能够主动向客户端推送消息,而非总是由客户端发起请求,对于实时性要求较高的游戏更是如此.这里我们会设计一个通用的网络框架,可以方便地应用于我们的项目中. 使用websocket 在实现这个网络框架之前,我们先了解一下websocket,websocket是一种基于tcp的全双工网络协议,可以让网页创建持久性的连接,进行双向的通讯.在Cocos Creator中使用websocket既可以用于h5…
如果你想使用Cocos Creator制作一些规模稍大的游戏,那么资源管理是必须解决的问题,随着游戏的进行,你可能会发现游戏的内存占用只升不降,哪怕你当前只用到了极少的资源,并且有使用cc.loader.release来释放之前加载的资源,但之前使用过的大部分资源都会留在内存中!为什么会这样呢? cocos creator 资源管理存在的问题 资源管理主要解决3个问题,资源加载,资源查找(使用),资源释放.这里要讨论的主要是资源释放的问题,这个问题看上去非常简单,在Cocos2d-x中确实也很简…
Cocos Creator 中 _worldMatrix 到底是什么(中) 1. 中篇摘要 在上篇中主要做了三件事 简单表述了矩阵的基本知识,以及需要涉及到的三角函数知识 推导了图形变换中 位移 .旋转.缩放 对应的变换矩阵. cocos creator 中矩阵存储方式 在本篇中我们将运用推导的变换矩阵,一一验证代码中更新节点变换矩阵的代码背后的逻辑.游戏场景中的节点都成树形的父子关系.当前节点 worldMatrix是通过父级节点对应的矩阵获取,所以当前场景中只有一个节点时,当前节点的 wor…
上一篇文章写了一个简易版的蚂蚁庄园登山赛,有小伙伴留言说想要看星星球的,那么就写起来吧! 效果预览 配置环境 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…
开发的游戏是五子棋online,网络版的,服务端部分和客户端部分都在这个教程里面,可以看一下目录! 服务器nodejs游戏开发教程 使用Nodejs开发网络服务器 游戏服务端 ,cocos creator js客户端 教程 包含视频.素材源码与ppt,共28g,具体内容可以参考目录. 涉及到的内容有nodejs,JS,process模,TCP网络传送的基本原理,Net模块搭建TCPserver_client,二进制数据与Buffer模块,websocket与ws模块使用,TCP通讯拆包与封包,二…
当前2.2.1版本cocos creator发布的win32版本不是全屏的, https://forum.cocos.org/t/win-exe/80429 https://blog.csdn.net/wudics/article/details/85346288 按照以上两个好人的帖子可以解决visual studio发布问题(我也直接用的vs2017,没用2019)以及win32在写死的宽高下全屏问题, 那如何让main.cpp里的 AppDelegate app(xx,xx); 两个参数不…
最近有小伙伴问我瞄准线遇到各种形状该怎么处理?如何实现反复横跳的瞄准线?最近刚好在<Cocos Creator游戏开发实战>中看到物理系统有一个射线检测,于是,基于这个射线检测,写了一个反复横跳的瞄准线效果.一起往下看吧!文章底部获取完整项目! 国际惯例,先上最终效果! 在讲解之前我们需要一些向量的知识,简单的介绍一些吧! 向量的加法,OA + AB = OB 向量的点乘,表示一个向量在另一个向量上的投影,是个标量,有正负之分.向量夹角小于 90度 为正数,等于 90度 为 零,大于 90度…
你的命中率是多少呢?文章底部试玩! 效果预览 配置环境: Cocos Creator 3D v1.0.1 玩法说明: 触摸屏幕,向上滑动投篮!注意篮板是会移动的哦!看看你的命中率是多少! 实现原理 为了能达到好的投篮效果,在网上找了一个投篮机参数,大致按照实际参数设置篮框大小,球的大小,以及篮框的位置. 碰撞器: 篮板直接使用 盒碰撞器组件(BoxColliderComponent),篮球使用的是 球碰撞器组件(SphereColliderComponent). 因为没有 圆环碰撞器组件,所以对…
用 shader + mesh 立个 flag 吧! 文章底部获取完整代码! 效果预览 使用方法 创建一个空节点 添加用户脚本组件 mesh-texture-flag 添加图片 修改对应属性 实现原理 概括来说就是创建 mesh 网格模型,通过顶点着色器对顶点坐标不断的修改,达到飘动的效果.关于 mesh 的介绍,可以参考上一篇文章. 确定顶点坐标 为了让顶点着色器里有多个顶点可以改变位置,需要把一个形状分割成多个方形(三角形).分割数量越大,效果越精细,但需要消耗更多的性能消耗.下图是分割成两…