首页>>前端>>JavaScript->javascript如何写游戏脚本?

javascript如何写游戏脚本?

时间:2023-12-05 本站 点击:0

Unity3D中用JavaScript写脚本,如何引用其他JS脚本?

1、方法定义为static,直接类名.方法名调用;

class Main1{

public static function Add(j:int,i:int):void

{

Debug.Log(i+j);

}

}

Main1.Add(1,2);

2、new 一个对象,对象调用,如

var m:Main1 = new Main1();

m.Add(2,3);

3、GameObject.Find(),得到那个有这个脚本组件的GameObject,这个GameObject再GetComponent,得到script,scirpt再调用方法。

js可以本地执行键盘操作写脚本嘛

可以1)使用JS启动本地应用程序

clipboard

使用上述代码重点是创建了一个ActiveXObject的对象

参考说明:

JavaScript中ActiveXObject对象是启用并返回 Automation 对象的引用。使用方法:

newObj = new ActiveXObject( servername.typename[, location])

ActiveXObject 对象语法有这些部分:

其中newObj是必选项。要赋值为 ActiveXObject 的变量名。

servername是必选项。提供该对象的应用程序的名称。

typename是必选项。要创建的对象的类型或类。

location是可选项。创建该对象的网络服务器的名称。

Automation服务器至少提供一类对象,例如字处理应用程序可能提供应用程序对象、文档对象和工具栏对象。

例如要创建Excel的Application和Sheet对象,代码如下:

var ExcelApp = new ActiveXObject("Excel.Application");

var ExcelSheet = new ActiveXObject("Excel.Sheet")

一旦对象被创建,就可以用定义的对象变量在代码中的引用它。下面我们将通过一个例子来看看对对象和方法的引用,通过对象变量 ExcelSheet 访问新对象的属性和方法和其他 Excel 对象,包括 Application 对象和 ActiveSheet.Cells 集合。代码如下:

1 ExcelSheet.Application.Visible = true;

2 ExcelSheet.ActiveSheet.Cells(1,1).Value = "This is column A, row 1";

3 ExcelSheet.SaveAs("C:\\TEST.XLS");

4 ExcelSheet.Application.Quit();

(2)经过(1)的代码设置之后,就可以执行程序,但是ActiveXObject是在浏览器中执行的,浏览器需要进行一些设置保证上述JS代码可以正常的执行。

具体设置如下;

clipboard

如上所示可以对计算机的ActiveX控件和插件进行设置,使得可以正常执行IE调用本地应用程序

(2)使用JS调用屏幕键盘

上述JS中的代码:

var obj=new ActiveXObject('wscript.shell');

obj.run("osk"); //打开屏幕键盘

obj.run(location); //其中location是QQ应用程序的本地地址(地址需要使用“//”)

如何编写JavaScript脚本库

做Web开发已经四年,或多或少积累了一些JavaScript脚本。比如,限制input只允许输入数字的脚本;敲回车自动转到下一个控件,相当于Tab键的作用一样;因为JavaScript数值运算的结果常常不是我们想要的,还得有浮点数运算(加减乘除)函数。每次有JavaScript需求时,常常是在网上找需要的脚本,直接拷贝到aspx文件中,或者新建JavaScript文件,然后添加引用

script src="JScript.js" type="text/javascript"/script ,以这种方式来完成客户端脚本的制作。毕竟对JavaScript的需求不多,也就没有花很大的力气去学。

