㈠ 什么是脚本语言主要用途是什么
1.脚本语言(JavaScript,VBscript等)介于HTML和C,C++,Java,C#等编程语言之间。
HTML通常用于格式化和链结文本。而编程语言通常用于向机器发出一系列复杂的指令。
2.脚本语言与编程语言也有很多相似地方,其函数与编程语言比较相象一些,其也涉及到变量。与编程语言之间最大的区别是编程语言的语法和规则更为严格和复杂一些.
3.与程序代码的关系:脚本也是一种语言,其同样由程序代码组成。
注:脚本语言一般都有相应的脚本引擎来解释执行。 他们一般需要解释器才能运行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是脚本语言。C/C++编译、链接后,可形成独立执行的exe文件。
4.脚本语言是一种解释性的语言,例如vbscript,javascript,installshield script等等,它不象c\c++等可以编译成二进制代码,以可执行文件的形式存在.
脚本语言不需要编译,可以直接用,由解释器来负责解释。
5.脚本语言一般都是以文本形式存在,类似于一种命令.
举个例子说,如果你建立了一个程序,叫aaa.exe,可以打开.aa为扩展名的文件.
你为.aa文件的编写指定了一套规则(语法),当别人编写了.aa文件后,你的程序用这种规则来理解编写人的意图,并作出回应.那么,这一套规则就是脚本语言.
㈡ 怎样学好游戏引擎所用到的脚本API,我发现我学了编程语言后还是很难懂。怎么办
你可以先去【绘学霸】网站找“游戏设计/游戏制作”板块的【免费】视频教程-【点击进入】完整入门到精通视频教程列表: www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1&tagid=307&zdhhr-11y17r-1930874447236313107
想要系统的学习可以考虑报一个网络直播课,推荐CGWANG的网络课。老师讲得细,上完还可以回看,还有同类型录播课可以免费学(赠送终身VIP)。
自制能力相对较弱的话,建议还是去好点的培训机构,实力和规模在国内排名前几的大机构,推荐行业龙头:王氏教育。
王氏教育全国直营校区面授课程试听【复制后面链接在浏览器也可打开】: www.huixueba.com.cn/school/3dmodel?type=2&zdhhr-11y17r-1930874447236313107
在“游戏设计/游戏制作”领域的培训机构里,【王氏教育】是国内的老大,且没有加盟分校,都是总部直营的连锁校区。跟很多其它同类型大机构不一样的是:王氏教育每个校区都是实体面授,老师是手把手教,而且有专门的班主任从早盯到晚,爆肝式的学习模式,提升会很快,特别适合基础差的学生。
大家可以先把【绘学霸】APP下载到自己手机,方便碎片时间学习——绘学霸APP下载: www.huixueba.com.cn/Scripts/download.html
㈢ 什么3游戏引擎脚本语言是js
脚本语言又被称为扩建的语言,或者动态语言,是一种编程语言,用来控制软件应用程序,脚本通常以文本(如ASCII)保存,只在被调用时进行解释或编译。
㈣ 如何在.NET中实现脚本引擎
NET本身提供了强大的脚本引擎,可以直接使用.NETCLR的任何编程语言作为脚本语言,如VB.NET、C#、JScript,J#等等。使用脚本引擎,我们可以动态生成任意表达式、或动态导入任意脚本文件,并在任意时候执行。经实践发现,我们可以使用至少两种不同的方式在.NET中使用脚本引擎:VsaEngine和CodeDom。其实,CodeDom不能算是真正的脚本引擎,它实际上是编译器。但是我们完全可以利用CodeDom来模拟脚本引擎。使用Emit方法也能达到动态生成可执行代码的目的,而且Emit生成的代码不需要编译,因此速度更快。但是Emit插入的实际上是汇编代码,不能算是脚本语言。本文介绍如何以CodeDom方式来动态生成可执行代码。如何在.NET中实现脚本引擎(CodeDom篇)沐枫网志1.构造一个编译器设置编译参数编译参数需要在CompilerParameters设置:CompilerOptions用于设置编译器命令行参数IncludeDebugInformation用于指示是否在内存在生成AssemblyGenerateInMemory用于指示是否在内存在生成AssemblyGenerateExecutable用于指示生成的Assembly类型是exe还是dllOutputAssembly用于指示生成的程序文件名(仅在GenerateInMemory为false的情况)ReferencedAssemblies用于添加引用Assembly例如:theParameters.ReferencedAssemblies.Add("System.dll");创建指定语言的编译器编译需要由指定语言的CodeDomProvider生成。这里列举一些.NET的CodeDomProvider:vb.netMicrosoft.VisualBasic.VBCodeProviderC#Microsoft.CSharp..JScript.JScriptCodeProviderJ#Microsoft.VJSharp.VJSharpCodeProvider以C#为例,要创建C#编译器,代码如下://.NET1.1/1.0ICodeCompilercompiler=newMicrosoft.CSharp.CSharpCodeProvider().CreateCompiler();//.NET2.0ICodeCompilercompiler=(ICodeCompiler)newMicrosoft.CSharp.CSharpCodeProvider();下面是完整的创建编译器的例子://////创建相应脚本语言的编译器///privatevoidcreateCompiler(stringstrLanguage,booldebugMode,stringstrAssemblyFileName){this.theParameters=newCompilerParameters();this.theParameters.OutputAssembly=System.IO.Path.Combine(System.IO.Path.GetTempPath(),strAssemblyFileName+".dll");this.theParameters.GenerateExecutable=false;this.theParameters.GenerateInMemory=true;if(debugMode){this.theParameters.IncludeDebugInformation=true;this.theParameters.CompilerOptions+="/define:TRACE=1/define:DEBUG=1";}else{this.theParameters.IncludeDebugInformation=false;this.theParameters.CompilerOptions+="/define:TRACE=1";}AddReference("System.dll");AddReference("System.Data.dll");AddReference("System.Xml.dll");strLanguage=strLanguage.ToLower();CodeDomProvidertheProvider;if("visualbasic"==strLanguage||"vb"==strLanguage){theProvider=newMicrosoft.VisualBasic.VBCodeProvider();if(debugMode)theParameters.CompilerOptions+="/debug:full/optimize-/optionexplicit+/optionstrict+/optioncompare:text/imports:Microsoft.VisualBasic,System,System.Collections,System.Diagnostics";elsetheParameters.CompilerOptions+="/optimize/optionexplicit+/optionstrict+/optioncompare:text/imports:Microsoft.VisualBasic,System,System.Collections,System.Diagnostics";AddReference("Microsoft.VisualBasic.dll");}elseif("jscript"==strLanguage||"js"==strLanguage){theProvider=newMicrosoft.JScript.JScriptCodeProvider();AddReference("Microsoft.JScript.dll");}elseif("csharp"==strLanguage||"cs"==strLanguage||"c#"==strLanguage){theProvider=newMicrosoft.CSharp.CSharpCodeProvider();if(!debugMode)theParameters.CompilerOptions+="/optimize";}//elseif("jsharp"==strLanguage||"vj"==strLanguage||"j#"==strLanguage)//{//theProvider=newMicrosoft.VJSharp.VJSharpCodeProvider();//if(!debugMode)//theParameters.CompilerOptions+="/optimize";//}elsethrownewSystem.Exception("指定的脚本语言不被支持。");this.theCompiler=theProvider.CreateCompiler();}//////添加引用对象。//////引用的文件名publicvoidAddReference(string__strAssemblyName){theParameters.ReferencedAssemblies.Add(__strAssemblyName);}注:在.NETFramework2.0中,由于CreateCompiler方法被标记作废。为避免产生编译警告,可直接返回CodeDomProvider作为编译器:this.theCompiler=(ICodeCompiler)theProvider;2.编译源代码编译源代码相当简单,只需一条语句就搞定了:=compiler.CompileAssemblyFromSource(this.theParameters,this.SourceText);执行后,可以从compilerResults取得以下内容:NativeCompilerReturnValue编译结果,用于检查是否成功Errors编译时产生的错误和警告信息CompiledAssembly如果编译成功,则返回编译生成的Assembly示例函数://////编译脚本。编译前将清空以前的编译信息。///CompilerInfo将包含编译时产生的错误信息。//////成功时返回True。不成功为False。publicboolCompile(){this.theCompilerInfo="";this.isCompiled=false;this.theCompiledAssembly=null;this.theCompilerResults=this.theCompiler.CompileAssemblyFromSource(this.theParameters,this.SourceText);if(this.theCompilerResults.NativeCompilerReturnValue==0){this.isCompiled=true;this.theCompiledAssembly=this.theCompilerResults.CompiledAssembly;}System.Text.StringBuildercompilerInfo=newSystem.Text.StringBuilder();foreach(CompilerErrorerrinthis.theCompilerResults.Errors){compilerInfo.Append(err.ToString());compilerInfo.Append("/r/n");}theCompilerInfo=compilerInfo.ToString();returnisCompiled;}3.执行代码使用Reflection机制就可以很方便的执行Assembly中的代码。我们假设编译时使用的脚本代码this.SourceText内容如下:namespacetest{publicclassscript{staticpublicvoidMain(){MessageBox.Show("Hello");}}}则相应的执行代码为:scriptEngine.Invoke("test.script","Main",null);Invoke函数内容://////执行指定的脚本函数(Method)。///如果指定的类或模块名,以及函数(Method)、或参数不正确,将会产生VsaException/VshException例外。//////类或模块名///要执行的函数(Method)名字///参数(数组)///返回执行的结果publicobjectInvoke(string__strMole,string__strMethod,object[]__Arguments){if(!this.IsCompiled||this.theCompiledAssembly==null)thrownewSystem.Exception("脚本还没有成功编译");Type__MoleType=this.theCompiledAssembly.GetType(__strMole);if(null==__MoleType)thrownewSystem.Exception(string.Format("指定的类或模块({0})未定义。",__strMole));MethodInfo__MethodInfo=__MoleType.GetMethod(__strMethod);if(null==__MethodInfo)thrownewSystem.Exception(string.Format("指定的方法({0}::{1})未定义。",__strMole,__strMethod));try{return__MethodInfo.Invoke(null,__Arguments);}catch(TargetParameterCountException){thrownewSystem.Exception(string.Format("指定的方法({0}:{1})参数错误。",__strMole,__strMethod));}catch(System.Exceptione){System.Diagnostics.Trace.WriteLine(string.Format("执行({0}:{1})错误:{2}",__strMole,__strMethod,e.ToString()));returnnull;}}总结:CodeDom可以很方便的随时编译源代码,并动态执行。虽然作为脚本引擎,它没有VsaEngine正规和方便,但作为一般应用,也够用了。并且结合Reflection机制,它的功能比VsaEngine更强大:它可以编译任何提供CompilerProvider的CLR语言(目前.NET自带的语言中都有)。当然,它也有一些缺点:它生成的Assembly不能动态卸载。这在一般情况下不成问题,因为一个源代码只需编译一次,并载入执行,并不需要动态卸载。假如你需要做脚本编辑器时,就要考虑这个问题,因为有可能一个脚本会因为修修改改而不停的重新编译,从而造成不停的产生新的Assembly,最后将导致内存被大量占用。要解决这个问题,需要将编译器加载到独立的AppDomain中,通过卸载AppDomain达到卸载所需的Assembly的目的。
㈤ 做脚本一般是用什么语言程序编写的可以用C语言编写吗
1.脚本语言(javascript,vbscript等)介于html和c,c
,java,c#等编程语言之间。
html通常用于格式化和链结文本。而编程语言通常用于向机器发出一系列复杂的指令。
2.脚本语言与编程语言也有很多相似地方,其函数与编程语言比较相象一些,其也涉及到变量。与编程语言之间最大的区别是编程语言的语法和规则更为严格和复杂一些.
3.与程序代码的关系:脚本也是一种语言,其同样由程序代码组成。
注:脚本语言一般都有相应的脚本引擎来解释执行。
他们一般需要解释器才能运行。javascript,asp,php,perl,nuva都是脚本语言。c/c
编译、链接后,可形成独立执行的exe文件。
4.脚本语言是一种解释性的语言,例如vbscript,javascript,installshield
script,actionscript等等,它不象c\c
等可以编译成二进制代码,以可执行文件的形式存在.
脚本语言不需要编译,可以直接用,由解释器来负责解释。
5.脚本语言一般都是以文本形式存在,类似于一种命令.
举个例子说,如果你建立了一个程序,叫aaa.exe,可以打开.aa为扩展名的文件.
你为.aa文件的编写指定了一套规则(语法),当别人编写了.aa文件后,你的程序用这种规则来理解编写人的意图,并作出回应.那么,这一套规则就是脚本语言
㈥ 如何编写一个3D引擎的游戏脚本
动画脚本也太复杂了,用GDI+?还是用SQL都能实现一部分,但是都不能完全实现。
因为脚本和引擎以及数据库三者都是互相关联的。
㈦ 游戏开发需要学什么
主要是C#。
游戏编程也是编程,都是需要敲代码的。所以基本的语言基本功是不能少的,比如C语言或者C++或者C#至少要精通其中一门。精通到什么地步呢,基本数据结构和基础的算法还有设计模式你得非常熟悉。这样算是入门了。
接下来你就可以选择一个游戏引擎了,市面上主流的游戏引擎有两种一个Unity3D一个虚幻四。但是这两款引擎的脚本语言并不一样,Unity是C#虚幻四是C++所以在学习之前要想好使用引擎开发什么类型的游戏。
主要学的内容如下:
1.游戏程序设计:C++程序设计入门;基本数据类型和输入输出;流程控制语句;数组、指针和引用、函数;程序结构和书写规;范结构体和联合体、类;继承与多态;异常处理与程序调试。
2.算法与数据结构:算法分析;数据结构;基本算法;STL的概念与使用;静态库与动态库;XML库的使用。
3.Win32程序设计:Windows程序入门;Windows消息;GDI绘图游戏工具与MFC;网络编程基础。
4.游戏数学和智能应用:游戏中的坐标系;矢量、矩阵;几何碰撞;物理模拟;人工智能与寻路算法。
5.2D游戏技术与应用:2D游戏技术概论;游戏地图系统;GUI系统;战斗系统设计;任务系统;优秀的声音引擎BASS;Cocos2D-X引擎;Box2D物理引擎。
互联网行业目前还是最热门的行业之一,学习IT技能之后足够优秀是有机会进入腾讯、阿里、网易等互联网大厂高薪就业的,发展前景非常好,普通人也可以学习。
想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,能够在校期间取得大专或本科学历,中博软件学院、南京课工场、南京北大青鸟等开设相关专业的学校都是不错的,建议实地考察对比一下。
祝你学有所成,望采纳。
㈧ 知道编程语言的原代码却不懂脚本语言脚本语言和Delphi之类的原代码有什么区别
1.脚本语言(JavaScript,VBscript等)介于HTML和C,C++,Java,C#等编程语言之间。
HTML通常用于格式化和链结文本。
而编程语言通常用于向机器发出一系列复杂的指令。
2.脚本语言与编程语言也有很多相似地方,其函数与编程语言
比较相象一些,其也涉及到变量。与编程语言之间最大的区别
是编程语言的语法和规则更为严格和复杂一些.
3.与程序代码的关系:脚本也是一种语言,其同样由程序代码组成。
注:脚本语言一般都有相应的脚本引擎来解释执行。
㈨ 什么是脚本引擎,它有什么作用
脚本引擎,就是一个计算机编程语言的解释器,如用于建网站的asp、php等,它的功能是解释执行用户的程序文本,将它译成计算机能执行的机器代码,完成一系列的功能。例如,Freemarker和Velocity通常被称为脚本引擎。Erb也会出现在这里,但奇怪的是,它并没有经常被称为脚本引擎。
脚本语言通常不需要编译步骤,因此可以更简单地作为shell脚本或从shell脚本运行。包括awk、perl、tcl、python、ruby等,这些语言通常需要简洁,类型安全性通常是可选的。Windows在其脚本宿主功能中支持多种语言。这将脚本语言公开给Windows中的各种组件。
(9)引擎脚本编程扩展阅读:
java脚本引擎的设计原理浅析
1、编译型 vs 解析性
如果能够产生一个独立的class文件则属于前者,例如:fel,simpleEl,groovy
否则通过编译成自定义的内存指令就属于后者,例如:QLExpress,aviator,JEXL
2、java语法 vs 表达式语言(EL expression language) vs 脚本(script)
如果语法和java保持一致,不做任何扩展,就是属于第一种:如果语法大量简化(比如去掉显示类、方法、变量声明,异常处理,逻辑跳转循环等等),只支持简单的数学公式、对象方法成员变量调用, 就属于第二种:fel,simpleEl,aviator。
介于两者之间,即提供很好的语法糖,又支持大部分java语法:for循环,if判断,函数定义,就属于第三种:groovy,QLExpress
参考资料来源:网络-脚本引擎
㈩ 热血传奇单机版编写脚本,如何按照引擎说明来进行脚本格式编写呢
脚本需要长时间学习和磨炼才能了解,你可以借鉴别人的脚本粘贴试试。