Cocos Creator 打字机,简单吧!

Cocos Creator高效NPC对话框架:数据与事件驱动设计实践 在游戏开发中,构建可维护的交互系统是提升开发效率的关键。数据驱动设计通过将逻辑与内容分离,使策划能独立配置,而事件驱动架构则实现了模块间的解耦,让系统更灵活、易于扩展。这种模式在NPC对话系统中尤为重要,它能有效管理复杂的对话树、分支条件和状态依赖。本文以Cocos Creator为例,深入探讨如何实现一个基于事件驱动与数据驱动的高效对话框架,涵盖核心架构、模块划分及具体代码实现,帮助开发者构建清晰、健壮的游戏对话系统。 阅读详情

 

1.简介

打字机,文字逐个出现,应该是很多游戏中用到的功能吧!比如新手引导,需要有文字对话,文字一个一个显示出来。我在这里用Cocos Creator做了个简单的组件和demo。效果如下图。

 

2.上代码 

const {ccclass, property} = cc._decorator;
​
@ccclass
export default class TypeWriter extends cc.Component {
​
    @property(cc.Label)
    label: cc.Label = null;
​
    @property
    text: string = '';
​
    @property({
        tooltip:"打字机打字的时间间隔(ms)",
    })
    duration: number = 100;
​
    start () {
        // init logic
        
        let strLen = this.text.length;
        let content = this.text.split("");
        let curStr = "";
        let self = this;
        for(let i = 0; i < strLen; i++){
            setTimeout(()=>{
                curStr += content[i];
                self.label.string = curStr;
            },self.duration*(i));
        }
        
    }
}

3.讲解

本段组件代码使用Typescript编写,TypeWriter继承cc.Component,其中有两个属性,一个cc.Label的节点,用于显示文本。一个适用于存放显示内容的字符串。在demo中,就是如上图的Cocos Creator做游戏真是简单··· 还有字符播放间隔是300ms。也就是每隔0.3s播放一个字符。

实现思路就是将字符串切割为单个字符,然后每隔300ms,追加一个字符到一个新的字符串变量,再把新的字符串变量设置为Label的string,即可。代码如上图。

在这里,我使用的是setTimeout做延时。

 

 

 

Cocos Creator SDF字体渲染插件:TextMeshPro性能优化与高级动画实战 在游戏开发中,文本渲染是UI系统的核心组件,其性能与表现力直接影响用户体验。传统位图字体或系统字体渲染在复杂效果和动态缩放时,常面临边缘锯齿、Draw Call激增等性能瓶颈。有向距离场(SDF)字体渲染技术通过将字形信息编码为距离场纹理,在GPU着色器中实现任意缩放下的边缘平滑,并将描边、阴影、辉光等多种效果合并至单次绘制调用,从根本上解决了性能与质量的矛盾。这项技术为追求高品质UI的游戏项目,如RPG、视觉小说或运营活动界面,提供了电影级的文字表现力。本文以Cocos Creator社区的cocos-t 阅读详情

相关推荐

告别卡顿!OBS Studio最佳录制参数设置指南(适合游戏/网课/会议场景)

本文提供OBS Studio录制参数优化指南,针对游戏、网课及会议三大场景,详细解析帧率、码率与编码器设置。重点推荐利用硬件编码器(如NVENC)实现游戏录制零卡顿,并分享清晰稳定的网课录制与长时间会议录制配置方案,助你告别视频卡顿与音画不同步问题。

e4f5g6h7的博客 1333

CocosCreator 实现打字效果

清除定时器,并执行回调函数(如果有)。否则,将下一个字符添加到 Label 组件中,递增索引,以便在下一次回调中显示下一个字符。计算每个字符之间的时间间隔,以控制打字速度。函数设置定时器,每隔一段时间执行一次回调函数。如果已经显示完所有字符,就调用。在函数内部,我们首先获取 Label 组件的文本内容,并使用变量。CocosCreator 版本3.4.2。然后,我们定义了一个变量。表示每秒展示多少个字,可以通过计算。,用于表示当前显示的字符索引。这个函数用于清除定时器。

Zyt 889

SoC验证新思路:除了UVM仿真,你还可以试试Cadence JasperGold的形式化验证