最近公司的项目不忙,空闲的时间赶忙补习一下脚本的知识。网上有很流行的JQuery脚本库,在园子里也有大量的文章讨论怎么去用。以我亲身体会,JavaScript和正则表达式一样,常学常忘。学过的知识不用,很快就会忘记。特别是和应用相关的内容,比如PageMethods怎么用,客户短回调如何实现,如何用JavaScript调用Web服务,在项目中用过多次,但是一被同事问起来,还是模模糊糊的,很难说出个所以然来。我有一个办法是制作demo,把各种效果的demo做好,分门别类的放在一起,然后用的时候去搜索,这样可以节省很多时间。另外一种办法就是今天这篇文章提到的,把做过的JavaScript整理一下,制作成比较通用的脚本库,方便复用。整理的含义是,对函数进行适当的调整,让它能不仅能满足当前项目的需求,还要能满足未来项目的需求,另一个含义是要规范命名和组织结构,写好样例代码,用起来的时候方便。有时候在网上下载了很多JavaScript实用脚本,但是忘记下载它的测试脚本,不知道怎么去用,还不如到网上重新搜索来得方便。

JavaScript被定义为一种基于对象的脚本语言,一方面它以DOM对象模型和DOM对象中的方法为基础,另一方面,它又不具备面向对象语言的继承,多态的特性。ASP.NET AJAX对JavaScript进行了扩展,使我们可以以面向对象的方式来组织JavaScript脚本。我这里的主要工作是封装,把现有的代码封装起来,方便下次复用。于是,有两种方法来组织现有的JavaScript代码库。

我以JavaScript中倍受争议的浮点运算中的加法和减法运算为例子,看看如何把它们封装起来

JavaScript风格

function Math() { }

//加法

Math.prototype.Add=function(arg1,arg2){

var r1,r2,m;

try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}

try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}

m=Math.pow(10,Math.max(r1,r2))

return (arg1*m+arg2*m)/m

}

//减法

Math.prototype.Subtraction=function(arg1,arg2){

var r1,r2,m,n;

try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}

try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}

m=Math.pow(10,Math.max(r1,r2));

n=(r1=r2)?r1:r2;

return ((arg1*m-arg2*m)/m).toFixed(n);

}

调用方式

var math=new Math();

var result=math.Add(2.0,4.0);

AJAX风格

Type.registerNamespace(“Utility”);

Utility.Math=function(larg,rarg)

{

this._left=larg;

this._right=rarg;

}

Utility.Math.prototype=

{

//加法函数

Add:function ()

{

var r1,r2,m;

try{r1=left.toString().split(".")[1].length}catch(e){r1=0}

try{r2=right.toString().split(".")[1].length}catch(e){r2=0}

m=Math.pow(10,Math.max(r1,r2))

return (left*m+right*m)/m

}

//减法函数

Subtraction: function(){

var r1,r2,m,n;

try{r1=left.toString().split(".")[1].length}catch(e){r1=0}

try{r2=right.toString().split(".")[1].length}catch(e){r2=0}

m=Math.pow(10,Math.max(r1,r2));

n=(r1=r2)?r1:r2;

return ((left*m-right*m)/m).toFixed(n);

}

}

//注册类

Utility.Math.registerClass(“Utility.Math”);

然后,在需要的地方,就可以运用下面的方法调用

var math=new Utility.Math(2.0,4.2);

var result=math.Add();

使用上面提出的两种方法,可以方便封装常用的JavaScript,减少重复。

上面的命名有个问题,因为Math是JavaScript内置的一种类型,用于处理各种数学运算,为了让上面的JavaScript风格的脚本运行起来,还得把类名换成其它的名字,如MathHelper。ASP.NET AJAX还对JavaScript的六种类型进行了扩展,分别是Array,Boolean,Date,Error,Object和string.

方法有了,估计还有朋友会说,你应该把自己做的JavaScript库公布出来才行,这样才能满足大众的口味。仅有这个方法,要实践起来还是很困难的:有项目时间紧的理由,每天都忙着做项目,哪里有时间去整理这个,也有不熟悉JavaScript的理由。

为了让我的类库不至于很菜,我到网上找了些关于写好JavaScript库的建议。

有一篇文章的名字叫《Building a JavaScript Library》,本来写这篇文章之前很想看看他是怎么写的,可是网页中一直提示正在加载文件,无法查看。很想知道老外对于同样的主题,他是怎么写的。

1 使用方法不要过于繁琐。

2 避免使用Object.prototype

