Cocos creator 动作系统
动作系统简介
- 是用于控制物体运动的一套系统,完全依赖代码进行实现,动态调节节点的移动。
移动
- cc.moveTo 移动到某个坐标(x,y)
//1秒时间内,移动到0,0let action1 = cc.moveTo(1,0,0)this.node.runAction(action1)
- cc.moveBy 在原坐标的基础上加上(x,y)
//1秒内,相对位置移动500,500let action = cc.moveBy(1,500,500)this.node.runAction(action)
旋转
- cc.rotateTo 旋转到某个角度
//1秒内,顺时针旋转45度let action = cc.rotateTo(1,45)this.node.runAction(action)
- cc.rotateBy 相对于当前,旋转某个角度
- 顺时针旋转为正数
缩放
- scaleTo缩放到指定比例
- scaleBy缩放一定的比例
//缩放到一定比例//1秒内,宽高缩放0.5倍let action = cc.scaleTo(1,0.5,0.5)this.node.runAction(action)
跳跃
- jumpTo跳跃到指定位置
- jumpBy
//1秒内,原地跳跃1次,高度100let action = cc.jumpBy(1,0,0,100,1)this.node.runAction(action)
偏斜
- skewTo 偏斜到某个角度
- skewBy 相对当前偏斜一定角度
//1秒内,x方向偏斜10度,y不变let action = cc.skewTo(1,10,0)this.node.runAction(action)
贝塞尔移动
- 贝塞尔3个点,组成一个数组
- bezierTo
- bezierBy
let height = 1920let bezier = [cc.v2(0, height / 2), cc.v2(300, -height / 2), cc.v2(300, 100)];let action = cc.bezierTo(2, bezier);this.node.runAction(action)
闪烁
- 基于透明度的闪烁(0-255),blinks闪烁次数
- blink(duration: number, blinks: number)
//2秒内,闪烁10次let action = cc.blink(2,10)this.node.runAction(action)
透明度,渐隐,渐显
- fadeTo(duration: number, opacity: number) 透明度动态调节
- fadeIn 渐显
- fadeOut 渐隐
//1秒内,透明度变为125let action1 = cc.fadeTo(1,125)this.node.runAction(action1)//1秒内,逐渐显示,0变成255let action2 = cc.fadeIn(1)this.node.runAction(action2)//1秒内,逐渐消失let action3 = cc.fadeOut(1)this.node.runAction(action3)
变色
- tintTo(duration: number, red: number, green: number, blue: number)
//1秒内,变成红色let action = cc.tintTo(1,255,0,0)this.node.runAction(action)
以上是一定时间执行的动作ActionInterval
以下是瞬发执行的动作ActionInstant
显示/隐藏
- cc.show() 显示
- cc.hide() 隐藏
- cc.toggleVisibility() 显示隐藏状态切换
翻转
- flipX(flip: boolean) 水平方向翻转,flip是否翻转
- flipY 竖直方向翻转
this.moveX = this.x2 - this.x1//人物的转向if (this.moveX < -10) {this.player.node.runAction(cc.flipX(true))} else if (this.moveX > 10) {this.player.node.runAction(cc.flipX(false))}
定位
- place(pos: Vec2|number, y?: number) 瞬移到某个位置
动作控制
- runAction 执行动作
- stopAction 停止动作
- stopAllAction 停止所有动作
- action.setTag(tag: number) 设置动作标签
- stopActionByTag 停止指定标签的动作
- pauseAllActions 暂停所有动作
- resumeAllActions 恢复所有动作
动作容器
-
创建动作序列
-
var seq = cc.sequence(act1, act2); 如果要在两个action中间加入间隔时间,则使用cc.delayTime产生的ActionInterval对象
-
重复执行动作
-
let repeat = cc.repeat(action,times)
-
let repeat = cc.repeatForver(action)
-
并列执行多个动作
-
let spawn = cc.spawn(a1,a2…)
缓动动作
- easeIn
- easeOut
- easeInOut 先快后慢
- action.easing(cc.easeIn(3))//设置缓动动作,加速运动
- 还有更多的ease方法,可以看API文档
Tween对象
- Tween代替了原来的Action
- 使用链式代码创建一个动作序列
- 支持与Action的混用
cc.tween(this.node)//2秒移动到(500,500),同时旋转180度,同时增加一个缓动动画.to(2, {x: 500, y: 500, angle: 180}, cc.easeInOut(2))//以上动作完成后等待2秒.delay(2)//以上完成后的回调.call(() => {console.log('回调');})//1秒内,放大2倍.to(1, {scaleX: 2, scaleY: 2})//相对动作.by(1, {angle: 180}).start()
相关文章:

Cocos creator 动作系统
动作系统简介 是用于控制物体运动的一套系统,完全依赖代码进行实现,动态调节节点的移动。 移动 cc.moveTo 移动到某个坐标(x,y) //1秒时间内,移动到0,0let action1 cc.moveTo(1,0,0)this.node.runAction(action1)c…...

对Spring当中AOP的理解
AOP(面向切面编程)全称Aspect Oriented Programminge AOP就是把系统中重复的代码抽取出来,单独开发,在系统需要时,使用动态代理技术,在不修改源码的基础上,将单独开发的功能通知织入(应用)到系统中的过程,完…...

【Vue】2-8、Axios 网络请求
cdn:<script src"https://unpkg.com/axios/dist/axios.min.js"></script> 注:使用 CDN 链接就可以不需要去下载对应的 js 文件到本地,只需要联网即可使用,可以减少项目的体积 <!DOCTYPE html> <…...

Vue中嵌入原生HTML页面
Vue中嵌入html页面并相互通信 需求:b2b支付需要从后获取到数据放到form表单提交跳转,如下: 但是vue目前暂时没找到有类似功能相关文档,所以我采用iframe嵌套的方式 1. Vue中嵌入Html <iframe src"/static/gateway.htm…...

streampark+flink一键整库或多表同步mysql到doris实战
streamparkflink一键整库或多表同步mysql到doris实战,此应用一旦推广起来,那么数据实时异构时,不仅可以减少对数据库的查询压力,还可以减少数据同步时的至少50%的成本,还可以减少30%的存储成本; streampar…...

Vim实战:使用 Vim实现图像分类任务(二)
文章目录 训练部分导入项目使用的库设置随机因子设置全局参数图像预处理与增强读取数据设置Loss设置模型设置优化器和学习率调整策略设置混合精度,DP多卡,EMA定义训练和验证函数训练函数验证函数调用训练和验证方法 运行以及结果查看测试完整的代码 在上…...

学习MySQL ENUM数据类型
学习MySQL ENUM数据类型 ENUM是MySQL中的一个字符串对象,它允许从预定义的值列表中选择一个值。这种数据类型特别适用于值的数量有限且不太可能变化的情况。 定义ENUM类型 在定义ENUM类型时,你需要明确列出所有可能的字符串值。例如: CRE…...

88.合并两个有序数组
88.合并两个有序数组 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 **注意:**最…...

python查询xml类别
第一章 导包 import os from xml.etree.ElementTree import ElementTree第二章 存储类别 # 定义一个空集合用于存储类别 classes set()第三章 遍历所有XML文件 # 遍历指定目录下的所有XML文件 for filename in os.listdir(/home/li/PycharmProjects/Annotations):if filena…...

nginx配置及性能优化
1. 请简述nginx的工作原理? Nginx的工作原理基于事件驱动模型和异步非阻塞I/O处理机制。 具体来说,Nginx接收到客户端的请求后,会将该请求映射到配置文件中指定的location block。这个过程中,Nginx本身并不执行实际的工作&#…...

阿里云如何找回域名,进行添加或删除?
权威域名管理介绍说明,包含添加域名、删除域名、找回域名、域名分组等操作介绍。 一、添加域名 非阿里云注册域名或子域名如需使用云解析DNS,需要通过添加域名功能,将主域名或子域名添加到云解析控制台,才可以启用域名解析服务。…...

机器学习 低代码 ML:PyCaret 的使用
✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…...

前端入门第二天
目录 一、列表、表格、表单 二、列表(布局内容排列整齐的区域) 1.无序列表(不规定顺序) 2.有序列表(规定顺序) 3.定义列表(一个标题多个分类) 三、表格 1.表格结构标签 2.合并…...

Django实现富文本编辑器Ckeditor5图片上传功能
上一章我们已经为我们的博客继承了富文本编辑器Ckeditor5,虽然已经可以对文字进行排版处理,虽然已经可以通过插入图片的url地址来插入图片,但还无法通过本地上传图片,那么我们这个富文本编辑器就是不完整的,这一章我们将实现上传图片功能! Ckeditor5图片上传采用的是…...

【C语言】epoll_wait / select
一、epoll_wait和select对比 1. 阻塞和非阻塞 在Linux C语言中进行socket编程时,epoll_wait 和 select 都是用于多路I/O复用的系统调用,但是它们的行为可以设置为阻塞和非阻塞模式,这取决于调用它们时所使用的参数。 让我们分别看看 epoll…...

Java 数据抓取
大家好我是苏麟 , 今天聊聊数据抓取 . 大家合理使用 注意,爬虫技术不能滥用,干万不要给别人的系统造成压力、不要侵犯他人权益! 数据抓取 实质上就是java程序模拟浏览器进行目标网站的访问,无论是请求目标服务器的接口还是请求目标网页内容…...

