块语言编程游戏画图通关答案
![cysgjj](http://www.wnpsw.com/zb_users/avatar/0.png)
王者荣耀使用什么编程语言开发的?
像我们做开发的,一般都会去摸索某个app的开发过程。在PC端可以下载解压后,你就可以去查看代码,用什么写,例如,和平精英***用ue4开发,用c++写的;
至于王者荣耀,我们来看看:
Unity3D是个游戏引擎,是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。这个引擎毫无疑问是用的C/C++。但是作为游戏开发者,比如腾讯或天美,他们要做的就是利用这个开发工具。具体说来,游戏中的人物,场景,特效等是用的诸如Photoshop,3d***ax等软件建立2D/3D模型。Unity3D游戏引擎,就像是个播放器(player),可以运行在windows,安卓,iOS,浏览器。我们用c#写游戏脚本,就好像使用***制作软件做个***,只要有播放器,它就能播,而不用管是什么操作系统。
这涉及到软件中一个跨平台概念,所谓的跨平台就是代码在一个平台上实现了,移植到别的平台可以继续使用,java刚开始流行的时候很大一个特点就是跨平台,写的JAVA代码既可以在windows平台上运行,也可以在linux平台上运行,在mac平台上也可以,具体平台对接工作在环境中已经配置好了,所以在王者荣耀的APP解压之后能看到dll文件,这就是在windows平台下生成的动态库文件,然后通过Xamarin转化成jar包供j***a直接来调用,由于中间层做了转化,所以在配置不高的手机上游戏还是比较卡顿,对硬件的要求比较高。
下载王者荣耀的apk文件解压,从那些dll文件就可以看出,王者荣耀客户端背后肯定是Unity3D是主要技术栈。
其次就是王者荣耀的前台客户端了,王者荣耀的编写主要还是windows平台上完成代码,主要用C#完成。C#本身是微软公司发布的一种面向对象的、运行于.NET Framework和.NET Core(完全开源,跨平台)之上的高级程序设计语言。我们用C#写游戏脚本,就好像使用***制作软件做个***,只要有播放器,它就能播,而不用管是什么操作系统。意思就是我们用C#写王者荣耀,游戏被开发后即可适用于大部分手机平台,手机的兼容问题就会比较小,这就是所谓的跨平台。C#现在在市场上也是广泛用于游戏脚本的开发,对于游戏脚本,C#还是比较有优势的。
这个没确认过,个人认为是用unity3D来开发的,但unity3D只是一个游戏开发工具,相信我,一个游戏现在来说,最核心的竟争力是美术,音乐,***性等之类的东西,开发工具无所谓。
这个在王者荣耀团队的相关文章中有明确提到,客户端,也就是手机上的的APP是用的Unity3D游戏引擎。具体的开发语言以C#为主。
Unity3D是个游戏引擎,是由微软开发的收费软件。这个引擎毫无疑问是用的C/C++。但是作为游戏开发者,比如腾讯或天美,他们要做的就是利用这个开发工具而不需要再使用C/C++。具体说来,游戏中的人物,场景,特效等是用的诸如Photoshop,3d***ax等软件建立2D/3D模型。而具体的游戏逻辑是使用C#来编写脚本。
有些人会说,安卓不是都用J***A写的吗?C#写的游戏怎么可能运行在安卓上面?
Unity3D游戏引擎,就像是个播放器(player),可以运行在Windows,安卓,iOS,浏览器。我们用C#写游戏脚本,就好像使用***制作软件做个***,只要有播放器,它就能播,而不用管是什么操作系统。
说到这里,或许早些年玩过flash的人会豁然开朗。flash可以做动画,可以不需要编程,如果是flash游戏(比如QQ农场偷菜),用的语言叫actionscript,也是个脚本。flash同样是跨平台的。只不过后来乔布斯宣布苹果不再支持flash后,就没有人用了。
Unity就好比是flash,而C#脚本就好比是ActionScript脚本。
上面谈的主要都是手机端的APP,说了是以C#为主,可能在核心地方会用到极少量C语言(native代码)。而在[_a***_]端,则会复杂一些,五花八门,什么都有。核心游戏逻辑(比如登录,玩家匹配,游戏同步)肯定是用的C++,其他部分或许有J***A(活动介绍,英雄介绍)。王者荣耀后台大约有4600台服务器,其中的调度,负载均衡,同步还是比较麻烦的。
王者荣耀客户端的话使用的是unity引擎,引擎本身是c++开发,支持c#和js脚本。但是由于js工程性不强,现在基本都使用c#开发了。客户端由于要支持热更新,估计使用了lua,至于unity的lua解决方案是选用腾讯自己的xlua还是ulua或者slua都不得而知了。所以,综合起来客户端涉及了c++,c#,lua三种语言。
服务端的话估计是c++加lua
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/2064.html