3 不要做过度的扩展

4 遵守标准。

5 向优秀的JavaScript创作者看齐

6 保持灵活可变 7 管理好内存,避免内存泄露。

8 避免与浏览器相关的hack

9 保持类库简洁

10 让类库保持可预知。比如,虽然没有查看文档,也应该能猜测到Math是处理和数学运算相关的内容

11 加分的规则:文档;尽可能多的使用命名空间组织代码,使之容易被记住;

我的水平很一般的,很普通的一个程序员。所以,不要向我要代码。我给你了,你还要花时间去看;而且我的代码没有文档,你读不懂怎么办呢。与其这样,为何不把你自己手头有的JavaScript 整理一下,况且你手里头有的JavaScript ,被你实际用过,你对他肯定熟悉。也不要推荐JQuery,它不是我的目的。

我的目的是教你组织整理现有的JavaScript 脚本库,把手头已有资源用好就很不错了。

更多相关内容可参考资料

游戏脚本用什么语言写?

谁能给我讲讲游戏脚本的事,用什么语言编写?是不是需要你所玩游戏的代码? 10分

目前游戏脚本用得多的是按键与TC简单开发,前者需要用到VB,学习起来比较吃力,后者是一个新推出的游戏脚本制作工具,可以说它在这方面弥补了按键的很多不足的地方,再一个就目前的情况来看,很多游戏都对按键进行封杀,所以按键的紶景也是非常的不容易乐观的,就我而言,我更看TC简单开发,必定目前刚推出,游戏商基本上不对其进行封杀,再就是它支持中文编程,有自己的编程语言体系,编写一些游戏脚本自然不需要用到其它的开发语言。

Win平台的游戏一般是使用什么语言开发的

一般的大型游戏开发绝不是用某种语言这么单纯的问题。一个大型游戏的开发需要庞大的团队使用各种各样的语言和工具来完成。总结一下主要有C/C++,汇编语言,着色器语言,脚本语言,高效的开发语言C#或Java。

首先一般的游戏开发架构(Windows平台)从底到顶一般是Direct X™——游戏引擎——游戏。

Direct X™相当于所有显卡的一个统一接口,为游戏提供一个利用硬件渲染的编程模型,但Direct X™接口为了追求高性能功能非常单纯和松散,不利于游戏的高效开发。此时就需要根据游戏特点对其进行适当的取舍和封装,实现一组更高抽象的游戏开发接口和框架,可以理解成游戏引擎中的图形引擎。这部分的开发一般使用的语言是C/C++和少量的汇编语言。

至于游戏引擎是一个非常复杂的功能聚合体,所有的游戏开发工作都是在之上进行的。包括图形引擎,音频引擎,碰撞引擎,艺术资源管理,脚本引擎等等。到此为止几乎还没有涉及到你所说的游戏开发。

首先在图形渲染方面,例如光照阴影处理等等,现代显卡一般是通过可编程着色器实现对图形效果的控制,所采用的编程语言一般是一些着色器语言,例如Direct X™采用的HLSL,OpenGL使用的GLSL等等,语法类似C语言,游戏执行时被编译加载到显卡上,在实现硬件渲染速度的同时又实现了软件编程的灵活性。

大型游戏开发的绝大部分工作其实都是在编写游戏脚本,脚本是大型游戏得以如此高速开发和发布的主要原因。脚本化的开发让游戏开发摆脱了硬编码的种种弊端,让游戏内容可以轻易的修改和调试。游戏故事如何进行,各种事件如何触发,何时该播放哪些声音或动画,如何使用艺术团队创作的资源,这些都是在脚本中编写的,可以说引擎决定了游戏能做什么,而脚本才真正决定了游戏做了什么。一些著名的引擎如虚幻系列都有自己独特的脚本语言,其他一些引擎可能会采用一些第三方的脚本语言,比如比较流行的Lua。所以开发一个新游戏最简单的情形就是沿用之前的引擎,创作艺术资源,然后编写脚本将其组织成一个游戏,几乎不需要什么底层的编程语言。

