扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
一般的大型游戏开发不是单一用某一种软件语言的问题。一个大型游戏的开发需要非常大的团队用各种各样的语言和工具来完成。
成都创新互联主要从事做网站、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务靖边,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
总结一下主要有C/C++,汇编语言,着色器语言,脚本语言,高效的开发语言C#或Java。
首先一般的游戏开发架构(Windows平台)从底到顶一般是Direct X™——游戏引擎——游戏。
大型游戏开发的大部分工作其实都是在编写游戏脚本,脚本是大型游戏得以如此高速开发和发布的主要原因。脚本化的开发让游戏开发摆脱了硬编码的种种弊端,让游戏内容可以轻易的修改和调试。比如比较流行的语言。,然后编写脚本将其组织成一个游戏,不需要什么底层的编程语言。
Windows平台比较流行的方法是使用最新版本的Visual Studio,显卡厂商如NVIDIA也会为VS开发一些插件来简化显卡编程和调试。扩展资料:
汇编语言
为了克服机器语言难读、难编、难记和易出错的缺点,人们就用与代码指令实际含义相近的英文缩写词、字母和数字等符号来取代指令代码(如用ADD表示运算符号“+”的机器代码),于是就产生了汇编语言。所以说,汇编语言是一种用助记符表示的仍然面向机器的计算机语言。汇编语言亦称符号语言。
汇编语言由于是采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器指令代码。而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。
汇编语言中由于使用了助记符号,用汇编语言编制的程序送入计算机,计算机不能象用机器语言编写的程序一样直接识别和执行,必须通过预先放入计算机的 “汇编程序“的加工和翻译,才能变成能够被计算机识别和处理的二进制代码程序。
用汇编语言等非机器语言书写好的符号程序称源程序,运行时汇编程序要将源程序翻译成目标程序。目标程序是机器语言程序,它一经被安置在内存的预定位置上,就能被计算机的CPU处理和执行。
汇编语言像机器指令一样,是硬件操作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性也差。汇编语言是低级语言。但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。
高级语言
不论是机器语言还是汇编语言都是面向硬件的具体操作的,语言对机器的过分依赖,要求使用者必须对硬件结构及其工作原理都十分熟悉,这对非计算机专业人员是难以做到的,对于计算机的推广应用是不利的。计算机事业的发展,促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言。
这种与自然语言相近并为计算机所接受和执行的计算机语言称高级语言。高级语言是面向用户的语言。无论何种机型的计算机,只要配备上相应的高级语言的编译或解释程序,则用该高级语言编写的程序就可以通用。
如今被广泛使用的高级语言有BASIC、PASCAL、C、COBOL、FORTRAN、LOGO以及VC、VB等。这些语言都是属于系统软件。
计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过“翻译程序”翻译成机器语言形式的目标程序,计算机才能识别和执行。这种“翻译”通常有两种方式,即编译方式和解释方式。
编译方式是:事先编好一个称为编译程序的机器语言程序,作为系统软件存放在计算机内,当用户由高级语言编写的源程序输入计算机后,编译程序便把源程序整个地翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算并取得结果。解释方式是:源程序进入计算机时,解释程序边扫描边解释作逐句输入逐句翻译,计算机一句句执行,并不产生目标程序。
PASCAL、 FORTRAN、COBOL等高级语言执行编译方式;BASIC语言则以执行解释方式为主;而PASCAL、C语言是能书写编译程序的高级程序设计语言。每一种高级(程序设计)语言,都有自己人为规定的专用符号、英文单词、语法规则和语句结构(书写格式)。高级语言与自然语言(英语)更接近,而与硬件功能相分离(彻底脱离了具体的指令系统),便于广大用户掌握和使用。高级语言的通用性强,兼容性好,便于移植
Lua一般用于嵌入式应用,现在越来越多应用于游戏当中,魔兽世界,愤怒的小鸟都有用到。
Lua极易嵌入到其他程序,可当做一种配置语言。
还有很多需要性能的地方,比如:游戏脚本,nginx,wireshark的脚本
可以直接使用 C 代码写的函数。
比如corona 移动应用开发平台,跟PhonePap类似,不过使用Lua做开发语言,应用可以build到iOS,Android,kindle fire,nook平台; 服务器端应该也是Lua。
moai 跟corona相似,免费。
在给软件提供嵌入式脚本编程能力上,Lua是绝佳选择。如果需要脚本语言功能强大,Python是绝佳选择。Ruby在网络方面的库比较多,而Perl长于字符串处理。可以说他们各有千秋。
无fa可说
关注
python开发的程序在ios上应用_Python开发iOS程序 原创
2020-12-29 09:58:52
无fa可说
码龄4年
关注
对,你没有看错,就是使用Python开发iOS程序!
我们见过使用JS、Lua、Ruby开发iOS程序的,但是基本没有见过使用Python开发iOS程序(软件)的,这是为什么?关于这个问题,我后面会回答。
那么,怎么用Python开发iOS程序呢?其实我们最主要解决的就是下面几件事情:
在iOS App中安装Python解释器。
搭建Python和objc通信的桥梁。
如何配置工程并开发。
如果不使用UIKit这些,那么就要使用OpenGL ES这些了,这种方式,主要是用于开发游戏的,我们这里不涉及这些。
当然,以下所有内容都是在一台已经安装了Xcode的Mac上进行的。
在iOS App中安装Python解释器
Python-iOS-support
pybee开源了一个可以嵌入到iOS工程中的Python编译脚本,具体位置在这:
默认是使用Python 3.4.2,编译x86_64、i386、ARMv7、ARMv7s、ARM64共5个版本,然后打成一个臃肿包,可选framework或者.a。
如果真的要用于生产环境的话,只要把Makefile中的
TARGETS-iOS=iphonesimulator.x86_64iphonesimulator.i386iphoneos.armv7iphoneos.armv7siphoneos.arm64
修改为:
TARGETS-iOS=iphoneos.armv7iphoneos.arm64
我们只需要支持ARMv7和ARM64即可,ARMv7s可以兼容ARMv7,所以可以让包小一些。
r表示只读取这个文件 不能修改 w表示只能修改不能读 a表示你写入的所有文件会加在原来的文件之后 其他几个你自己上面已经写的很清楚了 一般来说 只会用r w a 写文件时 file = io.open("1.txt","w") file:write("asdfgh") file:close() 读文件
//Android:
//所需包:
import org.keplerproject.luajava.LuaState;
import org.keplerproject.luajava.LuaStateFactory;
//初始化:
LuaState l=LuaStateFactory.newLuaState();
l.openLibs();
//加载代码:
String luaCode="function test(a,b) \n return a+b \n end";
if(l.LdoString(luaCode) == 0){/*加载成功*/}else{/*加载失败*/}
//设置主方法:
String mainFunction="test";
l.getField(LuaState.LUA_GLOBALSINDEX.intValue(), mainFunction);
//添加参数(数字):
l.pushNumber(7.3);
l.pushNumber(2.7);
//调用方法:
l.call(2,1);//两个参数一个返回值
//保存返回值:
String saveTo="getVarHere";
l.setField(LuaState.LUA_GLOBALSINDEX.intValue(),saveTo);
//获取返回值:
l.getGlobal(saveTo);
double passVar=l.toNumber(-1);
//输出:
System.out.println(passVar);
//上述代码针对新手优化,便于理解与入门。下面是我自己实际应用:
String cd="function test(a,b) \n return a+b \n end",
mf="test";
System.out.println(runLua(cd,mf,7.3,2.1).toString());
import org.keplerproject.luajava.LuaState;
import org.keplerproject.luajava.LuaStateFactory;
public static object runLua(String code,String mainFunction,object...par){
LuaState l=LuaStateFactory.newLuaState();
l.openLibs();
if(l.LdoString(luaCode)!=0)return "Lua code has some error!";
l.getField(LuaState.LUA_GLOBALSINDEX.intValue(), mainFunction);
object p;for(p:par)l.pushNumber(p);
l.call(par.length,1);
l.setField(LuaState.LUA_GLOBALSINDEX.intValue(),"rt");
l.getGlobal("rt");
return l.toNumber(-1);
}
AutoTouch 设置:
AutoTouch安装后,会在主屏幕生成一个图标,点击进入会看到三个选项,AutoTouch 分为 Scripts(脚本)、Record(录制)、Settings(设置)
Scripts(脚本):显示所有已录制的一系列动作
Record(录制):录制开关
Settings(设置):如果想购买该插件的用户,可以进入License(授权)中进行付费购买操作。
AutoTouch 使用:
注意:AutoTouch在使用过程中,要配合上音量加减键。
“音量-”:录制开始和停止
“音量+”:开始自动执行脚本动作
使用步骤:
1、点击Record,打开开关,进入录制模式。
2.按下“音量-”按键后,就正式开始录制。
3.然后你就可以在iOS设备上进行一系列操作,操作完成后,再按次“音量-”按键,则结束录制。
4.若你不想再录制其他动作,可以进入Record,将开关关闭,退出录制模式。
5.接着进入Scripts(脚本),在这里可以看到刚刚录制的脚本文件,点击脚本,出现三个选项Play(运行)、Rename(重命名)、Cancel(取消),点击运行,然后在要执行脚本前按下“音量+”键,AutoTouch 就开始自动执行脚本动作。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流