本文深入探讨了Cadence JasperGold形式化验证在SoC设计中的创新应用,对比传统UVM仿真验证,详细解析了其数学穷尽性验证优势。通过实战案例展示了JasperGold在总线协议、时钟域交叉等关键场景的验证方法,并提供了混合验证流程设计与效能优化方案,帮助工程师提升验证效率30%以上。

weixin_30566063的博客 120

TS+cocos creator实现打字机效果,单字出现

TS+cocos creator实现打字机效果

sjsjsjsj1010的博客 1600

避坑指南:QCustomPlot鼠标事件冲突解决方案(左键拖动vs右键框选)

本文深入解析QCustomPlot在QT框架下的高级交互实现,重点解决左键拖动与右键框选的冲突问题。通过自定义事件处理和QRubberBand技术,提供了一套完整的无冲突交互方案,帮助开发者优化数据可视化应用的用户体验。

moss5的博客 660

GitLab教程(四):分支(branch)和合并(merge)

命令进行合并时,Git具备一定的智能自动化处理能力:如果一个分支仅修改了文件A,而另一个分支独立地修改了文件B,Git能够无缝整合这些更改,自动完成合并过程——即最终的代码既包含了对A文件的修改也包含了对B文件的修改。同样地,若两个分支虽然都修改了同一个文件,但涉及的是文件中互不重叠的部分,比如一个改动发生在第一行,另一个则在第二行,Git同样能巧妙地自动合并这些非冲突性修改。获取了远程分支的最新变化,或者当你想要合并本地的一个分支到当前分支时,就会用到这个命令。,默认会尝试合并远程分支到当前分支。

TracyCoder的博客 7885

Cocos Creator实现打字机效果