开发环境方面,游戏团队内部可能会使用一些开发和设计工具对资源进行处理,可以理解成游戏引擎的IDE,这部分因为是内部工具,而且可能需要经常修改所以一般采用比较高效的开发平台和语言,比如暴雪就是部分使用.NET和C#进行一些内部工具的开发。

至于引擎核心的开发,Windows平台比较流行的方法是使用最新版本的Visual Studio,显卡厂商如NVIDIA也会为VS开发一些插件来简化显卡编程和调试。

游戏用什么语言编写的?

CS是用VC++写的,魔兽不清楚了,大多都用VC++,C++,DELHPI写的手机上用的JAVA

一般的游戏都是用什么语言开发的

一般的大型游戏开发绝不是用某种语言这么单纯的问题。一个大型游戏的开发需要庞大的团队使用各种各样的语言和工具来完成。总结一下主要有C/C++,汇编语言,着色器语言,脚本语言,高效的开发语言C#或Java。

首先一般的游戏开发架构(Windows)从底到顶一般是Direct X?——游戏引擎——游戏。

Direct X?相当于所有显卡的一个统一接口,为游戏提供一个利用硬件渲染的编程模型,但Direct X?接口为了追求高性能功能非常单纯和松散,不利于游戏的高效开发。此时就需要根据游戏特点对其进行适当的取舍和封装,实现一组更高抽象的游戏开发接口和框架,可以理解成游戏引擎中的图形引擎。这部分的开发一般使用的语言是C/C++和少量的汇编语言。

至于游戏引擎是一个非常复杂的功能聚合体,所有的游戏开发工作都是在之上进行的。包括图形引擎,音频引擎,碰撞引擎,艺术资源管理,脚本引擎等等。到此为止几乎还没有涉及到你所说的游戏开发。

首先在图形渲染方面,例如光照阴影处理等等,现代显卡一般是通过可编程着色器实现对图形效果的控制,所采用的编程语言一般是一些着色器语言,例如Direct X?采用的HLSL,OpenGL使用的GLSL等等,语法类似C语言,游戏执行时被编译加载到显卡上,在实现硬件渲染速度的同时又实现了编程的灵活性。

大型游戏开发的绝大部分工作其实都是在编写游戏脚本,脚本是大型游戏得以如此高速开发和发布的主要原因。脚本化的开发让游戏开发摆脱了硬编码的种种弊端,让游戏内容可以轻易的修改和调试。游戏故事如何进行,各种事件如何触发,何时该播放哪些声音或动画,如何使用艺术团队创作的资源,这些都是在脚本中编写的,可以说引擎决定了游戏能做什么,而脚本才真正决定了游戏做了什么。一些著名的引擎如虚幻系列都有自己独特的脚本语言,其他一些引擎可能会采用一些第三方的脚本语言,比如比较流行的Lua。所以开发一个新游戏最简单的情形就是沿用之前的引擎,创作艺术资源,然后编写脚本将其组织成一个游戏,几乎不需要什么底层的编程语言。

开发环境方面,游戏团队内部可能会使用一些开发和设计工具对资源进行处理,可以理解成游戏引擎的IDE,这部分因为是内部工具,而且可能需要经常修改所以一般采用比较高效的开发和语言,比如暴雪就是部分使用.NET和C#进行一些内部工具的开发。

至于引擎核心的开发,Windows比较流行的方法是使用最新版本的Visual Studio,显卡厂商如NVIDIA也会为VS开发一些插件来简化显卡编程和调试。

游戏里的脚本 都是用什么语言写的

可以用Lex和Yacc,没有什么语言,一般自己定义

游戏源码一般都是用什么语言写的?

编写单机 PC/主机游戏现在都是 C++ 加上一个脚本语言(比如 Lua,这地方不需要脚本引擎多么高性能,够用就好)。游戏的架构是引擎 + 游戏逻辑,两者代码量是引擎远远大于游戏逻辑。商业游戏往往引擎是重用多于自研,所以那些大型游戏的代码也不是全部都是一行一行敲出来的——很可能其中许多内容是买来的。

