在现代Web应用中,JavaScript已经成为与数据库进行交互的重要语言之一。
通过JavaScript,我们可以实现前端与后端数据库的实时交互,提高数据处理的效率和用户体验。
本文将介绍一些JavaScript函数与数据库交互的进阶技巧,以及如何高效执行SQL语句。
同时,我们还将解决一个常见的问题:javascript:void(o)怎么解决。
1. AJAX(Asynchronous JavaScript and XML):通过AJAX,JavaScript可以在浏览器端发起异步请求,与服务器进行通信,从而实现与数据库的交互。
2. Node.js:在服务器端使用Node.js,可以直接使用JavaScript操作数据库。
3. ORM(Object-Relational Mapping)框架:如 Sequelize、TypeORM等,可以方便地将JavaScript对象与数据库表进行映射,简化数据库操作。
1. 批量操作:当需要执行大量SQL语句时,尽量采用批量操作,以减少与数据库的通信次数,提高执行效率。
2. 索引优化:确保数据库表中的关键字段已经建立索引,可以大大提高查询速度。
3. SQL语句优化:精简SQL语句,避免使用复杂的子查询和联合查询,以减少数据库的计算负担。
4. 缓存机制:利用缓存存储常用数据,减少实时查询数据库的次数。
1. 异步编程:利用JavaScript的异步特性,实现非阻塞的数据库操作,提高页面响应速度。
2. 使用Promise和async/await:通过Promise和async/await,可以更方便地处理异步操作,使代码更简洁、易读。
3. 数据库连接池:使用数据库连接池可以避免频繁创建和关闭数据库连接,提高性能。
4. 合理使用事务:通过事务可以确保数据库操作的原子性、一致性和隔离性,保证数据的安全性。
javascript:void(o)是一个常见的JavaScript语法,通常在HTML的链接中使用,用于阻止链接的默认行为并避免页面跳转。
这种方式已经逐渐被现代Web开发所淘汰,因为它不符合现代Web开发的最佳实践。
解决这个问题的最佳方法是使用事件监听器来阻止默认行为,例如:
```javascript
document.querySelector(a).addEventListener(click, function(event) {
event.preventDefault(); // 阻止链接的默认行为
// 执行其他操作
});
```
六、总结
本文介绍了JavaScript函数与数据库交互的进阶技巧,包括高效执行SQL语句的方法和解决javascript:void(o)问题。
通过掌握这些技巧,我们可以提高Web应用的数据处理效率,提升用户体验。
在实际开发中,我们应该根据具体需求选择合适的技巧进行应用。
同时,我们还需要不断学习和探索新的技术,以适应不断变化的技术环境。
1. 深入学习JavaScript异步编程,了解Promise、async/await等高级特性。
2. 学习更多关于SQL优化的知识,提高数据库查询效率。
3. 探索更多现代Web开发框架和工具,如React、Vue等,提升开发效率。
试试吧,在JSP中访问Oracle ,SqlServer ,DB2, Informix ,Access 数据库2007-1-13在JSP中访问Oracle ,SqlServer ,DB2, Informix ,Access 数据库现在有好多初学jsp的网友经常会问数据库怎么连接啊,怎么老出错啊?所以我集中的在这写篇文章供大家参考,其实这种把数据库逻辑全部放在jsp里未必是好的做法,但是有利于初学者学习,所以我就这样做了,当大家学到一定程度的时候,可以考虑用MVC的模式开发。
在练习这些代码的时候,你一定将jdbc的驱动程序放到服务器的类路径里,然后要在数据库里建一个表test,有两个字段比如为test1,test2,可以用下面SQL建 create table test(test1 varchar(20),test2 varchar(20),然后向这个表写入一条测试纪录,那么现在开始我们的jsp和数据库之旅吧。
一、jsp连接Oracle8/8i/9i数据库(用thin模式) 如下: <%@ page ContentType=text/html;charset=gb2312%> <%@ page import=.*%> <html> <body> <%()(); String url=jdbc:oracle:thin:@localhost:1521:orcl; //orcl为你的数据库的SID String user=scott; String password=tiger; Connection conn= (url,user,password); Statement stmt=(_SCROLL_SENSITIVE,_UPDATABLE); String sql=select * from test; ResultSet rs=(sql); while(()) {%> 您的第一个字段内容为:<%=(1)%> 您的第二个字段内容为:<%=(2)%> <%}%> <%(数据库操作成功,恭喜你);%> <%(); (); (); %> </body> </html> 二、jsp连接Sql Server7.0/2000数据库 如下: <%@ page contentType=text/html;charset=gb2312%> <%@ page import=.*%> <html> <body> <%()(); String url=jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs; //pubs为你的数据库的 String user=sa; String password=; Connection conn= (url,user,password); Statement stmt=(_SCROLL_SENSITIVE,_UPDATABLE); String sql=select * from test; ResultSet rs=(sql); while(()) {%> 您的第一个字段内容为:<%=(1)%> 您的第二个字段内容为:<%=(2)%> <%}%> <%(数据库操作成功,恭喜你);%> <%(); (); (); %> </body> </html> 三、jsp连接DB2数据库 如下: <%@ page contentType=text/html;charset=gb2312%> <%@ page import=.*%> <html> <body> <%(2Driver )(); String url=jdbc:db2://localhost:5000/sample; //sample为你的数据库名 String user=admin; String password=; Connection conn= (url,user,password); Statement stmt=(_SCROLL_SENSITIVE,_UPDATABLE); String sql=select * from test; ResultSet rs=(sql); while(()) {%> 您的第一个字段内容为:<%=(1)%> 您的第二个字段内容为:<%=(2)%> <%}%> <%(数据库操作成功,恭喜你);%> <%(); (); (); %> </body> </html> 四、jsp连接Informix数据库 如下: <%@ page contentType=text/html;charset=gb2312%> <%@ page import=.*%> <html> <body> <%()(); String url = jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver; user=testuser;password=testpassword; //testDB为你的数据库名 Connection conn= (url); Statement stmt=(_SCROLL_SENSITIVE,_UPDATABLE); String sql=select * from test; ResultSet rs=(sql); while(()) {%> 您的第一个字段内容为:<%=(1)%> 您的第二个字段内容为:<%=(2)%> <%}%> <%(数据库操作成功,恭喜你);%> <%(); (); (); %> </body> </html> 五、jsp连接Access数据库 <%@page import=.* import =.* import =.* import=.* contentType=text/html; charset=gb2312 buffer=20kb %><%! int all,i,m_count; String odbcQuery; Connection odbcconn; Statement odbcstmt; ResultSet odbcrs; String username,title,content,work,email,url,time,date; String datetime; %> <% try{ (); }catch (ClassNotFoundException e) { (驱动程序不存在); } try{ odbcconn = (jdbc:odbc:db1); odbcstmt = (); odbcQuery=Select * From book where datetime>2001-4-26 Order By datetime DESC; odbcrs=(odbcQuery); int i=0; while (i<130) (); while (()) { //*/////////////////////////显示数据库的内容用于调试程序是用// int ii; try{ try{ for (ii=1;;ii++) (<br>Cloumn +ii+ is: +(ii)); }catch (NullPointerException e) { (有空的指针); } }catch (SQLException e){ } } (); (); (); }catch (SQLException e) { (e); } %> 查看(24) 评论(0) Hibernate快速入门2006-11-10其实Hibernate本身是个独立的框架,它不需要任何web server或application server的支持。
然而,大多数的Hibernate入门介绍都加入了很多非Hibernate的东西,比如: Tomcat, Eclipse, Log4J,Struts, XDoclet, 甚至JBoss。
这容易让人产生Hibernate复杂难懂的误解,特别是打击了初学者的积极性。
在这篇文章将不涉及Eclipse, log4j, Struts, Tomcat, XDoclet,和JBoss。
本文的目的是演示一下Hibernate的安装过程以及最基本的功能,从而给初学者一个低得不能再低的入门门槛。
下载文件你需要Java SDK、 Hibernate包、Ant包、和JDBC Driver。
1、Hibernate包下载地址:... t_by=date&sort=desc2、Ant包下载地址:、JDBC Driver要根据你用的database来定,一般database官方网站上都会有。
Hibernate支持常用的database,比如 MySQL, Oracle, PostgreSQL, 和MS-SQL Server。
这些数据库都有JDBC Driver: Oracle JDBC Driver下载地址(下载前必须同意Oracle协议书)... tdocs/ JDBC Driver下载地址JDBC Driver下载地址Server JDBC Driver下载地址... bf71&disPlaylang=en4、将Hibernate包和Ant包分别解压至c:dev下(此目录不重要,你可以换其它任何目录)。
配置环境1、你需要添加一个新的环境变量: ANT_HOME,让它指向c:dev<的ANT包所在目录>并在PATH环境变量里添加%ANT_HOME%in。
2、你需要添加一个新的环境变量: JAVA_HOME,让它指向你的j2sdk根目录。
并在PATH环境变量里添加%JAVA_HOME%in。
3、创建一个项目ā?目录,比如c:workspaceMy1stHibernate。
在项目目录下,另外创建三个目录: src, classes, lib。
在lib目录下,创建两个目录: hibernate和db。
这样你有了如下的文件结构:c:workspaceMy1stHibernatec:workspaceMy1stHibernatesrcc:workspaceMy1stHibernateclassesc:workspaceMy1stHibernatelibc:workspaceMy1stHibernatelibhibernatec:workspaceMy1stHibernatelibdb 4、将c:dev<的Hibernate包所在目录>文件copy到c:workspaceMy1stHibernatelibhibernate下。
将c:dev<的Hibernate包所在目录>lib下的所有文件同样copy到c:workspaceMy1stHibernatelibhibernate下。
将你的JDBC Driver文件(一般是一个jar文件)copy到c:workspaceMy1stHibernatelibdb下。
创建数据库1、用你最喜爱的database软件,创建一个hibernate_test的数据库。
2、在此数据库下,新建一个table名为CUSTOMERCREATE TABLE CUSTOMER( CID INTEGER NOT NULL PRIMARY KEY, USERNAME VARCHAR(12) NOT NULL, PASSWORD VARCHAR(12) ); 编写Java文件public class Customer { private int id; private String username; private String password; public int getId() {return id; } public String getPassword() {return password; } public String getUsername() {return username; } public void setId(int id) { = id; } public void setPassword(String password) { = password; } public void setUsername(String username) { = username; }} 将此类存为文件。
编写Test类import .*;import .*;public class Test { public static void main(String[] args) {try { SessionFactory sf = new Configuration()()(); Session session = (); Transaction tx = (); for (int i = 0; i <200; i++) {Customer customer = new Customer();custoā?(customer + i);(customer);(customer); } (); ();} catch (HibernateException e) { ();} }} 将此类存为文件。
创建Hibernate映射文件因为这里只有一个Class --- Customer 和一个Table --- CUSTOMER,你只需要建立一个映射文件--- ,来对应Customer类和CUSTOMER表之间的关系。
#include
1、方法定义为static,直接类名.方法名调用;
如
classMain1{
publicstaticfunctionAdd(j:int,i:int):void
2、new一个对象,对象调用,如
varm:Main1=newMain1();
3、(),得到那个有这个脚本组件的GameObject,这个GameObject再GetComponent,得到script,scirpt再调用方法。
js可以本地执行键盘操作写脚本嘛
可以1)使用JS启动本地应用程序
使用上述代码重点是创建了一个ActiveXObject的对象
参考说明:
JavaScript中ActiveXObject对象是启用并返回Automation对象的引用。使用方法:
newObj=newActiveXObject([,location])
ActiveXObject对象语法有这些部分:
其中newObj是必选项。 要赋值为ActiveXObject的变量名。
servername是必选项。 提供该对象的应用程序的名称。
typename是必选项。 要创建的对象的类型或类。
location是可选项。 创建该对象的网络服务器的名称。
Automation服务器至少提供一类对象,例如字处理应用程序可能提供应用程序对象、文档对象和工具栏对象。
例如要创建Excel的Application和Sheet对象,代码如下:
varExcelApp=newActiveXObject();
varExcelSheet=newActiveXObject()
一旦对象被创建,就可以用定义的对象变量在代码中的引用它。 下面我们将通过一个例子来看看对对象和方法的引用,通过对象变量ExcelSheet访问新对象的属性和方法和其他Excel对象,包括Application对象和集合。 代码如下:
(1,1)=ThisiscolumnA,row1;
(2)经过(1)的代码设置之后,就可以执行程序,但是ActiveXObject是在浏览器中执行的,浏览器需要进行一些设置保证上述JS代码可以正常的执行。
具体设置如下;
如上所示可以对计算机的ActiveX控件和插件进行设置,使得可以正常执行IE调用本地应用程序
(2)使用JS调用屏幕键盘
上述JS中的代码:
varobj=newActiveXObject();
(osk);//打开屏幕键盘
(location);//其中location是QQ应用程序的本地地址(地址需要使用“//”)
如何编写JavaScript脚本库做Web开发已经四年,或多或少积累了一些JavaScript脚本。 比如,限制input只允许输入数字的脚本;敲回车自动转到下一个控件,相当于Tab键的作用一样;因为JavaScript数值运算的结果常常不是我们想要的,还得有浮点数运算(加减乘除)函数。 每次有JavaScript需求时,常常是在网上找需要的脚本,直接拷贝到aspx文件中,或者新建JavaScript文件,然后添加引用
scriptsrc==text/javascript/script,以这种方式来完成客户端脚本的制作。 毕竟对JavaScript的需求不多,也就没有花很大的力气去学。
最近公司的项目不忙,空闲的时间赶忙补习一下脚本的知识。 网上有很流行的JQuery脚本库,在园子里也有大量的文章讨论怎么去用。 以我亲身体会,JavaScript和正则表达式一样,常学常忘。 学过的知识不用,很快就会忘记。 特别是和应用相关的内容,比如PageMethods怎么用,客户短回调如何实现,如何用JavaScript调用Web服务,在项目中用过多次,但是一被同事问起来,还是模模糊糊的,很难说出个所以然来。 我有一个办法是制作demo,把各种效果的demo做好,分门别类的放在一起,然后用的时候去搜索,这样可以节省很多时间。 另外一种办法就是今天这篇文章提到的,把做过的JavaScript整理一下,制作成比较通用的脚本库,方便复用。 整理的含义是,对函数进行适当的调整,让它能不仅能满足当前项目的需求,还要能满足未来项目的需求,另一个含义是要规范命名和组织结构,写好样例代码,用起来的时候方便。 有时候在网上下载了很多JavaScript实用脚本,但是忘记下载它的测试脚本,不知道怎么去用,还不如到网上重新搜索来得方便。
JavaScript被定义为一种基于对象的脚本语言,一方面它以DOM对象模型和DOM对象中的方法为基础,另一方面,它又不具备面向对象语言的继承,多态的特性。 对JavaScript进行了扩展,使我们可以以面向对象的方式来组织JavaScript脚本。 我这里的主要工作是封装,把现有的代码封装起来,方便下次复用。 于是,有两种方法来组织现有的JavaScript代码库。
我以JavaScript中倍受争议的浮点运算中的加法和减法运算为例子,看看如何把它们封装起来
JavaScript风格
functionMath(){}
//加法
=function(arg1,arg2){
varr1,r2,m;
try{r1=()(.)[1]}catch(e){r1=0}
try{r2=()(.)[1]}catch(e){r2=0}
m=(10,(r1,r2))
return(arg1*m+arg2*m)/m
//减法
=function(arg1,arg2){
varr1,r2,m,n;
try{r1=()(.)[1]}catch(e){r1=0}
try{r2=()(.)[1]}catch(e){r2=0}
m=(10,(r1,r2));
n=(r1=r2)?r1:r2;
return((arg1*m-arg2*m)/m)(n);
调用方式
varmath=newMath();
varresult=(2.0,4.0);
AJAX风格
(“Utility”);
=function(larg,rarg)
this._left=larg;
this._right=rarg;
//加法函数
Add:function()
varr1,r2,m;
try{r1=()(.)[1]}catch(e){r1=0}
try{r2=()(.)[1]}catch(e){r2=0}
m=(10,(r1,r2))
return(left*m+right*m)/m
//减法函数
Subtraction:function(){
varr1,r2,m,n;
try{r1=()(.)[1]}catch(e){r1=0}
try{r2=()(.)[1]}catch(e){r2=0}
m=(10,(r1,r2));
n=(r1=r2)?r1:r2;
return((left*m-right*m)/m)(n);
//注册类
然后,在需要的地方,就可以运用下面的方法调用
varmath=(2.0,4.2);
varresult=();
使用上面提出的两种方法,可以方便封装常用的JavaScript,减少重复。
上面的命名有个问题,因为Math是JavaScript内置的一种类型,用于处理各种数学运算,为了让上面的JavaScript风格的脚本运行起来,还得把类名换成其它的名字,如MathHelper。还对JavaScript的六种类型进行了扩展,分别是Array,Boolean,Date,Error,Object和string.
方法有了,估计还有朋友会说,你应该把自己做的JavaScript库公布出来才行,这样才能满足大众的口味。 仅有这个方法,要实践起来还是很困难的:有项目时间紧的理由,每天都忙着做项目,哪里有时间去整理这个,也有不熟悉JavaScript的理由。
为了让我的类库不至于很菜,我到网上找了些关于写好JavaScript库的建议。
有一篇文章的名字叫《BuildingaJavaScriptLibrary》,本来写这篇文章之前很想看看他是怎么写的,可是网页中一直提示正在加载文件,无法查看。 很想知道老外对于同样的主题,他是怎么写的。
1使用方法不要过于繁琐。
2避免使用
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平台)从底到顶一般是DirectX?——游戏引擎——游戏。
DirectX?相当于所有显卡的一个统一接口,为游戏提供一个利用硬件渲染的编程模型,但DirectX?接口为了追求高性能功能非常单纯和松散,不利于游戏的高效开发。 此时就需要根据游戏特点对其进行适当的取舍和封装,实现一组更高抽象的游戏开发接口和框架,可以理解成游戏引擎中的图形引擎。 这部分的开发一般使用的语言是C/C++和少量的汇编语言。
至于游戏引擎是一个非常复杂的功能聚合体,所有的游戏开发工作都是在之上进行的。 包括图形引擎,音频引擎,碰撞引擎,艺术资源管理,脚本引擎等等。 到此为止几乎还没有涉及到你所说的游戏开发。
首先在图形渲染方面,例如光照阴影处理等等,现代显卡一般是通过可编程着色器实现对图形效果的控制,所采用的编程语言一般是一些着色器语言,例如DirectX?采用的HLSL,OpenGL使用的GLSL等等,语法类似C语言,游戏执行时被编译加载到显卡上,在实现硬件渲染速度的同时又实现了软件编程的灵活性。
大型游戏开发的绝大部分工作其实都是在编写游戏脚本,脚本是大型游戏得以如此高速开发和发布的主要原因。 脚本化的开发让游戏开发摆脱了硬编码的种种弊端,让游戏内容可以轻易的修改和调试。 游戏故事如何进行,各种事件如何触发,何时该播放哪些声音或动画,如何使用艺术团队创作的资源,这些都是在脚本中编写的,可以说引擎决定了游戏能做什么,而脚本才真正决定了游戏做了什么。 一些著名的引擎如虚幻系列都有自己独特的脚本语言,其他一些引擎可能会采用一些第三方的脚本语言,比如比较流行的Lua。 所以开发一个新游戏最简单的情形就是沿用之前的引擎,创作艺术资源,然后编写脚本将其组织成一个游戏,几乎不需要什么底层的编程语言。
开发环境方面,游戏团队内部可能会使用一些开发和设计工具对资源进行处理,可以理解成游戏引擎的IDE,这部分因为是内部工具,而且可能需要经常修改所以一般采用比较高效的开发平台和语言,比如暴雪就是部分使用和C#进行一些内部工具的开发。
至于引擎核心的开发,Windows平台比较流行的方法是使用最新版本的VisualStudio,显卡厂商如NVIDIA也会为VS开发一些插件来简化显卡编程和调试。
游戏用什么语言编写的?
CS是用VC++写的,魔兽不清楚了,大多都用VC++,C++,DELHPI写的手机上用的JAVA
一般的游戏都是用什么语言开发的
一般的大型游戏开发绝不是用某种语言这么单纯的问题。 一个大型游戏的开发需要庞大的团队使用各种各样的语言和工具来完成。 总结一下主要有C/C++,汇编语言,着色器语言,脚本语言,高效的开发语言C#或Java。
首先一般的游戏开发架构(Windows)从底到顶一般是DirectX?——游戏引擎——游戏。
DirectX?相当于所有显卡的一个统一接口,为游戏提供一个利用硬件渲染的编程模型,但DirectX?接口为了追求高性能功能非常单纯和松散,不利于游戏的高效开发。 此时就需要根据游戏特点对其进行适当的取舍和封装,实现一组更高抽象的游戏开发接口和框架,可以理解成游戏引擎中的图形引擎。 这部分的开发一般使用的语言是C/C++和少量的汇编语言。
至于游戏引擎是一个非常复杂的功能聚合体,所有的游戏开发工作都是在之上进行的。 包括图形引擎,音频引擎,碰撞引擎,艺术资源管理,脚本引擎等等。 到此为止几乎还没有涉及到你所说的游戏开发。
首先在图形渲染方面,例如光照阴影处理等等,现代显卡一般是通过可编程着色器实现对图形效果的控制,所采用的编程语言一般是一些着色器语言,例如DirectX?采用的HLSL,OpenGL使用的GLSL等等,语法类似C语言,游戏执行时被编译加载到显卡上,在实现硬件渲染速度的同时又实现了编程的灵活性。
大型游戏开发的绝大部分工作其实都是在编写游戏脚本,脚本是大型游戏得以如此高速开发和发布的主要原因。 脚本化的开发让游戏开发摆脱了硬编码的种种弊端,让游戏内容可以轻易的修改和调试。 游戏故事如何进行,各种事件如何触发,何时该播放哪些声音或动画,如何使用艺术团队创作的资源,这些都是在脚本中编写的,可以说引擎决定了游戏能做什么,而脚本才真正决定了游戏做了什么。 一些著名的引擎如虚幻系列都有自己独特的脚本语言,其他一些引擎可能会采用一些第三方的脚本语言,比如比较流行的Lua。 所以开发一个新游戏最简单的情形就是沿用之前的引擎,创作艺术资源,然后编写脚本将其组织成一个游戏,几乎不需要什么底层的编程语言。
开发环境方面,游戏团队内部可能会使用一些开发和设计工具对资源进行处理,可以理解成游戏引擎的IDE,这部分因为是内部工具,而且可能需要经常修改所以一般采用比较高效的开发和语言,比如暴雪就是部分使用和C#进行一些内部工具的开发。
至于引擎核心的开发,Windows比较流行的方法是使用最新版本的VisualStudio,显卡厂商如NVIDIA也会为VS开发一些插件来简化显卡编程和调试。
游戏里的脚本都是用什么语言写的
可以用Lex和Yacc,没有什么语言,一般自己定义
游戏源码一般都是用什么语言写的?
编写单机PC/主机游戏现在都是C++加上一个脚本语言(比如Lua,这地方不需要脚本引擎多么高性能,够用就好)。 游戏的架构是引擎+游戏逻辑,两者代码量是引擎远远大于游戏逻辑。 商业游戏往往引擎是重用多于自研,所以那些大型游戏的代码也不是全部都是一行一行敲出来的——很可能其中许多内容是买来的。
网游服务端则一般是自研,这个真是一行一行敲了。 网游EVE的服务器完全是照着超算的标准修的,算法也完全是超算的算法。 编写单机PC/主机游戏现在都是C++加上一个脚本语言(比如Lua,这地方不需要脚本引擎多么高性能,够用就好)。 游戏的架构是引擎+游戏逻辑,两者代码量是引擎远远大于游戏逻辑。 商业游戏往往引擎是重用多于自研,所以那些大型游戏的代码也不是全部都是一行一行敲出来的——很可能其中许多内容是买来的。
游戏开发中常用哪种脚本语言?
一般大型的商业游戏引擎有自己的脚本语言,比如Unreal3就有自己的一套UnrealScript,Unity3d可以用C#、JavaScript~~
也有用Python的,不过游戏里面最知名,用的最多的还是Lua。
魔兽世界的脚本语言就是Lua。
有些公司自主开发的引擎是不公开的,我们也不知道用什么,很可能是有自己的一套脚本语言系统,有本书《Gamescriptmastery》就是讲解游戏里面脚本引擎搭建的,如果有兴趣,加上一点汇编语言和编译原理的基础,可以跟着这本书上的看看。 推荐还是用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事件,点击弹出框,并在此时显示时间。
title演示button弹出学号和时间/title
buttonid=onclick=alert(学号:++当前时间:+newDate());自己的姓名/button
JavaScript脚本的编写VBScript主要用于在ASP中编写服务器端脚本,它是微软开发的一种VB的衍生脚本语言,跟VB的语法类似,学ASP顺便就可以学了。
至于JavaSrcipt,除了名字之外和JAVA语言一丁点关系都没有,是网景公司提出来的,而不是SUN公司。JavaScript的基本语法有点类似于C语言,但是又有很多的内置对象,用于编写网页中的客户端脚本,但是每种浏览器支持的JavaScript也不一样,所以要用心注意一下才好!
本文地址:http://www.hyyidc.com/article/167564.html
上一篇:从入门到精通JavaScript函数执行SQL语句的...
下一篇:详解JavaScript函数如何安全有效地执行SQL...