《Lua游戏开发实践指南》一3.1脚本语言和游戏

简介: 本节书摘来华章计算机《Lua游戏开发实践指南》一书中的第3章 ,第3.1节,(美)Paul SchuytemaMark Manyen著 田剑译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.1脚本语言和游戏

脚本语言可以让美术师直接开始界面设计,让设计师和初级程序员(脚本语言是一种让新手快速进入游戏开发的很好的方式)立即着手游戏流程和逻辑的开发,让关卡设计师能迅速掌控游戏环境和游戏体验。
脚本语言不是非常高效——它们没有原生代码的运行效率,因此不适合作为开发高性能需求处理的工具。但易整合语言能够利用原生语言编写的模块扩展功能,比如Lua,可以作为控制机制来调用原生代码编写的高性能处理组件。(Lua是运行效率最高的脚本语言之一,因此大部分性能方面的问题都可以不用担心。)C函数可以利用自己高性能的特点,并且整合到Lua中,让脚本程序员可以利用这些功能。
这种处理的一个例子是在游戏世界中放置一个3D模型的功能。渲染系统完全由C++开发,但Lua可以调用C++来创建一个特定模型的实体对象,并且设置其在场景中的位置,然后Lua还可以为这个3D模型指定动画。Lua并不处理任何实时的复杂运算来改变该模型,而只是告诉底层渲染系统什么时候该做什么。在下面的例子中(参见代码清单31),AddEnvironmentObject()是一个LuaGlue函数——它可以直接调用C++方法并且让Lua能够控制底层的3D渲染功能。这种函数由C++程序员编写,把底层的功能提供给脚本程序员和设计师。
image

相关文章
|
2月前
|
监控
通过Lua脚本实现禁止员工上班玩游戏的软件的自动化任务管理
使用Lua脚本,企业可以自动化管理员工行为,防止上班时间玩游戏。Lua是一种轻量级脚本语言,适合编写监控任务。示例脚本展示了如何检测工作时间内员工是否玩游戏,并在发现时执行相应操作,如关闭游戏或发送警告。此外,另一脚本演示了如何将监控数据通过HTTP POST自动提交到网站,以实现有效的行为管理。这种解决方案灵活且可定制,有助于提升工作效率。
145 1
|
7月前
|
Ubuntu 网络协议 Linux
【Lua基础入门】解密世界上最快的脚本语言
【Lua基础入门】解密世界上最快的脚本语言
133 1
|
8月前
|
存储 NoSQL Java
Lua高性能脚本语言快速入门
Lua高性能脚本语言快速入门
157 0
|
XML 存储 Java
【Lua基础 第1章】初识Lua脚本语言、数据类型、全局变量、关键字的使用
初识Lua脚本语言、数据类型、全局变量、关键字的使用
122 0
【Lua基础 第1章】初识Lua脚本语言、数据类型、全局变量、关键字的使用
|
存储 JavaScript 编译器
Lua脚本语言——Lua脚本基础语法
Lua脚本语言——Lua脚本基础语法
610 0
Lua脚本语言——Lua脚本基础语法
|
C语言
(五)Lua脚本语言入门
---恢复内容开始--- 写完这篇Lua脚本语言入门,自己就要尝试去用Lua脚本语言写esp8266了,,自己现在挺心急的,因为朋友使用esp8266本来说自己帮忙写好程序的,但是用的单片机不一样自己没有,没有办法测试,用AT指令就显得不方便,还要根据单片机改程序,,而且自己以前用感觉AT指令发信息...
1283 0
|
C# Java
(四)Lua脚本语言入门
这篇文章就当成铺垫型的文章,写着写着发现有好多想写的,,关于C#与Java,当然作为铺垫肯定与Lua的下部分介绍有关..... 对于"泛型",先看C#中"泛型"是一个怎么回事,,,,,我感觉名字起错了,应该叫"事先规定存入的数据类型" 我们在定义数组的时候     int(long或char或.
945 0
(三)Lua脚本语言入门
又要找工作了,变的忧虑了,唯有学习才让内心变得踏实,今天玩了一下午的王者荣耀,正事都忘了...... 如果认为所谓的毅力是每分每秒的“艰苦忍耐”式的奋斗,那这是一种很不足的心理状态。毅力是一种习惯,毅力是一种状态,毅力是一种生活--- 摘至老衲五木写得--"LwIP协议栈源码详解",,,一工作总是感觉以前的热情没有了,不知道这种状态还要持续到什么时候,每一次改变总需要一个开始.
1023 0
(一)Lua脚本语言入门
今天开始自己的Lua语言学习,Lua脚本语言,是介于应用程序和开发其应用程序的底层编程语言之间,,它很方便调用其它语言,它只是在载入时对其进行编译,而不像我们写的单片机程序是预编译的,先编译好然后写入单片机,它只是在调用时编译,所以脚本语言的灵活性很高,,,,,对于自己为什么又开始学习脚本语言了,,因为需要了   .
1276 0
|
C语言 数据安全/隐私保护
(二)Lua脚本语言入门
上一篇文章忘了插入代码了,方便粘贴复制...... 函数 对于c语言就是  void aa()//c语言是用void { print("这是一个函数") } Lua就变成了 function aa()--定义一个函数 print("这是一个函数") end aa()--调用函数   function aa(str)--定义一个函数 print("传进来的是".
1020 0