网游服务端则一般是自研,这个真是一行一行敲了。网游 EVE 的服务器完全是照着超算的标准修的,算法也完全是超算的算法。编写单机 PC/主机游戏现在都是 C++ 加上一个脚本语言(比如 Lua,这地方不需要脚本引擎多么高性能,够用就好)。游戏的架构是引擎 + 游戏逻辑,两者代码量是引擎远远大于游戏逻辑。商业游戏往往引擎是重用多于自研,所以那些大型游戏的代码也不是全部都是一行一行敲出来的——很可能其中许多内容是买来的。

游戏开发中常用哪种脚本语言?

一般大型的商业游戏引擎有自己的脚本语言,比如Unreal3就有自己的一套Unreal Script ,Unity3d可以用C#、JavaScript~~

也有用Python的,不过游戏里面最知名,用的最多的还是Lua。

魔兽世界的脚本语言就是Lua。

有些公司自主开发的引擎是不公开的,我们也不知道用什么,很可能是有自己的一套脚本语言系统,有本书《Game script mastery》就是讲解游戏里面脚本引擎搭建的,如果有兴趣,加上一点汇编语言和编译原理的基础,可以跟着这本书上的看看。推荐还是用Lua(前面那本书也提到Lua了),这个东棱现在比较流行,资料齐全,有问题也方便交流。

现在用什么语言写游戏脚本好点 5分

CE+OD+E 采纳

做正规游戏用什么语言编写脚本最好

做正规游戏用自己家写的引擎内部语言写脚本。

T语言 Y语言 C语言哪个写游戏脚本好??

看到这三个选项,心情真的不太好形容,对T语言和Y语言不是特别了解,大概说一下自己的感觉。

C语言是更贴近底层的编程语言,全英文的字母的那种,属于面向过程的语言,个人认为用C语言写游戏脚本有点儿求虐,因为接口什么的都要自己写。不是很建议用。当然,前提是你说的是纯C语言,而不是C++、VC++这种C语言的衍生品。

T语言虽然有点儿过时,不过确实有很多人用TC做出过很炫的游戏效果,应该也容易找到一些例子,方便借鉴。

Y语言不是很了解,只知道是中文编程的典范,全中文内核,不太清楚是不适合写游戏脚本。

但是我觉得如果选用T语言和Y语言之前,应该考虑一下你要做什么游戏的脚本,如果是全英文的游戏内核,就要考虑中文编程和英文游戏的对接问题了,特别是Y语言。不是我崇洋 *** ,但是事实证明国内出的一些计算机相关的东西确实都有很多不足之处,有时候可能会很坑。

最后建议还是选用一下现在主流的语言做游戏脚本,想javascript之类的,这些语言其实语法没比T或Y语言难多少,但是因为大家都在用,可以找到很多资料,还可以有更多的人让你请教。

Javascript脚本编程

最简单的做法不就是,有一个button姓名/button,可以给button赋予某个属性,这个属性值就是你的学号,然后给button一个注册一个onclick事件,点击弹出框,并在此时显示时间。

html

head

title演示button弹出学号和时间/title

/head

body

button id="1234567" onclick="alert('学号:' + this.id + ' 当前时间:' + new Date());"自己的姓名/button

/body

/html

JavaScript脚本的编写

VBScript主要用于在ASP中编写服务器端脚本,它是微软开发的一种VB的衍生脚本语言,跟VB的语法类似,学ASP顺便就可以学了。

至于JavaSrcipt,除了名字之外和JAVA语言一丁点关系都没有,是网景公司提出来的,而不是SUN公司。JavaScript的基本语法有点类似于C语言,但是又有很多的内置对象,用于编写网页中的客户端脚本,但是每种浏览器支持的JavaScript也不一样,所以要用心注意一下才好!


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/JavaScript/13131.html