深度学习之处理多维特征的输入
我们首先来看一个糖尿病的数据集: 在数据集中,我们称每一行叫做sample,表示一个样本,称每一列是feature,也就是特征在数据库里面这就是一个关系表,每一行叫做记录,每一列叫做字段。 每一个样本都…...

西瓜书读书笔记整理(十二) —— 第十二章 计算学习理论(下)
第十二章 计算学习理论(下) 12.4 VC 维(Vapnik-Chervonenkis dimension)12.4.1 什么是 VC 维12.4.2 增长函数(growth function)、对分(dichotomy)和打散(shattering&…...

初探分布式链路追踪
本篇文章,主要介绍应用如何正确使用日志系统,帮助用户从依赖、输出、清理、问题排查、报警等各方面全面掌握。 可观测性 可观察性不单是一套理论框架,而且并不强制具体的技术规格。其核心在于鼓励团队内化可观察性的理念,并确保由…...

闭包的理解?闭包使用场景
说说你对闭包的理解?闭包使用场景 #一、是什么 一个函数和对其周围状态(lexical environment,词法环境)的引用捆绑在一起(或者说函数被引用包围),这样的组合就是闭包(closure&#…...

openssl3.2 - 帮助文档的整理
文章目录 openssl3.2 - 帮助文档的整理概述笔记整理后, 非空的文件夹如下整理后, 留下的有点用的文件列表如下备注END openssl3.2 - 帮助文档的整理 概述 openssl3.2源码工程编译安装完, 对于库的使用者, 有用的文档, 远不止安装的那些html. 用everything查找, 配合手工删除,…...

中移(苏州)软件技术有限公司面试问题与解答(5)—— Linux进程调度参数调优是如何通过代码实际完成的1
接前一篇文章:中移(苏州)软件技术有限公司面试问题与解答(0)—— 面试感悟与问题记录 本文对于中移(苏州)软件技术有限公司面试问题中的“(11)Linux进程调度参数调优是如…...

初识C语言·文件操作
目录 1 关于文件 i)文件的基本知识 ii)数据文件的分类 2 文件打开和关闭 i)流和标准流 ii)文件指针 iii)文件打开和关闭 3 文件的顺序读写 i) fgetc fputc ii) fgets fputs iii) fscanf fprintf iv) fwrite fread 4 对比一组函数 scanf/fscanf/sscanf/printf/fpri…...

跨境卖家:如何利用自养号测评抢占市场先机?
在当今的跨境电商领域,产品的销量和评价是影响产品在市场上的表现的关键因素。对于卖家而言,自行养号进行产品测评不仅有助于提升销量,更成为了他们在这个竞争激烈的市场中保持竞争力的必备策略。 相较于一些卖家仍然依赖于服务商进行测评&a…...

开发手札:Github Timeout 22
今天(2024.01.26日),提交github又出现了ssh connect timeout errorcode 22,不论是创建新的sshkey还是配置.ssh/config都没用。 偶然在知乎上看到了解决方案,只需要在host中添加: 140.82.113.4 githu…...

学习鸿蒙基础(3)
1.组件重用样式 如果每个组件的样式都需要单独设置,在开发过程中会出现大量代码在进行重复样式设置,虽然可以复制粘贴,但为了代码简洁性和后续方便维护,可以采用公共样式进行复用的装饰器Styles。 Styles装饰器可以将多条样式设置…...

2024/1/27 备战蓝桥杯 1-2
目录 金币 0金币 - 蓝桥云课 (lanqiao.cn) 天干地支 0天干地支 - 蓝桥云课 (lanqiao.cn) 明明的随机数 0明明的随机数 - 蓝桥云课 (lanqiao.cn) 浇灌 0灌溉 - 蓝桥云课 (lanqiao.cn) 金币 0金币 - 蓝桥云课 (lanqiao.cn) 思路:放两种情况(k:代…...

【PyQt】02-基本UI
文章目录 前言一、首先了解什么是GUI?二、初学程序1.界面展示代码运行结果 2.控件2.1按钮展示代码运行结果 2.2 纯文本和输入框代码运行结果 3、重新设置大小 -resize4、移动窗口-move()5、设置界面在电脑中央5.1 代码运行结果 6、设置窗口图标代码运行结果 7、布局…...

无需 Root 卸载手机预装软件,精简过的老年机又行了
基础准备 准备目标手机、USB 数据线、以及一台电脑。手机 USB 连接电脑,开发者选项中打开 USB 调试。(开发者选项默认隐藏,需要在关于手机中多次点击版本号才能调出)。 安装手机驱动,下载安装 ADB 工具包。 开始操作…...

【Spring连载】使用Spring Data访问Redis(一)----快速指南
【Spring连载】使用Spring Data访问Redis(一)----快速指南 一、导入依赖二、Hello World程序 一、导入依赖 在pom.xml文件加入如下依赖就可以下载到spring data redis的jar包了: <dependency><groupId>org.springframework.boot…...