草庐IT

【OpenSourceC#】ET框架

1.前言ET算是我刚接触客户端时最早知道的框架,ET我最初眼馋的还是他的双端功能。包揽前后端的功能,这个很有吸引力。但是那时候对我来说这框架太复杂了,没法看。这两天又来看看,曾经很多不懂的地方现在都能看懂了,看了之后发现这框架还是不适合我,原因总结里再说,在这里做一下记录。首先说一下很多新手看这个框架的疑惑点,再说一下ET最有特色的几个功能:ETTask、事件系统、双端开发。2.新手常见问题这些问题是我以一个新手的视角来看的。也是我最初接触这个框架以来有疑惑的地方。2.1目录结构问题这里以7.2的目录为例。ET6就不用看了,就是闹着玩儿。代码位置主要关心以下三个目录,其中Share文件夹下主要

LabVIEW将台式电脑转换为 Phar Lap ETS 实时目标

LabVIEW将台式电脑转换为PharLapETS实时目标注意:NI将在NI2020软件版本中删除对cRIO的Pharlap和NI2022软件版本中对PXI的支持。更多信息,请参阅PharLapRTOSEOL路线图。您可能已经拥有一台台式PC,可以作为下一个可靠的确定性测试或控制系统。大多数PC都具有通用操作系统,该系统可以为开发和运行非关键应用程序提供出色的平台,但无法满足关键应用程序(如机器控制或扩展运行时测试)的要求。通用操作系统经过优化,可同时运行各种应用程序,确保所有应用程序都能获得一些处理时间。因此,高优先级任务可能会被低优先级任务抢占,从而无法保证关键应用程序的响应时间。相比之下

【ARK UI】HarmonyOS ETS的启动页的实现

 参考资料 页面路由轻量级存储【ARKUI】HarmonyOSETS的引导页的实现代码实现1、功能描述打开一个应用程序时,会有一个类似欢迎的界面,它叫SplashPages。一般在这个页面可以做一些App数据初始化的工作。实现的效果当用户点击Appicon后,进入SplashActivity,大约经过1~2秒跳转到程序的主界面。2、思路逻辑首先页面启动的时候进入SplashPage界面,然后在页面启动的时候获取IsFirst的key的value值如果IsFirst的key的value值为true,就认为他是第一次进入,那么进入欢迎页面如果IsFirst的key的value值为false,就认为

【Harmony OS】【ARK UI】ETS的List实现下拉刷新功能实现

 在HarmonyOS开发中List下拉刷新是一种很常见的问题,今天描述怎么实现List下拉刷新的功能实现,主要分为“开发准备”,“代码实现”,“运行效果”开发准备我们需要学习以下知识点1.1【HarmonyOS】【ARKUI】【Demo】加载动画实现1.2PanGesture1.3ListListItem1.4显隐控制代码实现2.1准备数据源定义全量数据源:用于加载每次加载部分数据定义List显示数据源:用于List显示在界面上代码如下privatearr:string[]=["A","B","C","D","E","F","G","H"]//todo当前list显示数据源privateAl

【Harmony OS】【ArkUI】ets开发 图形与动画绘制

【ArkUI】ets开发 图形与动画绘制前言:之前我们已经完成了HarmonyArkUI 使用ets方式实现基础的页面布局和数据连接的学习,这次我们在原有的基础上进行一些图片和动画的绘制学习。本篇是以HarmonyOS官网的基于TS扩展的声明式开发范式文档,绘图和动画为基础进行编写。所以笔者将原文进行整合,提取出其中的要点,以便通俗易懂地呈现给读者,希望能帮助你快速了解Harmony的ETS开发,学会简单的图形和动画绘制的学习。本篇最后会贴上参考原文链接。 首先讲一下大致的思路,我们要使用组件工具绘制基本的几何图形,绘制自定义几何图形,给图形添加动画效果,以及页面的转场动画。所以笔者将整个功能

ET介绍——数值组件设计

类似魔兽世界,moba这种技能极其复杂,灵活性要求极高的技能系统,必须需要一套及其灵活的数值结构来搭配。数值结构设计好了,实现技能系统就会非常简单,否则就是一场灾难。比如魔兽世界,一个人物的数值属性非常之多,移动速度,力量,怒气,能量,集中值,魔法值,血量,最大血量,物理攻击,物理防御,法术攻击,法术防御,等等多达几十种之多。属性跟属性之间又相互影响,buff又会给属性增加绝对值,增加百分比,或者某种buff又会在算完所有的增加值之后再来给你翻个倍。普通的做法:一般就是写个数值类:classNumeric{publicintHp;publicintMaxHp;publicintSpeed;//

【ArkUI】【HarmonyOS】鸿蒙ets项目如何npm方式引入第三方js类库

鸿蒙ets项目如何npm方式引入第三方js类库【问题描述】想要在ets项目中npm引用第三方开发的js类库,只知道在项目的package.json中加入依赖语句后,同步sync一下项目会自动生成对应依赖项目的源文件目录,在使用该第三方js类库时,遇到了无法在ets项目导入相关js文件,从而无法使用,而且第三方js库ide检查语法也是错误的,那么ets项目中应该如何使用npm依赖的js第三方类库?在项目的package.json中加入依赖语句同步sync一下项目会自动生成对应依赖项目的源文件目录【解决方案】使用npm引入三方包(仅支持引入js三方包)这次我们提供两种解决方案方案一:a.打开Ter

ET介绍——Actor Location

ActorLocationActor模型只需要知道对方的InstanceId就能发送消息,十分方便,但是有时候我们可能无法知道对方的InstanceId,或者是一个Actor的InstanceId会发生变化。这种场景很常见,比如:很多游戏是分线的,一个玩家可能从1线换到2线,还有的游戏是分场景的,一个场景一个进程,玩家从场景1进入到场景2。因为做了进程迁移,玩家对象的InstanceId也就变化了。ET提供了给这类对象发送消息的机制,叫做ActorLocation机制。其原理比较简单:因为InstanceId是变化的,对象的Entity.Id是不变的,所以我们首先可以想到使用Entity.Id

OpenHarmony开源鸿蒙学习入门-应用开发之使用eTS语法示例项目讲解

OpenHarmony开源鸿蒙学习入门-应用开发之使用eTS语法示例项目讲解一、创建示例项目:(1)首先通过IDE,创建示例工程项目。CreateProject。说句题外话,与HarmonyOS的开发IDE不同,OpenHarmony的IDE不需要登录华为账号。缺点就是,没有在线模拟器等比较先进的功能。(2)选择第一个,创建空的Ability模板项目,EmptyAbility。这个示例项目很简单,会用一个简单的布局,使用文本组件显示HelloWorld。ThisFeatureAbiltiytemplatewasdevelopedforphonesandtabletstodisplaytheba

ET介绍——分布式Actor模型

Actor模型Actor介绍在讨论Actor模型之前先要讨论下ET的架构,游戏服务器为了利用多核一般有两种架构,单线程多进程跟单进程多线程架构。两种架构本质上其实区别不大,因为游戏逻辑开发都需要用单线程,即使是单进程多线程架构,也要用一定的方法保证单线程开发逻辑。ET采用的是单线程多进程的架构,而传统Actor模型一般是单进程多线程的架构,这点是比较大的区别,不能说谁更好,只能说各有优势。优劣如下:逻辑需要单线程这点都是一样的,erlang进程逻辑是单线程的,skynetlua虚拟机也是单线程的。ET中一个进程其实相当于一个erlang进程,一个skynetlua虚拟机。采用单线程多进程不需要