TSRPC+Cocos

embedded/2025/2/21 4:52:15/

TSRPC文档: https://tsrpc.cn/docs/get-started/api.html

创建

先创建一个默认的会话项目,找一个文件夹在控制台运行以下代码:

npx create-tsrpc-app@latest first-api --presets browser
# 或者
yarn create tsrpc-app first-api --presets browser

运行之后根据自己的需求选
在这里插入图片描述

等待
在这里插入图片描述

新建初始模板结束
在这里插入图片描述

会发现在运行Powershell的文件夹下出现了一个“first-api”文件夹,里面包含前端和后端工程。
在这里插入图片描述

分别下载依赖,运行如下代码

npm i

看看后端里写的readme,运行后端

npm run dev

运行前端
注意要用命令行运行,不要用liveServer什么的。

npm run dev

可以看到如下页面
在这里插入图片描述

都运行起来之后,就可以发消息了
在这里插入图片描述

如果使用的是WS,也是一样的操作,前端页面如下:
在这里插入图片描述

使用Cocos制作前端

之前的前端部分可以关掉了,接下来用Cocos Creator制作一个前端。
新建一个Cocos项目,把这些复制到package.json

  "dependencies": {"tsrpc-browser": "^3.4.11","tsrpc-miniapp": "^3.4.1"}

先运行

npm i

sharedclient的内容复制到cocos里
在这里插入图片描述

注册一个全局管理器

GameManager.ts
import { HttpClient } from "tsrpc-browser";
import { ReqAddData } from "../shared/protocols/PtlAddData";
import { serviceProto } from "../shared/protocols/serviceProto";/*** 前端游戏状态管理* 主要用于实现前端的预测和和解*/
export class GameManager {private client;constructor() {// Use browser client or miniapp client depend on the platform this.client = new HttpClient(serviceProto, {server: "http://192.168.231.98:3000",json: true,logger: console,});}async addData(obj: ReqAddData): Promise<void> {let ret = await this.client.callApi('AddData', obj);if (!ret.isSucc) {console.log("请求失败");return;}}async loadList() {let ret = await this.client.callApi('GetData', {});// Errorif (!ret.isSucc) {alert(ret.err.message);return;}// Successreturn ret.res.data;}
}

发送按钮绑定事件

this.gameManager.addData({ content, name });
// 发送完成后刷新一次
this.scheduleOnce(() => {this._updateList();
}, 0.5)

配合UI制作等等,实现一个对话窗功能

在这里插入图片描述


http://www.ppmy.cn/embedded/115377.html

相关文章

linux下的日志编写

1、日志初始化创建 2、日志写入 3、日志关闭 log.c #include "log.h"static log_t LOG;//初始化日志文件&#xff0c;在当前目录创建日志文件 int log_init(char *pdirname) {time_t t;struct tm *ptm NULL;char filepath[64] {0};int ret 0;time(&t);ptm …

C++之模板初阶

片头 哈喽&#xff0c;小伙伴们&#xff0c;好久不见~ &#xff0c; 古时候&#xff0c;人们对于文化知识的需求不断增长&#xff0c;手抄书籍的方式已经无法满足这种需求。因此&#xff0c;人们开始探索更高效的复制和传播知识的方法-----印刷术。 在写C程序的时候&#xf…

C#基础(14)冒泡排序

前言 其实到上一节结构体我们就已经将c#的基础知识点大概讲完&#xff0c;接下来我们会讲解一些关于算法相关的东西。 我们一样来问一下gpt吧&#xff1a; Q:解释算法 A: 算法是一组有序的逻辑步骤&#xff0c;用于解决特定问题或执行特定任务。它可以是一个计算过程、一个…

时序预测 | Matlab实现SSA-TCN麻雀搜索算法优化时间卷积网络时序预测-递归预测未来数据(单输入单输出)

时序预测 | Matlab实现SSA-TCN麻雀搜索算法优化时间卷积网络时序预测-递归预测未来数据&#xff08;单输入单输出&#xff09; 目录 时序预测 | Matlab实现SSA-TCN麻雀搜索算法优化时间卷积网络时序预测-递归预测未来数据&#xff08;单输入单输出&#xff09;预测效果基本介绍…

模擬器怎麼多開換IP?

遊戲玩家、行銷人員或者是開發者&#xff0c;都可能需要在同一臺電腦上運行多個實例&#xff0c;並且每個實例使用不同的IP地址。那麼&#xff0c;如何實現這一目標呢&#xff1f;本文將詳細介紹模擬器多開和換IP的原理、方法及注意事項。 模擬器就是在同一臺電腦上運行多個安…

4.提升客户服务体验:ChatGPT在客服中的应用(4/10)

本文大纲旨在指导撰写一篇全面探讨ChatGPT如何通过优化客户服务流程、提供实际应用案例和用户反馈&#xff0c;以提升客户服务体验的深入博客文章。 引言 在当今竞争激烈的商业环境中&#xff0c;客户服务已成为企业成功的关键因素。优质的客户服务不仅能够增强客户满意度和忠…

c++primer第九章内存模型和名称空间学习笔记

单独编译 程序分为三步 函数定义和变量声明不能放在头文件中。 头文件经常包括的内容 结构声明可以放在头文件中。 头文件coordin.h代码 #ifndef COORDIN_H_ #define COORDIN_H_struct polar {double distance;double angle; }; struct rect {double x;double y; }; polar …

五、CAN总线

目录 一、基础知识 1、can介绍 2、CAN硬件电路 3、CAN电平标准 4、CAN收发器芯片介绍 5、CAN帧格式 ① CAN帧种类 ② CAN数据帧 ③ CAN遥控帧​编辑 ④ 位填充 ⑤ 波形实例 6、接收方数据采样 ① 接收方数据采样遇到的问题 ② 位时序 ③ 硬同步 ④ 再同步 ⑤ 波…