应该学习的 5 种手机游戏开发语言

每个热门的手机游戏都是从一个想法开始的,但你从那里开始呢? 在五种编程语言之一的帮助下,Apple 和 Google Play 商店中的许多游戏从一个创意转变为流行游戏。

手机游戏开发是一项艰巨的任务,但是当您拥有正确的工具时,它会容易得多。 首先确定最适合您的需求和经验的编程语言。如果你有兴趣想学习手机游戏开发,那么以这五种编程语言可以更好的帮助你进入游戏开发世界。

王者荣耀手机游戏

C#(读作“see sharp”)是微软于2002年发布的面向对象的编程语言。它运行在.NET(微软虚拟执行系统)上,在世界顶级编程语言中占有一席之地。 C# 之所以受欢迎,是因为它在创建健壮和持久的应用程序方面的成功记录。

Unity 证明了这一点,因为它是世界上最流行的游戏引擎之一,完全使用 C# 构建。 根据 Unity Technologies 的数据,今天 71% 的分发手机游戏使用 Unity 游戏引擎。 Unity 允许您使用 C# 脚本创建自定义的 3D 游戏,因此您可以脱颖而出。

一些用统一创建的流行手机游戏包括 Pokémon GO、Cuphead、使命召唤和纪念碑谷。

优势

  • C# 是一种流行的语言,拥有庞大的游戏开发者社区,这意味着有很多资源可供初学者使用。
  • 它有大量的文档。
  • 它属于 C 家族,因此与 C、C++ 和 Java 密切相关。 这减少了来自这些其他流行语言之一的开发人员的学习曲线。
  • C# 是一种高级的面向对象的编程语言。
  • C# 有一个内置的垃圾收集器,可以自动释放内存。
  • 它是一种类型安全的编程语言。
  • C# 速度很快。

缺点

  • C# 对 .NET 平台有很大的依赖性。 如果没有 .NET,它是面向 Windows 的,对其他操作系统的支持不多。

1985 年 Bjarne Stroustrup 发布了 C++ 的第一个正式版本。 1998 年,C++ 标准委员会发布了该语言的第一个国际标准。 今天,C++ 已经取得了长足的进步,成为世界上最顶级的编程语言之一,不仅用于游戏开发,而且作为一种多用途语言。

虚幻引擎是世界顶级的手机游戏引擎之一。 使用 C++ 构建的虚幻引擎将自己定位为“实时 3D 创建工具”。 该引擎允许您开发 3D 游戏,是 Unity 的主要竞争对手之一。 虚幻引擎创造了《堡垒之夜》、《蝙蝠侠:阿卡姆城》和《地狱之刃:塞娜的献祭》等热门游戏。

优势

  • 它是一种多范式编程语言。
  • C++ 让您可以完全控制程序的行为,例如内存管理。
  • C++ 速度很快。
  • C++ 有一个庞大的生态系统。
  • 它是一种混合了高级和低级特征的中级语言。 从某种意义上说,它是一个高级汇编程序,因为它提供对计算机硬件的直接访问(通过操作系统)。

缺点

  • C++ 缺乏其他编程语言所具有的功能,例如内置的垃圾收集器。
  • 它存在安全问题,例如可能导致程序崩溃甚至成为黑客网关的指针。

Kotlin 是由 JetBrains 开发的一种现代编程语言,JetBrains 是一家创建开发工具的公司。 2016 年,JetBrains 发布了 Kotlin 的第一个版本,这是一种用于移动应用程序开发的编程语言。从一开始,Google 就承诺支持 Kotlin 进行 Android 开发。这一举措在 Kotlin 和 Android 应用程序开发之间建立了普遍的联系。

然而,与任何优秀的移动应用程序开发语言一样,Kotlin 是一种跨平台语言。 Kotlin 有一个用于 Android 和 iOS 应用程序开发的软件开发工具包 (SDK),称为 Kotlin Multiplatform Mobile。此 SDK 提供跨平台和原生优势。它允许您在 Android 和 IOS 之间共享一致的逻辑(例如网络和存储),同时分别实现特定于设备的功能。

最受欢迎的 Kotlin 游戏引擎是 KorGe。多亏了 KorGE Gradle 插件,KorGE 既是一个原生的跨平台游戏引擎。它使用适用于 Android 的 Java 虚拟机 (JVM)、适用于 iOS 和桌面的原生以及适用于 Web 的 JavaScript。 KorGE 游戏引擎主要创建 2D 游戏。

优势

  • Kotlin 是一种多范式语言(面向对象和函数式)。
  • 根据 Kotlin 的说法,与 Java 相比,Kotlin 将您的代码减少了大约 40%。
  • Kotlin 速度很快。
  • Kotlin 具有智能转换、高阶函数、扩展函数、内置 null 安全性和 lambda 等功能。
  • Kotlin 在移动应用程序开发人员(特别是 android 应用程序开发人员)中很受欢迎。

缺点

  • Kotlin 是一种相当新的编程语言,因此它的社区很小。

Swift 是另一种现代编程语言。 它的开发是 Apple Inc. 和几个开源贡献者的共同努力。 Apple 于 2014 年发布了 Swift 的第一个版本,用于 IOS、iPadOS、macOS、tvOS 和 watchOS 应用程序开发。 如今,Swift 支持所有 Apple 平台和 Linux 操作系统。

优势

  • Swift 有一个自动内存管理器。
  • Swift 具有自定义字符串插值、JSON 编码和解码、一流函数以及使用流线型闭包的自定义转换等功能。
  • 由于它使用了高性能的 LLVM 编译器技术,因此速度很快。
  • Swift 是一种高级编程语言。
  • 它是一种多范式语言。

