cocos

cocos studio 制作csd动画文件 并 加载使用嵌套动画

前提是你 提交于 2020-01-21 09:47:38
直接使用cocos studio 制作动画,动画过程细腻,可以根据自己的想法方便调节、并且可以随意取用。 本次记录是我需要一个头像动画,放在不同的头像上,而且头像的大小各不相同。 解决方案就是: 1、先制作一个csd 动画 2、将制作好的csd动画以节点的方式加入到主场景中 3、设置好相关参数并调用 一、制作csd动画 1、使用cocos studio 创建一个节点文件 先随意拖动一个 精灵控件 放置在节点下、并添加资源。 2、点击 开始记录动画 ,(记录动画的目的是让可调节属性加载到控件之上) 因为创建的控件默认是没有不透明度、可见性的 3、在控件的第0时间轴添加起始帧、在60时间轴添加一帧做结束帧。(中间动画效果可以根据自己需要添加) 这样就完成了一个在间隔60的时间轴中的两帧动画。 二、打开主场景文件,将刚刚创建的csd文件直接拖动到编辑框中。 这样就顺利加载了一个动画文件 此时在场景文件中多了一个节点、点击该节点会看到相关属性如下 嵌套动画,有三种播放属性。(可以点击播放查看刚刚制作的动画) 三、lua 代码驱动 1、加载动画csb(制作的动画经过发布后已经变成了csb) --加载csb资源 function ExternalFun.loadCSB( csbFile, parent ) local csbnode = cc.CSLoader:createNode

Cocos Creator 之ScrollView渲染性能优化

柔情痞子 提交于 2019-12-17 23:03:37
Cocos Creator 之ScrollView渲染性能优化 1.引言 游戏开发过程中,有节点很多的场景会用到ScrollView这个组件,在开发中常碰到列表类的数据处理,比如商城界面、排行榜界面、任务列表、背包系统等模块中会使用到它,可能数量非常庞大,可能有几个! DrawCall 的数量比较高,渲染性能低、整个scrollview的节点数太多,导致隐藏或显示界面时的onEnable和Disable开销比较大。大量的Item导致手机内存不足而使得卡顿崩溃。 2.解决方法 常规操作——对于Sprite的处理 使用 自动图集 或使用图片处理软件( TexturePacker ) 对碎图进行打包处理 ,让多个Sprite渲染的纹理都是同一张图集图片,这样的话就可以合并这些sprite的渲染批次,减少DrawCall以及CPU的运算开销. 关于 AUto-atlas Assets 可以参考Cocos Creator官方文档。 常规操作——对于Label的处理 选择Label使用 bmfont 字体,而不是使用系统字体。一个Label就是一次绘制,使用多了就会引起渲染性能上的问题。 略骚操作——对于item的处理 在可视范围外的节点,我们就不需要它再进行绘制,避免增加Drawcall。我们可以将这些可视范围外节点的opacity属性设置为0,从而避免绘制,可以大大的降低DrawCall

cocos creator实例--CocosCreator自封装列表组件ListComponent | 附代码

烈酒焚心 提交于 2019-12-16 10:44:08
使用场景 游戏中经常会做列表类型的功能,例如游戏记录、排行榜,涉及到的数据很多,如果使用自带的ScrollView,会需要创建很多列表项组件,效率会很低,也很影响性能,由于工作中使用到的比较多,就封装了一个组件ListComponent,大致实现原理如下: 在列表可见区域内,创建列表项Unit,列表项多余可见区+1; 设置需要更新的数据,保存在组件内,一开始从第一条开始显示,直到显示能显示的列表项; 滑动列表项,更新不断的更改列表项的位置和内容,从而实现滑动的效果。 存在问题 也有一些问题,如: 滑动太快会不流畅,所以组件内取消了弹性功能; 进度条的长度动态计算没有加入,所以取消了进度条的显示; 组件使用 具体使用步骤如下: 把ListComponent挂在到ScrollView组件上,如下图所示: 列表项的预制和列表项预制上负责更新的脚本名称设置好; 预制脚本需要添加reloadUI(data:any)方法,为了更新UI。 下图就是挂在脚本的效果: 下图是自己项目的更新UI的函数: 这里根据自己的需要更新UI就行,传进来的data是一个对象类型的数据结构。 功能模块使用起来也很简单,如ScrollView组件的名称为list,使用方法如下: let data = [{name:'aa', age:1}, {name:'bb', age:2}]; let listCom =

cocos creater使用真机调试

随声附和 提交于 2019-12-10 19:17:16
电脑使用手机热点上网时,手机无法通过扫描二维码调试cocos creter程序,解决方法如下: 1.通过 项目 -> 构建发布 将程序打包为web应用。 2.然后将打包好的文件夹放在Tomcat服务器的ROOT目录下,启动Tomcat服务器。 3.接着在 开始 菜单打开 cmd 命令行工具,输入 ipconfig 命令,找到WLAN连接,记录连接的ip地址。 4.手机通过 记录的ip地址 :8080/ 打包好的文件名 / 访问就可以了。 来源: CSDN 作者: htmlzn 链接: https://blog.csdn.net/htmlzn/article/details/103479830

