- 博客(34)
- 资源 (1)
- 收藏
- 关注
原创 node 第十四章 游戏基本框架
框架依赖的模块1:高性能的webserver ---> express 模块2: websocket 模块 --> ws;3: mysql 模块 --> mysql;4: redis 模块 --> redis;框架划分1:webserver: 提供web服务,上传,下载,更新等;2:网关服务器: (1)接受客户端连接,转发客户请...
2019-02-11 19:10:13 230
原创 cocoscreator 第十七章 帧动画播放组件
1: creator播放帧动画需要通过动画编辑器去制作;2: 为了方便控制和使用加入帧动画代码播放组件;3: 属性设置: sprite_frames: 帧动画所用到的所有的帧; duration: 每帧的时间间隔; loop: 是否循环播放; ...
2019-01-25 19:06:46 532
原创 cocoscreator 第十六章 碰撞检测系统
碰撞检测系统 1: creator有碰撞检测系统 +物理碰撞系统,这个是两个独立的模块;2: 给creator的游戏世界中的物体来进行分组,指定节点的分组与分组的碰撞矩阵;3: 代码中获取节点的分组和分组索引: group与groupIndex;4: 为每个节点添加碰撞检测区域-->碰撞器(物体形状), 编辑碰撞区域;5: 代码开启碰撞检测系统(默认是关闭碰撞检测...
2019-01-25 14:24:31 754
原创 cocoscreator 第十五章 cc.widget与屏幕适配
屏幕适配 1: 一款游戏能适应不同的手机分辨率,我们把这个称为屏幕适配;2: creator屏幕适配策略: 固定高度,固定宽度, 固定宽高度;3: cc.Canvas组件: (1)决定屏幕的适配策略; (2)大小为屏幕的大小;4: 美术设计分辨率: 美术人员在一个固定的分辨率下来设计资源,我们在canvas组件配置设计分辨率; 设计分辨率 ...
2019-01-25 14:19:18 980
原创 cocoscreator 第十四章 cc.Loader使用
cc.loader 1:有三个默认的Pipeline: (1) assetLoader: 主要用于加载资源, 加载asset类型资源,和释放这些资源; (2) downloader: 主要用于下载文件, 文本,图像,脚本,声音,字体, 自定义的download; ...
2019-01-25 11:56:50 393
原创 cocoscreator 第十三章 1、预制体 2、Mask 3、Layout 4、ScorllView组件使用
1、预制体---------配合nodepool对象池 1: 制作预制体: 将节点拖入到assets文件夹下;2: 加载预知体: 代码加载(统一在资源加载时讲解)与手动绑定;3: 预制体对象实例化: cc.instantiate; ///////////////////////////////////////////代码/////////////////////////////...
2019-01-23 01:47:46 755
原创 cocoscreator 第十二章 骨骼动画组件使用
spine骨骼动画工具 1: 骨骼动画: 把动画打散, 通过工具,调骨骼的运动等来形成动画2: spine是一个非常流行的2D骨骼动画制作工具3: spine 动画美术人员导出3个文件: (1) .png文件:动画的”骨骼”的图片集; (2)....
2019-01-22 00:46:33 826
原创 cocoscreator 第十一章 动画编辑器使用
动画编辑器使用 1: 创建一个节点;2: 为这个节点添加一个动画组件 cc.Animation;3: 为这个动画组件新建一个动画文件 --> AnimationClip对象;4: cc.Animation 控制面板的属性: (1): default Anim Clip: 默认的播放的动画剪辑; ...
2019-01-22 00:27:42 729
原创 cocoscreator 第十章 AudioSouce组件使用
cc.AudioSource 1:AudioSource组件是音频源组件, 发出声音的源头;2: AudioSource组件面板: clip: 声源的播放的音频对象: AudioClip, mp3, wav, ogg, volume: 音量大小, [0, 1]百分比 ...
2019-01-21 23:43:09 321
原创 cocoscreator 第九章 cc.Label组件使用
cc.Label 1:cc.Label是显示文字的组件;2:cc.Label属性面板: String: 文本显示的内容; Horiznotal: 水平对齐的方式: 左 右 居中; Vertial: 上, 下, 居中, 字与行的排版 ...
2019-01-21 02:37:02 828
原创 cocoscreator 第八章 cc.Button使用
cc.Button1:添加按钮的方法 (1)直接创建带Button组件的节点; (2) 先创建节点,再添加组件;2:按钮组件, 按钮是游戏中最常用的组件, 点击然后响应事件;3: 按钮的过渡效果: 过渡: 普通状态, 鼠标滑动到物体上, 按下状态, 禁用状态 ...
2019-01-21 02:21:50 599
原创 cocoscreator 第七章 cc.Sprite使用
cc.Sprite1: 游戏中显示一个图片,通常我们把这个叫做”精灵” sprite2: cocos creator如果需要显示一个图片,那么需要在节点上挂一个精灵组件,为这个组件指定要显示的图片(SpriteFrame)3: 显示一个图片的步骤: (1) 创建一个节点; ...
2019-01-21 01:58:33 329
原创 cocoscreator 第六章 cc.Component组件类的基本使用
组件入口函数1: onLoad: 组件加载的时候调用, 保证了你可以获取到场景中的其他节点,以及节点关联的资源数据2: start: 也就是第一次执行 update 之前触发3: update(dt):组件每次刷新的时候调用,距离上一次刷新的时间(会在所有画面更新前执行)4: lateUpdate(dt) 刷新完后调用(会在所有画面更新后执行);5: onEnable: 启用这...
2019-01-21 01:45:00 840
原创 cocoscreator 第五章 ccnode之action的使用(ccnode四大模块 1、场景树 2、事件响应 3、坐标空间转换 4、action的使用)
Action 1: Action类是动作命令,我们创建Action,然后节点运行action就能够执行Action的动作;2: Action分为两类: (1) 瞬时就完成的ActionInstant, (2) 要一段时间后才能完成ActionIntervial;3: cc.Node runAction: 节点运行action;4: cc.moveTo, cc.moveBy To...
2019-01-20 00:39:24 336
原创 cocoscreator 第四章 ccnode之坐标空间转换 (ccnode四大模块 1、场景树 2、事件响应 3、坐标空间转换 4、action的使用)
cc.Vec21: cc.Vec2 二维向量坐标, 表结构{x: 120, y: 120}; cc.v2(x, y) 创建一个二维向量 cc.p() 创建一个二外向量2: cc.pSub: 向量相减3: cc.pAdd: 向量相加;4: cc.pLength: 向量长度;cc.Size/cc.Rect1: cc.Size: 包含宽度和高度信息的对象 {width: ...
2019-01-20 00:19:14 253
原创 cocoscreator 第三章 ccnode之事件响应 (ccnode四大模块 1、场景树 2、事件响应 3、坐标空间转换 4、action的使用)
触摸事件1: 触摸事件类型: START, MOVED, ENDED(物体内), CANCEL(物体外);2: 监听触摸事件: node.on(类型, callback, target(回掉函数的this), [useCapture]);3: 关闭触摸事件: node.off(类型, callback, target(回掉函数的this), [useCapture]);4: tar...
2019-01-19 23:45:22 314
原创 cocoscreator 第二章 ccnode之场景树 (ccnode四大模块 1、场景树 2、事件响应 3、坐标空间转换 4、action的使用)
场景树cc.Node属性1: name: 获取节点的名字2: active: 设置节点的可见性;3: position: 相对坐标,参照物是父亲节点;4: rotation: 旋转,顺时针为正, 数学逆时针为正;5: scale: 缩放;6: anchor: 锚点, 左下角(0, 0), 右上角(1, 1) 可以超过这个范围可以7: Size: 大小8: C...
2019-01-19 19:28:01 242
原创 cocoscreator 第一章 creator
组件化开发 1: 传统开发模式: 代码加载数据运行 cocos studio就是典型的这种模式 缺点: 没有一个统一的工具能让大家都好协作;2: 组件化的开发模式: (1)先有数据节点 (2)给数据节点添加组件,赋予节点对象不同的功能; ...
2019-01-19 18:53:14 127
原创 node 第十三章 mysql数据库的基本使用
Mysql安装与启动1:数据库的Server / client模型 数据库是专业提供数据的存储服务的一种工具,它本省是一个数据存储服务器,client通过发请求到数据库服务器,数据库服务器完成对应的操作。2: 下载安装好mysql server; http://pan.baidu.com/s/1slJKozV3: my.conf /my.ini 配置文件解析 port 3306;4...
2019-01-17 16:54:30 105
原创 node 第十二章 BASE64 MD5/SHA1 Timer
Base64编码解码1:Base64编码的作用:由于某些系统中只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法。2: Buffer输出成Base64编码; new Buffer(content).toString(“base64”);3: Base64编码 解码 new Buffer(content, “base64”)...
2019-01-17 01:32:05 229
原创 node 第十一章 文件一部读写与FS模块
同步/异步1:读写文件的时候,要将数据读/写入磁盘,而CPU的速度远高于磁盘存取的速度。2:同步: 比如我们 写入 100M数据磁盘要10s才能存好,CPU等磁盘存好后,再做下一件事情,我们叫做同步。CPU等的时候CPU是休眠的,在这个时间段CPU本来还可以去做别的。3:异步: 我们写入100M数据的时候,设置一个回掉函数给写服务,当这100M写完后,调用这个回掉函数,...
2019-01-16 20:55:40 109
原创 node 第十章 get post编程实现
http get1: .get(url, function(req, respones) {}); req.query get传的参数表 ? 开始, & 分成不同的key-value;2: respones.send(数据); 回数据给客户端,底层会封装成满足http响应格式的数据包;3: node.js作为客户端发送http get请求;4: http.Inco...
2019-01-16 18:34:20 154
原创 node 第八章 二进制协议与json协议
二进制数据协议1: 客户端与服务器约定一种方式来传送数据;2: 发送端: 将要发送的数据对象根据商定的协议 打包成二进制数据;3: 接收端 将收到的二进制数据根据商定的协议解码成数据对象;4: 二进制的优点: 包的体积小 缺点: 可读性不强,每个命令有对应的编码和解码;5: 大型的对数据包体积敏感的游戏一般采用二进制协议,每个命令对应的编码和解码。使用 工具根据协议的描述文件自...
2019-01-16 18:31:25 572
原创 node 第七章TCP通讯的拆包与封包
TCP粘包问题1: 在通讯的过程中,我们可能有发送多个数据包,数据包A,数据包B,数据包C,此时我们最好的期望是每次收到数据包A,数据包B,数据包C。但是TCP底层为了传送性能,可能会一次把ABC所有数据一起传过来,这个时候收到的是A+B+C,这个时候上层傻眼了,无法区分A,B,C这个叫做---粘包;包体协议1:要解决ABC数据包无法正确的拆分出A,B,C三个数据,我们需要在ABC之间...
2019-01-16 18:30:38 925
原创 node 第九章 node.js http 基础与express_webserver搭建
http server1: http server是一种支持http协议的服务器;2: http server监听在一个端口上面,等待客户端的http连接;3: 客户端,创建一个TCP socket 连接到服务器;4: 客户端像服务器发送一个 http协议的请求数据包;5: 服务器获得这个请求,然后返回一个http响应数据包;6: 服务器关闭Tcp socket, 客户...
2019-01-16 15:46:06 341
原创 node 第六章 websocket
websocket连接协议1:解析客户端发送过来的报文;GET /chat HTTP/1.1Host: server.example.comUpgrade: websocketConnection: UpgradeSec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==Origin: http://example.comSec-WebS...
2019-01-14 12:24:32 159
原创 node 第五章 npm模块的安装和加载
1、npm模块管理安装分为 本地安装和全局安装1:node.js生态里的第三方模块可以通过npm工具来安装和使用,方便大家开发;2: npm 安装 node.js 模块: npm install 模块名称 本地安装, 运行npm目录/node_modules npm install -g 模块名称 全局安装 安装到系统的node_modules下1、...
2019-01-13 23:00:38 163
原创 node 第四章 二进制数据与buffer模块
1、二进制数据 计算机内数据都是二进制的方式存放assic编码 'A'-->65数据,比如把数据当字符,那就是A,当数据是65;int8/UInt8 一个字节的整数;Int16/UInt16 二个字节整数;Int32/UInt32 四个字节整数;int/Uint 8个字节的整数;Float 4个字节的小数,Double 8个字节的小数;2、大尾与小尾1、4个字节的...
2019-01-13 21:13:54 250
原创 node 第三章 net模块搭建TCP_server_client
参考node文档地址 nodejs.cn/api/net.htmlserver 模块////////////////////////////////////////////////////////////////////////////////////////////////////////////////////引入net模块var net = require("net");/...
2019-01-13 15:21:37 166
转载 bind 模拟实现 call模拟实现
Function.prototype.bind2 = function (context) { if (typeof this !== "function") { throw new Error("Function.prototype.bind - what is trying to be bound is not callable"); } var se...
2019-01-13 10:07:58 312 1
翻译 node 第二章 tcp网络链接与数据交换
1 ip地址和端口ipv40~255 2^8xxx .xxx.xxx.xxx2^8 *2^8*2^8*2^8*2^8=2^32 -》地址-》 几十亿 ipv6xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx2^16*2^16*2^16*2^16*2^16*2^16*2^16*2^16*2^162^128->地址-》 几十亿...
2019-01-12 23:43:52 149
原创 node 第一模块 事件循环 和 process模块基本运用
node 第一模块 事件循环 和 process模块基本运用node 1个进程 一个事件等待循环while(true){ process.nextTick( function(){};mn);//下一次循环调用 等待事件队列处理->事件 -》回调函数 }//计时器事件 ...
2019-01-12 22:24:10 122
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人