缺点

  • Swift 仅支持 IOS 手机游戏应用开发。
  • 与用于开发移动游戏应用程序的其他更成熟的语言相比,它是一种具有小社区的新语言。

Lua 是移动游戏开发中最受欢迎的选择之一。 根据 Lua 的说法,它是“目前游戏中领先的脚本语言”。 此列表中的其他语言使用编译器,这意味着速度更快。 Lua 是这里唯一的解释型编程语言,因此它符合脚本语言的要求。

《魔兽世界》和《愤怒的小鸟》是当今世界上最流行的两款游戏,它们都是使用 Lua 开发的。 Solar2D(以前称为 Corona)和 Defold 是使用 Lua 开发的两个流行的游戏引擎。

优势

  • Lua 是一种多范式编程语言。
  • 它很快。
  • 它小巧而强大。
  • Lua 在游戏开发中很受欢迎。

缺点

  • Lua 是一门强大的语言,但与此列表中的其他两个巨头(C# 和 C++)相比,它没有一个庞大的社区。

经过验证的性能是这五种语言及其各自游戏引擎的共同品质。 尽管所有这些语言都非常适合移动游戏开发,但它们可能并不都适合您。

例如,如果您想为 IOS 用户开发一款手机游戏,那么 Swift 可能是您的最佳选择。 如果你的游戏是面向 Android 和 IOS 用户的,但它是 2D 的,那么 Lua 和 Kotlin 是你的最佳竞争者。 但是,如果您的游戏是 3D 的,C# 和 C++ 是您的最佳选择。

如何启用iOS 16.4 RC版新增的通话语音突显功能?

今天发布的 iOS 16.4 / iPadOS 16.4 RC 预览版给大家带来了iPhone 手机通话语音突显功能。此前语音突显已可用于在运行 iOS 15 或 macOS Monterey 或更高版本的设备上使用 FaceTime、WhatsApp 和其他应用程序的 VoIP 通话,旨在通过减少背景噪音来显著提高通话时的麦克风质量。到现在苹果将其支持了手机电话的语音通话。

iOS 16.4新增的通话语音突显功有什么优势呢?

简单来说开启语音突显(Voice Isolation)功能后,iPhone会优先考虑您的声音并屏蔽您周围的环境噪音,从而使通话更清晰,让用户更好地听到与您聊天的人的声音。

在 FaceTime 通话中,可以通过激活控制中心、点击“麦克风模式”选项并选择“语音突显”选项来启用此功能。

如果你的 iPhone 已经安装了 iOS 16.4,可参考以下操作为蜂窝电话启用语音突显:

  • 开始与某人通话
  • 在通话期间,打开 iPhone 上的控制中心
  • 点击麦克风模式
  • 从列表中选择语音突显选项

启用此模式后,iPhone 将屏蔽外部声音以专注于您的声音。

如果您想禁用此模式,只需再次执行相同的步骤并从列表中选择标准选项。

需要注意的是,目前宽谱(Wide Spectrum)模式不适用于蜂窝电话。在宽谱模式下iPhone 的作用恰恰相反,它会加强对通话期间周围所有声音的捕捉。

手机app控制PLC方案-仅限局域网

前面有视频讲到了用浏览器可以监控PLC的变量的方法,如下图所示,将PLC的IP地址192.168.10.6映射到了一个外网地址,随意一台上网的手机或者电脑都可以查看对应变量表的数值。

后面一直琢磨怎么能让手机能够控制PLC呢?web 服务器可以自定义网页,但是需要自己开发网页,我不会啊,然后就想到了用MIT APP开发APP软件,具体的使用编程有兴趣可以去试试,拖拽式,很适合没有C语言基础的小白,我不细讲了。

受限于该开发平台限制,合适使用的通讯方式只有TCP连接,PLC做服务器,app做客户端。

PLC的配置如下,开放2001端口连接

app的客户端配置

然后就是数据处理,首先是浮点数处理,因为这个开发平台是不能处理浮点数的,也没有各种进制转换,所以只有PLC那边将所用数据转成字符串形式发送,所以它只适合做简单控制处理。

如上图,将压力28.41转成字符传2841

将Q 点状态转成ON或者OFF,(这里0和1也行),后续在app处理

如下图,就是app 收到的字符传,收到内容在app后台编程截取字符加上小数点就行

部分代码如下,截取97和99开始的各两个字符,加上小数点显示即可

就把2487转成了24.87

下图就是输入输出的转态和控制开关,绿色标识为ON中,蓝色标识OFF中,也是app 接收到ON,OFF进行编程处理

开关量状态部分代码如下,接收到OFF设置背景延时为蓝,否则背景颜色为绿,(其实发送01好像节省PLC地址,我懒得改了。)

处理完读取然后是控制指令,需要如果需要设置浮点数的话,需要在app 设置字符串,然后PLC转换成浮点数,我就没搞了,浪费时间,讲下开关量控制吧。

我给每个开关设置预留一个字符位置,点击就取反,总共需要10个控制点位+一个总开关

比如SV4106对应第五个字符,SV4203对应的第8个字符位置

点击一下就取反,然后刷新数据发送

将起始符+10个开关状态+总开关状态合并合成一串字符,发送到PLC

PLC收到就是&B开头的一串字符串,如下,然后进行数据处理

PLC如下处理,手动下,链接状态正常,确认开始符后,对应字符=1就执行输出

通过以上方式就实现手机APP控制PLC,缺点是数据处理麻烦,不适合需要设置比较多参数的项目,最适合手动调试一些开关量。

还有个缺点是tcp 客户端通讯是能适用于局域网,外网是不支持的,后续研究下外网吧。

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。