cocos Studio 特效文件播放失败

穿精又带淫゛_ 提交于 2019-12-05 17:09:40
可能是json文件中file的Path不对引起的。因为生成的path是根据文件在项目中的path生成的,即当此特效不是项目的一级目录时,会带有项目中上级目录,导致找不到文件(不会报错)。 ccs.load(jsonfile,josnfile的上级目录)中的josnfile的上级目录加上json文件中的path需能拼接成文件的真实路径。 来源: https://www.cnblogs.com/guomengkai/p/11935438.html

cocos creator

断了今生、忘了曾经 提交于 2019-12-05 07:16:57
一、基本工作流程 资源工作流程 添加资源 资源管理器提供了三种在项目中添加资源的方式: 1.通过创建按钮添加资源 2.在操作系统的文件管理器中,将资源文件复制到项目资源文件夹下,之后再打开或激活Cocos Creator窗口,完成资源导入。 3.从操作系统的文件管理器中,拖拽资源文件到资源管理器面板来导入资源 从外部导入资源 从操作系统中的其他窗口拖拽文件到cocos creator窗口中的资源管理器面板上,就能够从外部导入资源,该操作会自动复制资源文件到项目资源文件夹下,并完成导入操作。 导入和同步资源 资源管理器中的资源和操作系统的文件管理器中看到的项目资源文件夹是同步的,在资源管理器中对资源的自动、重命名和删除,都会直接在用户的文件系统中对资源文件进行同步修改。同样的,在文件系统中对天价或删除资源,在打开或激活Cocos Creator程序后,也会对资源管理器中的资源进行更新。 管理资源配置文件(.meta) 所有的assets路径下的资源都会在导入时生成一份资源配置文件(.meta)这份配置文件提供了该资源在项目中的唯一标识(uuid)以及其他的一些配置信息(),非常重要。 在编辑器中管理资源时,meta是不可见的,对资源的任意删除,改名、移动操作,都会有编辑器自动同步相应的meta文件,确保uuid的引用不会丢失和错乱。 主义在编辑器外部的文件系统中对资源文件进行删除

cocos creator 3D | 拇指射箭

别等时光非礼了梦想. 提交于 2019-12-05 07:04:57
拇指射箭!你能射中靶心么? 效果预览 配置环境: cocos creator 3d v1.0.0 玩法介绍: 长按屏幕,拖动瞄准,放手发射。风向、重力和距离影响最终结果!越靠近中心得分越高!最高分10分! 实现原理 流程图: 镜头控制: 采用两个摄像机控制镜头显示。一个是发射视角的摄像机;另一个是绑定在箭节点的摄像机,会跟随箭一起移动。通过控制摄像机节点的 active 实现镜头切换。 弓箭控制: 通过触摸移动的距离乘以一个调控系数,控制弓箭的位置。 private onTouchMove(touch: Touch) { const delta = touch.getDelta(); this.NodePos_bows.x -= delta.x * CONST_TOUCH_FACTOR; this.NodePos_bows.y += delta.y * CONST_TOUCH_FACTOR; } 为所有需要控制位置的节点写了一个通用的组件脚本。只要为节点添加这个脚本,就可以通过设置 x,y,z 调整位置。 export class NodePos extends Component { private _curPos: Vec3 = cc.v3(); start() { this._curPos = this.node.position; } get x() { return

01.helloworld--标签

戏子无情 提交于 2019-12-03 01:27:28
"""参考网站:http://python.cocos2d.org/doc/programming_guide/quickstart.html""" import cocos class HelloWord(cocos.layer.Layer): # 继承层 def __init__(self): super(HelloWord, self).__init__() # 创建一个标签来显示文字,设置标签的字体,位置和对齐方式: label = cocos.text.Label( 'Hello,world', font_name='Times New Roman', font_size=32, anchor_x='center', # 锚点x anchor_y='center' ) # 标签位置 label.position = 320, 240 self.add(label) # 作为子类添加到层 def main(): # 初始化导演 cocos.director.director.init() hello_layer = HelloWord() # 创建一个包含HelloWorld图层作为子场景的场景 main_scene = cocos.scene.Scene(hello_layer) # 运行场景 cocos.director.director.run(main_scene)

Cocos Creator微信小游戏开发

匿名 (未验证) 提交于 2019-12-03 00:37:01
# Cocos Creator微信小游戏开发 ### **目录结构** > * [libs] > * [res] > * [src] > * cocos2d-js.js > * game.js > * game.json > * main.js > * project.config.json ### **开发环境** #### 操作系统:Windows 7 #### 开发工具:微信开发者工具 V1.02.1806120 ## **如何设置横竖屏** ```json { } ``` > * game.json文件内,修改deviceOrientation属性 > * **横屏** `landscape` > * **竖屏** `portrait` 文章来源: Cocos Creator微信小游戏开发