微信小游戏-CocosCreator 基础(一)
路径:不中文
设置IDE=》偏好设置=》数据编辑=》外部脚本编辑器
cocosCreator:
resources: cocos2d-x引擎 :C++
engine :H5引擎:js
模拟器 :resources=》cocos2d-x=》simulator=》win32=》simulator.exe
扩展安装包:c=》用户=》user=》cocosCreator=>packages
cocosCreator自身编译日志 : c=》用户=》user=》cocosCreator=>logs
模拟器存储本地数据 =>c=》用户=》user=》appData=>Roaming=>cocosCreator=>Local Storage (cache缓存,GPUCache GPU缓存)
浏览器=》F12=》查看打印信息
Anchor和Position=》
Anchor是 锚点相对节点左下角原点的值
Position是锚点相对屏幕左下角原点的值
Opacity :透明度
Skew:扭曲角度
Group :添加分组对节点进行管理
======================================
assets文件夹:
resources :代码加载文件
res :普通资源
scenes :场景文件
scripts ;代码
临时文件夹 :除了assets
.gitgnore :为提交到git的忽略文件
creator.d.ts:智能提醒生成文件,更新:开发者=》vsc工作流 =》更新vsc智能提示数据
jsconfig.json:项目配置文件
project.json:项目配置文件
项目设置=》模块设置=》可根据实际情况勾选需要的模块,获得最小的打包
项目预览=》设置测试预览的开始场景
布局
为何能跨平台=》
构建发布=》设置平台,开始场景
======================================================
组件式开发
添加脚本至节点上 :自动new实例化脚本
疑问=》ccc上脚本start没有key
不能在Update 里面加wait,复杂算法,加载大资源。解决方法=>(队列,异步)
fps越高,刷新间隔越少,系统的fps一般设置为60fps,到达60系统会控制范围,dt越小, 少数机子fps偏低
组建类:必须继承自cc.compont
meta :
作用:保存文件属性以及根据uuid绑定脚本,无论改变资源管理器路径都能指定出文件
注意:不能删除meta,也必须提交版本管理
保存脚本,白光闪=》脚本解析完成
=======================================================================
开发模式
面向对象得开发模式:
庞大的继承体系,和多态;
Java: ball--> 篮球--> SPORTS的篮球 --> 历史包袱;
全新的开发模式:
包含体系:
节点开始的: {
完成某个功能的模块1 --> 组件类的实例
完成某个功能的模块2 --> --> 组件类的实例
完成某个功能的模块3 --> --> 组件类的实例
完成某个功能的模块5 --> 组件类的实例
}
节点2 {
完成某个功能的模块3 --> 组件类的实例
完成某个功能的模块5 --> 组件类的实例
}
节点3 {
完成某个功能的模块2
完成某个功能的模块3
}
开发模式:
1: 通过编辑器/代码,来创建一个节点,节点是游戏里面的元素的最小单位;
2: 开发一个类: 组件类, 组件类完成不同功能的类; 分为两大类:
系统自带的组件类:
自己开发的组件类:
3: 实例化 new 类 --> 节点容器上面
1: 创建一个节点; 编辑器创建,代码创建;
2: 定义一个类, javascript 构造函数--> 组件类;
3: new 类--> 组件实例, --> 节点容器里面; --> 类的方法;
界面上添加组件:
1: var instance = new 组件类;
2: isntance --> 放到节点这个容器里面 --》 把这个组件挂到这个节点上;
运行的时候:
1:游戏引擎会去加载整个场景的,new 场景里面的每个节点,new场景里面的每个组件,,, 完成;
加载机制:
2: 组件类的实例.onLoad方法,会再场景加载的时候都被游戏引擎调用;
组件类的实例.onLoad --> 进入到onLoad --> this --> 组件类的实例
3:当场景里面所有的节点上面所有的组件都被调用onLoad,
4: 再遍历一次场景,然后遍历节点容器里面的每个组件实例, 组件实例.start方法();
当游戏场景的onload, start都调用完后,
我们的游戏引擎会 每隔一段时间刷新一次,
每隔一段时间刷新一次;
1: 隔多久绘制一次???
FPS: frames per second: 1秒钟绘制多少次??
FPS越高 动画就越流畅, CPU就会消耗的更多: 1:其他的APP,使用CPU紧张了,系统卡起来了; 2: CPU长期处于高负荷运转,耗电;
到底设置多少合适呢?60FPS, 如果CPU可以又能力绘制超过60, 我们也不绘制了,让CPU休息一会,留给其他的应用,或者省电;
不是说有的手机的CPU,能够绘制到60FPS,又时候,它只能到30FPS--》低;
假设CPU很厉害, 不是永远不超过60FPS,又时候,60FPS上下; 1 / 60FPS = 0.016s;
组件实例.update(dt) { } --> this 组件实例
微信小游戏-CocosCreator 基础(一)相关推荐
- 贪吃蛇宝宝微信小游戏cocoscreator
非常有趣的创意玩法贪吃蛇一笔画玩法 里面将近有1000关游戏,分为三个难度 乡试 会试 殿试 每个难度通过200关可以解锁下一个难度 在这里插入图片描述 每得到一条蛇就会产生离线收益 兑换道具! 这款 ...
- 微信小游戏-CocosCreator教学系列--Sprite教学
一:Sprite组件教学分为两部分:组件基础讲解.动态更换Sprite 中的背景图像. Sprite(精灵)组件: 单色组件:背景色为纯色的Sprite组件,主要用于纯色背景填充 非单色组件:主要用于 ...
- 微信小游戏--JS基础
配置Node.js环境: 1.下载64位Node.js 2.打开CMD查询是否安装成功或者版本号 node -v ======================================= ID ...
- 微信小游戏开发零基础教程(一)-CocosCreator
微信小游戏零基础教程(一)-CocosCreator 最终效果预览 准备工作 创建工程 测试第一个场景 最终效果预览 本教程最后制作的游戏效果: 准备工作 下载 微信开发者工具 最新版->下载地 ...
- html微信小游戏,白鹭HTML5游戏转微信小游戏问题集锦,你关心的都在这里
原标题:白鹭HTML5游戏转微信小游戏问题集锦,你关心的都在这里 首先,再次强调一些微信小游戏的基础技术限制: * 不允许操作 DOM.BOM.如果必须改成小游戏相应的 API 调用方式,目前引擎会自 ...
- Html5小游戏 转微信小程序,白鹭H5游戏转微信小游戏问题集锦,你关心的都在这里...
首先,再次强调一些微信小游戏的基础技术限制: * 不允许操作 DOM.BOM.如果必须改成小游戏相应的 API 调用方式,目前引擎会自动引入weapp-adapter.js 文件做兼容处理. * 不允 ...
- 微信小游戏_China_Fighting——npc类(enemy、mask、sars)
目录 微信小游戏_China_Fighting--前言 微信小游戏_China_Fighting--基础支撑类(sprite.animation.pool) 微信小游戏_China_Fighting- ...
- 微信小游戏_China_Fighting——后记
目录 微信小游戏_China_Fighting--前言 微信小游戏_China_Fighting--基础支撑类(sprite.animation.pool) 微信小游戏_China_Fighting- ...
- 微信小游戏_China_Fighting——game.js、game.json、project.config.json
目录 微信小游戏_China_Fighting--前言 微信小游戏_China_Fighting--基础支撑类(sprite.animation.pool) 微信小游戏_China_Fighting- ...
最新文章
- 汇总|基于激光雷达的3D目标检测开源项目数据集
- 一句话懂什么是JS闭包
- golang json转结构体中嵌套多个数组_ElasticSearch第六篇:复合数据类型-数组,对象...
- 网络爬虫初步:从访问网页到数据解析
- Android官方开发文档Training系列课程中文版:使用Fragment构建动态UI之构建灵活的UI
- 检测php加密方式,一种php加密方式
- 把数字翻译成字符串python_python中如何将字符串强制转为数字
- d3d9 抓取windows屏幕
- 【Flink】Flink TaskManager 一直 User file cache uses directory
- Linux开机启动过程(13):start_kernel()->setup_arch()完结
- dm数据库 linux版下载,linux环境搭建DM数据库
- 使用mysql innodb 使用5.7的json类型遇到的坑和解决办法
- 14年刘意java笔记_刘意JavaSE 学习笔记——总纲
- STM32F427V系列的触摸屏驱动
- 画出清明上河图的代码_制作阴影立体动态图文图的代码【清明上河图】
- Entity Framework Core系列教程-2安装EF Core
- 机器学习——葡萄酒分类问题(输入与输出维度相同)
- 了解mysql脏页落盘过程
- 计蒜客 青出于蓝胜于蓝 dfs序+树状
- (解决)org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题的办法