效果图如下: 代码比较简单不做赘述了 start() { let tip = "乾坤未定,你我皆是黑马" let i = 0; this.tipLabel.string = ''; this.schedule(()=>{ i++; if(i === tip.length+1) { this.onLoadSuccess();//加载场景

qq_40303068的博客 1360

双翌视觉系统配合机械手大视野定位案例(单目标带角度抓取)

一、定位原理概述 1.系统构架 视觉定位系统采用正向打光方式,光源在机械手上方,CCD从上往下拍摄,进行图像分析定位。相机将计算出的像素坐标转换为机械手的物理坐标,视觉软件与机械手进行网口通讯,将视野内物料的物理坐标发送给机械手,机械手抓取物料放在指定工位。 2.相机标定概述 系统采用宫格标定确定像素坐标和物理坐标一一对应关系,同时利用3点或者多点旋转标定求出旋转中心 系统采用宫格标定,自定义行列数和间距及旋转角度,通过机械手发送的当...

weixin_51554164的博客 2172

cocos creator简单实现打字机效果

在我们的一些游戏中,会有一些文字需要一个一个的出来。比如角色扮演类游戏中的角色对话,一开始一点一点出来,如果玩家点击对话框,文字立刻全部显示。今天就给大家分享这个效果。 首先,界面布置,由于我在这里只是实现这个效果,所以直接搭一个简易场景。 加了一个按钮和一个文字节点,设置文字大小以及居中等操作。创建文本放到按钮节点下。 实现原理: 将要显示的文本使用split切分成一个个字放到一个数组中存储起来,定义索引,使用定时器等,没隔一定的时间将一个文字显示出来,当玩家点击了按钮,就将定时器停止,索引清

卡西莫多说的博客 1106

IO Virtualization with Virtio.part 2 [十三]

通过对virtio_device_id 中的 device 和 vendor 的值进行比较,我们找到对应的 virtio 驱动,由于这里我们使用 i2c virtio 为例,所以调用 virtio_i2c_probe 进行 virtio i2c 设备的初始化。在和 virtio mmio 设备交互时我们会读取 VIRTIO_MMIO_DEVICE_ID 和 VIRTIO_MMIO_VENDOR_ID,并将其值写入 virtio_device_id 中,这个就会用作后面和 virtio 设备驱动的匹配参数。

cxjczy1990的博客 1211

水文仿真软件:HEC-RAS (Hydrologic Engineering Center‘s River Analysis System)_(7).一维非稳态水力模型

自定义脚本是通过编程语言(如 Python)编写的一系列自动化任务,可以帮助用户更高效地处理数据和运行模型。编写脚本:使用 Python 或其他编程语言编写自定义脚本。集成脚本:将脚本集成到 HEC-RAS 中,实现自动化数据处理和模型运行。

kkchenjj的博客 929

CocosCreator实现文字逐个出现的打字机效果

typingAni: function (label, text, cb) { var self = this; var html = ''; var arr = text.split(''); var len = arr.length; var step = 0; self.func = functi...

hexindianxiaoxi的博客 544

Python爬虫实战:基于最新技术爬取国家企业信用信息公示系统数据

本文将详细介绍如何使用Python最新技术栈构建一个高效、稳定的国家企业信用信息公示系统爬虫。我们将从爬虫基础知识讲起,逐步深入到反爬机制应对、数据解析与存储等高级话题,最终实现一个完整的爬虫系统。文章包含大量实战代码示例,适合中高级Python开发者学习参考。网络爬虫(Web Crawler)是一种自动获取网页内容的程序,广泛应用于搜索引擎、数据分析和商业情报收集等领域。通用爬虫:如搜索引擎爬虫,广泛抓取互联网公开信息聚焦爬虫:针对特定领域或网站的数据采集增量式爬虫:只抓取更新内容,减少资源消耗。

2201_76125261的博客 2406

python打字机效果_cocos creator 实现打字机的效果

let richText = this.viewNode.getChildByName('richText').getComponent(cc.RichText);const str= "helloRed Text,"+"enlarge me,"+"A label with outline,"+"This text will be rendered as bold,"+"This text wil...

weixin_32589877的博客 384

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Creator打字机效果

我封装了非常好用的方法 只需要传入指定的label,要显示的内容和每个字显示的时间间隔就可以,返回全部显示完所需时间 支持同一个label未全部显示完就再次设置新的显示内容 这个方法靠两个数组维持 // 这个数组控制文字是否可以继续显示,防止文字乱套 is_string: boolean[] = []; // 之前使用过set_label_stringTW方法的所有label label_last: LabelComponent[] = []; // 设置label内.

bcswkl_的博客 529

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Cocos Creator 3.x 高维护性打字机对话系统设计与实现

本文介绍了一个基于Cocos Creator的高扩展性打字机对话系统设计方案。系统采用组件化、JSON数据驱动和事件解耦架构,包含四大核心模块: TypewriterComponent - 实现逐字符显示、跳过等核心功能,支持富文本和事件回调 TypewriterConfig - 集中管理打字速度、音效等参数,支持JSON配置热更新 DialogueEntry - 定义对话数据结构,支持头像、分支等扩展功能 DialogueManager - 对话流程控制中心,实现存档集成和业务逻辑解耦 系统特点包括: 组

LcGero的博客 413

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

【cocos creator】文字打字效果,文字逐个显示

文字打字效果,文字逐个显示 cc.Class({ extends: cc.Component, properties: { test:cc.Node, } start() { }, setText(){ var str = "欢迎您 " + "\n希望您在这里度过一段愉快的时光"; v...

烧仙草奶茶的博客 2414

又来一款打字机,简单吧!

点击上方蓝色字体,关注我们打字机,文字逐个出现,应该是很多游戏中用到的功能吧!比如新手引导,需要有文字对话,文字一个一个显示出来。我在这里用Cocos Creator做了个简单的组件和d...

奎特尔星球 228

Cocos TextMeshPro:为Cocos Creator带来卓越文本渲染解决方案

Cocos TextMeshPro:为Cocos Creator带来卓越文本渲染解决方案 在游戏开发中,文本渲染是不可或缺的一部分。一个优秀的文本渲染工具能大大提升游戏的视觉效果和用户体验。Cocos TextMeshPro正是为了满足这一需求而生的开源项目,为Cocos Creator提供了与Unity TextMeshPro相媲美的文本渲染功能。 项目介绍 Cocos TextMeshPro是...

gitblog_00125的博客 770

Creator新手引导 | 限制只能点击一个按钮 | 文字打字机效果

效果 实现这个非常简单巧妙 源码在文末 实现思路 节点有点多,一个一个讲解下 bg是游戏背景图,主要是为了和灰黑色的遮罩区别 Btn_parent是三个按钮的父节点,加了一个layout,使每个按钮不互相挨着挤得慌 hand是白色的引导手 label是引导文字 Mask是遮挡节点,他还有一个单色精灵子节点,单色精灵子节点就是所有灰色的部分,单色精灵上加了一个widget保持和canvas上下左右为0 代码奉上~ import { _decorator, Component, Node, Bu

bcswkl_的博客 718

一款功能强大的 Cocos Creator 富文本插件!更炫的效果,更少的开销!

如今,单一文本样式已经很难满足实际项目需求,我们常会需要设置特殊的文本样式、优化排版、进行图文混排等等。此时,少不了用到富文本功能,实现更加丰富多样的文本效果。开发者 wingcd 历时半年,写了一款开箱即用的SDF富文本插件,支持Cocos Creator 3.x,能够几乎无开销地实现各种富文本功能,可以通过 TTF 生成 SDF 字体,支持动态与静态方式生成 SDF 字体。版本适配功能介...

Cocos的博客 686

《Cocos Creator游戏实战》新手引导实现

新手引导实现 新建节点 完成代码 新手引导在游戏中非常有必要,笔者在本篇教程中就带大家来做一个。 运行效果如下: Cocos Creator版本:2.2.0 公众号后台回复"新手引导",获取该教程完整代码下载地址: 新建节点 笔者在层级管理器中新建了以下节点: 在场景编辑器中显示如下: Button1、Button2和Button3这三个是按钮,用于新手引...

热爱代码 3711

Cocos Creator插件——Many Widgets助你快速开发

Many Widgets插件旨在帮助开发者快速生成带有特定功能的组件,Shader以及3D模型。 快速生成的组件比如: 快速生成拖尾效果 如何使用Many Widgets插件给节点快速加上幻影拖尾效果 快速生成新手引导 Many Widgets 如何使用Beginner Guide新手引导控件 快速生成2D和3D摇杆 Many Widgets 如何使用2D摇杆Joystick2D控件 Many Widgets 如何使用3D摇杆Joystick3D控件 还可以快速生成

热爱代码 2863

今年双11有啥子?10款工具框架类资源推荐

本公众号由以下老铁赞助,感谢他们❗️双11第二弹!让你的游戏开发更容易,游戏运行更流畅,沉浸在游戏内容创作的乐趣中,我们一起来看看吧!01 98K高性能多纹理合批作者:我是98K介绍:优化 Cocos Creator 2.x\3.x UI渲染性能,多纹理合批支持,全平台性能优化开箱即用,不影响工程,无需定制引擎,对默认精灵材质DrawCall下降N倍到8倍。在线体验2.x:http://wecha...

奎特尔星球 959

了不起的 Creator 开源入门教程,源码升级 2.4.0

最近公众号、社区微信群、微信好友 ... 来了一些新伙伴向晓衡咨询:如何上手学习 Cocos Creator 游戏开发。如果你已经了解了 Cocos Creator 引擎编辑的基础,在这...

奎特尔星球 485

【开学了】整理各种常用功能的实现 | 小游戏源码分享

暑假余额严重不足,马上初三了学习任务很紧,初三上一个学期要把上下两套书都讲完,下学期光模拟考,不出意外摸不到手机电脑了。花点时间整理下学过的知识,算是对自己自学两年Creator的一个总结。 没有特殊说明引擎版本的就是3.2.1 2D / 3D摇杆 三角函数在游戏中的应用 | 角度和平面向量的转换 技能按钮冷却 手指滑动粒子效果 新手引导 小小黑板 射线检测 | 模拟选中 打字机效果 小提示文字 双指缩放和拖动无黑边 吃鸡游戏中开关门 2D横版游戏背景随主角移动 | 单独相机拍UI

bcswkl_的博客 784
上一篇: 性能优化过后的Cocos Creator ScrollView组件
下一篇: 飞机大战-Cocos Creator 碰撞系统实践
大头爱学习
博客等级 码龄7年 14粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值