一个好玩的动作类单机游戏包括多个业务方法可以使用哪些方法配置动作

/*日 10:03:30 by & */
项目使用SSH架构,现在要添加Spring事务管理功能,针对当前环境,只需要添加Spring 2.0 AOP类库即可。添加方法:
点击项目右键-&Build Path-&Add librarys:
&打开Add Libraries对话框,然后选定 MyEclipse Libraries:
点击Next,找到Spring 2.0 aop Libraries并勾选上,点击finsh即可。
如果在项目里面能看到下面的库文件,说明已经安装成功。
首先在/WEB-INF/applicationContext.xml添加以下内容:
&!-- 配置事务管理器 --&
&bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"&
&property name="sessionFactory"&
&ref bean="mySessionFactory"/&
&/property&
注:这是作为公共使用的事务管理器Bean。这个会是事先配置好的,不需各个模块各自去配。
下面就开始配置各个模块所必须的部分,在各自的applicationContext-XXX-beans.xml配置的对于事务管理的详细信息。
首先就是配置事务的传播特性,如下:
配置事务传播特性 --&
&tx:advice id="TestAdvice" transaction-manager="transactionManager"&
&tx:attributes&
&tx:method name="save*" propagation="REQUIRED"/&
&tx:method name="del*" propagation="REQUIRED"/&
&tx:method name="update*" propagation="REQUIRED"/&
&tx:method name="add*" propagation="REQUIRED"/&
&tx:method name="find*" propagation="REQUIRED"/&
&tx:method name="get*" propagation="REQUIRED"/&
&tx:method name="apply*" propagation="REQUIRED"/&
&/tx:attributes&
&/tx:advice&
配置参与事务的类 --&
&aop:config&
&aop:pointcut id="allTestServiceMethod" expression="execution(* com.test.testAda.test.model.service.*.*(..))"/&
&aop:advisor pointcut-ref="allTestServiceMethod" advice-ref="TestAdvice" /&
&/aop:config&
需要注意的地方:
(1) advice(建议)的命名:由于每个模块都会有自己的Advice,所以在命名上需要作出规范,初步的构想就是模块名+Advice(只是一种命名规范)。
(2) tx:attribute标签所配置的是作为事务的方法的命名类型。
&&&&&&&& 如&tx:method name="save*" propagation="REQUIRED"/&
&&&&&&& 其中*为通配符,即代表以save为开头的所有方法,即表示符合此命名规则的方法作为一个事务。
&&&&&&& propagation="REQUIRED"代表支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。
(3) aop:pointcut标签配置参与事务的类,由于是在Service中进行数据库业务操作,配的应该是包含那些作为事务的方法的Service类。
&&&&&& 首先应该特别注意的是id的命名,同样由于每个模块都有自己事务切面,所以我觉得初步的命名规则因为 all+模块名+ServiceMethod。而且每个模块之间不同之处还在于以下一句:
&&&&&& expression="execution(* com.test.testAda.test.model.service.*.*(..))"
&&&&&& 其中第一个*代表返回值,第二*代表service下子包,第三个*代表方法名,&(..)&代表方法参数。
(4) aop:advisor标签就是把上面我们所配置的事务管理两部分属性整合起来作为整个事务管理。
下面附上配置声明式事务的一些相关的资料,以下资料均来源于互联网:
附一、Spring事务类型详解
附二、对spring事务类型详解的一点补充(关于嵌套事务)
附三、Transaction后缀给声明式事务管理带来的好处
附四、Spring中的四种声明式事务的配置
附一、Spring事务类型详解
&prop key="load*"&PROPAGATION_REQUIRED,readOnly&/prop&&prop key="store*"&PROPAGATION_REQUIRED&/prop&
估计有好多朋友还没有弄清楚里面的值的意思,仔细看完下面应该知道自己什么情况下面应该使用什么样的声明。^_^
Spring中常用事务类型:
PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。
PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。
PROPAGATION_MANDATORY--支持当前事务,如果当前没有事务,就抛出异常。
PROPAGATION_REQUIRES_NEW--新建事务,如果当前存在事务,把当前事务挂起。
PROPAGATION_NOT_SUPPORTED--以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
PROPAGATION_NEVER--以非事务方式执行,如果当前存在事务,则抛出异常。
PROPAGATION_NESTED--如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则进行与PROPAGATION_REQUIRED类似的操作。
附二、对spring事务类型详解的一点补充(关于嵌套事务)
& PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。
& PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。
& PROPAGATION_MANDATORY--支持当前事务,如果当前没有事务,就抛出异常。
& PROPAGATION_REQUIRES_NEW--新建事务,如果当前存在事务,把当前事务挂起。
& PROPAGATION_NOT_SUPPORTED--以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
& PROPAGATION_NEVER--以非事务方式执行,如果当前存在事务,则抛出异常。
&&&&&& 可能大家对PROPAGATION_NESTED还不怎么了解,觉得有必要再补充一下^_^!PROPAGATION_NESTED: 嵌套事务类型,是相对上面提到的六种情况(上面的六种应该称为平面事务类型),打个比方我现在有一个事务主要有一下几部分:&&&&& 1,从A用户帐户里面减去100元钱&&&&& 2,往B用户帐户里面添加100元钱&&&&&& 这样看和以前不同的事务可能没有什么区别,那我现在有点特殊的要求就是,A用户有3个帐户,B用户有2个帐户,现在我的要求就是只要再A用户的3个帐户里面任意一个减去100元,往B用户的两个帐户中任意一个里面增加100元就可以了!&&&&&& 一旦你有这样的要求那嵌套事务类型就非常适合你!我们可以这样理解,&&&&&& 一:将&从A用户帐户里面减去100元钱& 和 &往B用户帐户里面增加100元钱&我们暂时认为是一级事务操作&&&&&& 二:将从A用户的3个帐户的任意一个帐户里面减钱看做是&从A用户帐户里面减去100元钱&这个一级事务的子事务(二级事务),同样把后面存钱的看成是另一个的二级事务。&&&&& 问题一:当二级事务被rollback一级事务会不会被rollback?&&&&& 答案是不会的,二级事务的rollback只针对自己。&&&&& 问题二:什么时候这个一级事务会commit,什么时候会被rollback呢?&&&&& 我们主要看二级里面出现的情况,当所有的二级事务被commit了并且一级事务没有失败的操作,那整个事务就算是一个成功的事务,这种情况整个事务会被commit。当任意一个二级事务没有被commit那整个事务就是失败的,整个事务会被roolback。还是拿上面的例子来说明吧!如果我在a的三个帐户里面减钱的操作都被二级事务给rollback了,也就是3个帐户里面都没有减钱成功,整个事务就失败了就会被rollback。如果A用户帐户三个帐户里面有一个可以扣钱而且B用户的两个帐户里面也有一个帐户可以增加钱,那整个事务就算成功的,会被 commit。看了一下觉得上面的例子好像不是很深刻,看这个情况(A用户的3个帐户都是有信用额度的,也就是说可以超支,但是超支有金额限制)。不过原理是一样的,简单点也好说明一点,祝你好运!^_^
附三、Transaction后缀给声明式事务管理带来的好处
&&&&&&& 良好的面向对象的程序,一般都使用接口和实现分离的模式。我在《事务管理最佳实践全面解析》一文中提出,用*Transaction和*Dao后缀这样的形式,区分方法的不同用途。
这样,可以提醒接口的实现者和方法的使用者注意到它们对于数据库连接和事务的依赖。
实际上,使用*Transaction后缀这样的命名方式,对于声明式事务管理也是很有用处的。如,Spring的事务管理中,我们一般使用方法名的匹配来应用声明式事务。
一、请看下面的Spring配置:
&bean id="txProxyTemplate" abstract="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"&
&property name="transactionManager" ref="transactionManager"/&
&property name="transactionAttributes"&
&prop key="*"&readOnly&/prop&
&prop key="add*"&PROPAGATION_REQUIRED,-Exception&/prop&
&prop key="save*"&PROPAGATION_REQUIRED,-Exception&/prop&
&prop key="modify*"&PROPAGATION_REQUIRED,-Exception&/prop&
&prop key="update*"&PROPAGATION_REQUIRED,-Exception&/prop&
&prop key="delete*"&PROPAGATION_REQUIRED,-Exception&/prop&
&prop key="remove*"&PROPAGATION_REQUIRED,-Exception&/prop&
&prop key="query*"&PROPAGATION_REQUIRED, readOnly,-Exception&/prop&
&prop key="load*"&PROPAGATION_REQUIRED, -Exception&/prop&
&/property&
这是来自于真实项目中的Spring声明式事务配置。我们对每一个业务层的实现类都应用了这样的事务配置。
我们对所有业务服务Service方法使用了只读事务。对以add,save,modify,update,delete,remove,load开头的方法都使用了事务。
但是,实际上,虽然我们开发的软件一个&信息管理系统&,是围绕数据库开发的。但是,在Service层,我们还是有很多不操作数据库的方法。
如,单纯根据业务逻辑进行计算的,适用缓存进行计算的,执行email发送,文件上传等等任务的方法,在这种配置下都不分青红皂白的应用了事务。
SpringAOP生成的代理对象代理了我们的服务实现类,所有的方法执行前后都被拦截,用来得到和关闭数据库连接,设置、提交和回滚事务。而不管这个方法是否用到了这个数据库。
如果遵照我提出的这个方法,使用*Transaction后缀来标识需要处理事务的方法,那么我们使用Spring声明式事务时,就可以非常精确、有效的应用事务了!
二、请看下面的Spring事务配置:
&!-- UninstallWcmsJbpmProcessDefinition --&
&bean id="uninstallWcmsJbpmProcessDefinition" parent="txProxyTemplate"&
&property name="target"&
&ref bean="uninstallWcmsJbpmProcessDefinitionTarget"/&
&/property&
&property name="transactionAttributes"&
&prop key="uninstall*Wcms*Transaction"&PROPAGATION_REQUIRED,-Exception&/prop&
&/property&
我们对这个类中以uninstall开头,中间包含Wcms,最后以Transaction结尾,这样的规则命名的方法,应用了事务。
三、部分源代码:
(一)2个应用了Spring声明式事务的方法:
*使用SPring的ibatis,主要要配置iBatis的Spring声明式事务。
*@throwsException
*&prop key="uninstall*Wcms*Transaction"&PROPAGATION_REQUIRED,-Exception&/prop&
*1,还要删除所有 频道---新闻--工作流表中标记不为1的记录。
publicvoid uninstallAllWcmsProcessDefinitionsTransaction() throws Exception{
this.getWcmsSystemChannelProcessdefinitionDao().deleteAll();
this.getWcmsSystemChannelNewsinfoDao().deleteAllProcessingWcmsSystemChannelNewsinfoModule();
*&prop key="uninstall*Wcms*Transaction"&PROPAGATION_REQUIRED,-Exception&/prop&
*@paramname
*@throwsException
publicvoid uninstallWcmsSystemChannelProcessdefinitionTransaction(String name) throws Exception{
this.getWcmsSystemChannelProcessdefinitionDao().deleteByProcessdefinitionName(name);
this.getWcmsSystemChannelNewsinfoDao().deleteAllProcessingWcmsSystemChannelNewsinfoModuleByProcessdefinitionName(name);
(二)用到的Dao类,用来实际访问数据库的2个DAO对象。
*SPring管理的ibatis功能
private IWcmsSystemChannelProcessdefinitionDao wcmsSystemChannelProcessdefinitionD
private IWcmsSystemChannelNewsinfoDao wcmsSystemChannelNewsinfoD
附四、Spring中的四种声明式事务的配置
让我们言归正传吧。
以下两个bean的配置是下面要用到的。
&!-- 定义事务管理器(声明式的事务) --&
&bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager"&
&property name="sessionFactory"&
&ref local="sessionFactory" /&
&/property&
&!-- *******业务逻辑层(是对各个DAO层的正面封装)主要用到&&门面模式&&****** --&
&bean id="fundService"
class="com.jack.fund.service.serviceimpl.FundService"&
&property name="operdao"&
&ref bean="operatorDAO" /&
&/property&
&property name="producedao"&
&ref bean="fundProduceDAO" /&
&/property&
&property name="customerdao"&
&ref bean="customerDAO" /&
&/property&
&property name="accountdao"&
&ref bean="accountDAO" /&
&/property&
&property name="fundaccountdao"&
&ref bean="fundAccountDAO" /&
&/property&
&property name="fundtransdao"&
&ref bean="fundTransDAO" /&
&/property&
可能还有其他很多模块。&bean id="fundService"/&可能只是其中的模块。
第一种:配置声明式事务的方法如下。也是我们最常用的方法了,它适用于你的库表比较少的情况下。
&bean id="fundServiceDAOProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"&
&!-- 配置事务管理器 --&
&property name="transactionManager"&
&ref bean="transactionManager" /&
&/property&
&!-- 此属性指定目标类本省是否是代理的对象,如果目标类没有实现任何类,就设为true代表自己 --&
&property name="proxyTargetClass"&
&value&false&/value&
&/property&
&property name="proxyInterfaces"&
&value&com.jack.fund.service.IFundService&/value&
&/property&
&!-- 目标bean --&
&property name="target"&
&ref bean="fundService" /&
&/property&
&!-- 配置事务属性 --&
&property name="transactionAttributes"&
&prop key="delete*"&PROPAGATION_REQUIRED&/prop&
&prop key="add*"&PROPAGATION_REQUIRED&/prop&
&prop key="update*"&PROPAGATION_REQUIRED&/prop&
&prop key="save*"&PROPAGATION_REQUIRED&/prop&
key="find*"&PROPAGATION_REQUIRED,readOnly&/prop&
&/property&
以下可能还有其他的xxxServiceDAOProxy.大家可以看出针对每一个功能模块配置一个业务代理服务。如果模块多大话,就显得代码有点多了,发现他们只是稍微一点不一样。这时我们就应该想到继承的思想。用第二种方法。
第二种:配置声明式事务的方法如下。这种情况适合相对比较多的模块时使用。
&!-- 利用继承的思想简化配置,要把abstract="true" --&
&bean id="transactionBase"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
lazy-init="true" abstract="true"&
&!-- 配置事务管理器 --&
&property name="transactionManager"&
&ref bean="transactionManager" /&
&/property&
&!-- 配置事务属性 --&
&property name="transactionAttributes"&
&prop key="delete*"&PROPAGATION_REQUIRED&/prop&
&prop key="add*"&PROPAGATION_REQUIRED&/prop&
&prop key="update*"&PROPAGATION_REQUIRED&/prop&
&prop key="save*"&PROPAGATION_REQUIRED&/prop&
&prop key="find*"&PROPAGATION_REQUIRED,readOnly&/prop&
&/property&
而具体的模块可以简单的这样配置。只要指明它的parent(父类)就可以了。父类一般把abstract="true",因为在容器加载的时候不需要初始化,等到用的时候再有它的子类调用的时候,再去初始化。
&bean id="fundServiceDAOProxy" parent="transactionBase" &
&property name="target"&
&ref bean="fundService" /&
&/property&
这样配置的话,如果有多个像fundService这样模块时,可以少些很多重复的代码。
第三种:配置声明式事务的方法如下。主要利用BeanNameAutoProxyCreator自动创建事务代理
&bean id="transactionInterceptor"
class="org.springframework.transaction.interceptor.TransactionInterceptor"&
&property name="transactionManager"&
&ref bean="transactionManager" /&
&/property&
&!-- 配置事务属性 --&
&property name="transactionAttributes"&
&prop key="delete*"&PROPAGATION_REQUIRED&/prop&
&prop key="add*"&PROPAGATION_REQUIRED&/prop&
&prop key="update*"&PROPAGATION_REQUIRED&/prop&
&prop key="save*"&PROPAGATION_REQUIRED&/prop&
&prop key="find*"&PROPAGATION_REQUIRED,readOnly&/prop&
&/property&
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"&
&property name="beanNames"&
&value&fundService&/value&
&/property&
&property name="interceptorNames"&
&value&transactionInterceptor&/value&
&/property&
这种方法主要利用了拦截器的原理。
前三种方法一般都必需指定具体的模块bean.如果模块过多话,比如一个大型的网站一般有几十个模块。我们就得考虑用第四种的配置方式了。自动创建事务代理的方式了。
第四种:配置声明式事务的方法如下。
&bean id="transactionInterceptor"
class="org.springframework.transaction.interceptor.TransactionInterceptor"&
&property name="transactionManager"&
&ref bean="transactionManager" /&
&/property&
&!-- 自动代理 --&
&bean id="autoproxy"
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"&
&!-- 可以是Service或DAO层(最好是针对业务层*Service) --&
&property name="beanNames"&
&value&*Service&/value&
&/property&
&property name="interceptorNames"&
&value&transactionInterceptor&/value&
&/property&
自动代理还有一种用法就是结合正规表达式和advice使用。
&bean id="transactionInterceptor"
class="org.springframework.transaction.interceptor.TransactionInterceptor"&
&property name="transactionManager"&
&ref bean="transactionManager" /&
&/property&
&bean id="autoProxyCreator"
class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" /&
&bean id="regexpMethodPointcutAdvisor"
class="org.springframework.aop.support.RegexpMethodPointcutAdvisor"&
&property name="advice"&
&ref bean="transactionInterceptor" /&
&/property&
&property name="pattern"&
&value&.*&/value&
&/property&
这个方法可以针对具体的模块进行拦截并进行事务处理。
在你的实际项目中,你可以根据你的情况选用不同的方法。
/日 10:03:17/
阅读(...) 评论()8849人阅读
&&&&&& 在前面的介绍中,我们了解了struts的action是实现execute()方法来完成业务逻辑的,可是,在实际开发中,让一个业务逻辑对应一个Acton类是不现实的,通常我们都是在一个action中定义多个方法的。
&&&&&& 下面了解一下strtus1和struts2在一个action中处理多个方法的实现。
&&&&&&&&&& struts1中一个action处理多个方法,通过让action继承DispachAction来实现
&&&&&&&&&& 1. action继承DispachAction,并实现多个方法的业务逻辑
public class LogonAction extends DispatchAction {
public ActionForward unspecified(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
//业务逻辑
return mapping.findForward(&success&);
public ActionForward logon(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)throws Exception {
return mapping.findForward(&success&);
public ActionForward register(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)throws Exception {
return mapping.findForward(&success&);
&&&&&&&&&&2. strtus-config.xml配置文件中,每个action标签后面,加上parameter=&&这个属性
&action path=&/user& type=&com.tgb.struts1.LogonAction& name=&logonForm&
parameter=&method&&
&forward name=&success& path=&/success.jsp&&&/forward&
&forward name=&error& path=&/error.jsp&&&/forward&
&&&&&&&&&& 3. 页面提交时确定执行action中的哪个方法,如果不指定,则执行action中的unspecified()方法.
&form action=&user& mehtod=&post&&
&input type=&hidden& name=&method& value=&logon&&
&&&&&& action中定义多个方法:
public String logon(){
return&success&;
publicString register(){
return&success&;
&&&& 有三种方式可以将页面提交和action的方法对应。
&&&& (一)动态方法调用,配置文件不变,一个action类对应配置文件中一个action标签,表单提交的action不直接等于某个action的name,而是以action的name!action的方法名来提交。
&&&&1. 配置文件
&action name=&user& class=&com.tgb.struts2.action.LogonAction& &
&result name=&success&&/success.jsp&/result&
&result name=&error&&/error.jsp&/result&
&&&&& 2. 表单提交
登录:&form id=&form& action=&user!logon& method=&post&&
注册:&form id=&form& action=&user!register& method=&post&&
&&& (二)修改配置文件,将同一个action中的每个方法都用一个action标签映射
&&&&&& 1. 配置文件
&action name=&logon& class=&com.tgb.struts2.action.LogonAction& &
&result name=&success&&/success.jsp&/result&
&result name=&error&&/error.jsp&/result&
&action name=&register& class=&com.tgb.struts2.action.LogonAction& &
&result name=&success&&/success.jsp&/result&
&result name=&error&&/error.jsp&/result&
&&&& 2. 表单提交
登录:&form id=&form& action=&logon& method=&post&&
注册:&form id=&form& action=&register& method=&post&&
&& (三)使用通配符映射方式
&&& 1. 配置文件
&action name=&*User_*& class=&com.tgb.struts2.action.LogonAction& method=&{1}& &
&result name=&success&&/{2}.jsp&/result&
&result name=&error&&/error.jsp&/result&
&&&& 2. 表单提交
&form id=&form& action=&logonUser_index& method=&post&&&!-- 执行action中的logon方法,执行成功后返回index首页面 --&
&form id=&form& action=&registerUser_logon& method=&post&&&!--执行action中的register方法,执行成功后返回logon登录页面& --&
&&&&&&& 这三种方式中,使用!会暴露所使用的框架,第二种方式会使配置文件变得复杂冗余,第三种方式中和了前两种方式的缺点,建议使用通配符映射方式。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:472521次
积分:6514
积分:6514
排名:第3878名
原创:169篇
评论:595条
(2)(1)(2)(2)(2)(2)(2)(2)(1)(2)(2)(2)(2)(2)(2)(2)(4)(1)(4)(2)(4)(4)(2)(4)(1)(1)(4)(4)(5)(1)(7)(11)(1)(3)(3)(4)(4)(4)(10)(4)(2)(7)(2)(4)(4)(3)(2)(4)(4)(5)(6)(3)(4)(2)(3)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'【图片】盘点2016年必玩十大单机游戏!!【电脑吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:2,144,911贴子:
盘点2016年必玩十大单机游戏!!收藏
人生天地之间,若白驹过隙,忽然而已。转眼之间,2015年便悄然过去了。回顾2015,可以说是单机游戏如井喷的一年,各大游戏厂商如雨后春笋一般的发售着新作,先是年初的生存类游戏大作《消逝的光芒》,然后着便是让玩家爱不释手的《巫师3:狂猎》,紧接着小岛秀夫就不甘示弱发售了《合金装备:幻痛》,还没等玩家回过神的时候《最终幻想13:雷霆归来》与《正当防卫3》便悄然无声在steam上架了,最后Bethesda在年底发售玩家期盼已久的《辐射4》与Treyarch的FPS大作《使命召唤12》,为2015年的单机游戏大家族画上了圆满的句号。无论2015年给大家打来是惊喜、是快乐、是悲伤还是失望,2015已久离我们而去了。让我们放下2015年的一切,一起来看看2016会年带给我们哪些不得不玩的经典大作。
苏宁易购综合网上购物商城,全国联保,千城本地快捷配送,可门店自提,货到付款.苏宁易购,支持货到付款,7*24小时苏宁易购为您提供不间断的优质服务.
第十名:《全境封锁》根据小说家汤姆o克兰西的短篇小说《暗冬序曲》改编的游戏《汤姆o克兰西:全境封锁》(Tom Clancy's The Division)早在2013年的E3游戏大展上就被玩家所知,然而在经过多次延期跳票,直到2015年底的时候,育碧才终于放出游戏确定将于日上市。《汤姆克兰西:全境封锁》是一款开放世界第三人称射击角色扮演大型多人在线网络游戏。游戏设定在瘟疫爆发后的美国,玩家作为“全境封锁”计划的部队,在“黑色星期五”后的美国寻找一线生机。游戏的背景设置在不久的将来的纽约市。一次生化恐怖袭击引起了全球性的瘟疫危机。病毒夺去了大部分人的生命,检疫区域设立了起来,资源受到严格配给,石油钻井被抽干了,证券股市和全球市场也接连崩溃。国家机构例如警察部门和特种部队也已不复存在。在停电停水后仅仅几天的时间里,人们因为对死亡的恐惧而针锋相对。只有区区数人在一片混乱和仅存的道德秩序中站稳了身躯,他们就是“TheDivision”的成员。他们与劫匪和其他罪犯斗争,试图遏制疯狂行为,但却为时已晚。《汤姆克兰西:全境封锁》由育碧旗下的瑞典Massive Entertainment工作室一手打造、并采用自主研发的全新雪莲花游戏引擎,让玩家亲身感受到次世代的特工游戏体验。利用“雪莲花”引擎,玩家能真实感受到实时动态光照所带来的白昼变化。游戏环境的任何改变都会影响到光照效果。本作与同样为军事小说改编的《细胞分裂》不同,《全境封锁》更加注重多人模式的体验,并且打造出类似网络游戏一样持续多人连接的世界。EGX试玩版中,可以看到游戏引擎倒是很好地处理了SSR反射效果,场景爆炸效果非常棒,但周围的环境则比较静态,也没有多少可破坏物体。当然,要想得出更深入准确的分析结果,我们还需要更直接的试玩和视频,但目前从最基本的游戏画面上,我们已经可以确认,游戏画面较之于最初公布的实际视频有着明显的缩水降质。不过主机画面毕竟无法同PC画面做比较,而且毕竟是EGX试玩版可能很多地方都没有进行细节更改,瑕不掩瑜,总体来说《汤姆克兰西:全境封锁》还是一款令人期待的作品。
第七名:《黑手党3》由2K Games与Hangar 13打造的《黑手党Ⅲ》距离上一部作品《黑手党2》已经过去了5年。本作依然是以黑手党为题材的开放式游戏,采用了全新的游戏引擎,将拥有全新真实物理基础的驾车系统,并引入黑帮管理元素,同时本作甚至还会涉及马丁路德金的暗杀的真实历史事件。而且令人惊喜的是本作将有一位女性角色卡桑卓拉加入,地图面积也要比前作扩大一倍以上。本作的剧情将会更具深度,给玩家重新定义“黑手党”一词的含义。本作的时间背景设定在了60年代的美国(1968年),在新奥尔良市,主角是参加过越南战争的林肯o克莱(Lincoln Clay)。由于主人公林肯o克莱是个孤儿,他始终想找一个家一样的栖息地,于是在越战结束后他加入了“The Black Mob”黑帮组织。在一次被意大利黑社会组织策划的谋杀中,林肯o克莱幸运地幸存了下来,他在杀死意大利犯罪集团的头目后,决定成立一个自己的犯罪集团,他有三个黑道伙伴:黑人卡桑卓(Cassandra),爱尔兰暴徒伯克(Burke),以及维托o斯卡莱塔(Vito Scaletta黑手党2主角)共同对抗各种强大势力。《黑手党Ⅱ》剧情的最后,乔o巴巴罗被人带走之后的事情也极有可能会在本作之中讲述。本作将于2016年登陆主机和PC平台,据零售商透露的消息很可能为4月份正式上市。(PS:我查了下上个版本,好评不错、可玩性高,玩的话看个人喜好了,像电视改编啥的,就像那个【疯狂麦克斯】一样)
「国美在线」台式电脑能分期,0利息,货到付款,买电脑就选老品牌!「国美在线」电脑}国美在线,官方旗舰店,大品牌,好售后,购物无忧!
第六名:《镜之边缘:催化剂》 EA旗下人气作品《镜之边缘:催化剂》主角依旧为Faith,但是本作会引入更多全新玩法与设定元素,打造更真实且开放的跑酷世界。在官方发布了超长实机预告片中,柔韧少女Faith开头便秀了下腿法,接下来玩家将在第一人称超强代入情景中与游戏融为一体,感受高空跨越的惊现与刺激。《镜之边缘:催化剂》不是前作的续作而是系列重启之作,加入了开放世界以及全新玩法,,玩家的行动路线不再是固定的一条而是多样的场景和行动。在《镜之边缘:催化剂》中,玩家将经历Faith的崛起,从普通人成长为敢于对抗暴政,解开肮脏秘密的“奔跑者”。在她的旅程中,Faith将探索摩天大楼的顶端和地下的以南走廊。玩家必须学会在复杂的环境中移动攀爬,使用奔跑的动能,把握恰当的时机,对抗当局的阻挠,解开城市美好表面下的黑暗秘密。开发商DICE表示即将在PC、PS4和Xbox One平台上发布的《镜之边缘:催化剂》将使用新的硬件和更先进的渲染技术。同时也将注重CPU和GPU的显示性能,使其能够达到一个开放式跑酷游戏的需要。 DICE之所以要采用新的图形显示技术,是因为图形处理任务非常繁重,而且资金有限。DICE现在采用的这种技术是非常适用现代图形处理器和次世代主机的。这种低成本的现代图形处理技术,很大程度上减少绘制和图形显示优化所带来的困扰和工作量,通过异步计算,让硬件能够同时做更多的工作,使得DICE现在在图形显示深度优化方面更上一层楼。本作原定于2016年第一季度发售,后延期至2016年5月,同时登陆主机和PC平台。
第五名:《幽灵行动:荒野》《幽灵行动 :荒野》是《幽灵行动》系列游戏的最新作。《幽灵行动:荒野》是战术射击类游戏系列“幽灵行动”的最新续作,本作破天荒的采用了开放世界玩法,以现实世界中的真实缉毒事件为背景改编,该游戏在2015年E3展首次发布。此次幽灵小队将深入南美,粉碎崛起的玻利维亚毒品王国的罪恶意向。玻利维亚已经成为世界上最大的毒品出产国。臭名昭著的Santa Blanca贩毒集团已经让整个国家陷入了毒品泛滥状态,这里暴力滋生,人心恐慌,完全没有正义而言。美军特种部队传奇小队The Ghosts将会在敌后部署,其任务是制造混乱以打破毒品集团和腐败政府之间的肮脏勾当。在当今游戏逐渐沙盒化的影响下《汤姆克兰西幽灵行动:狂野之地》也终于演化为沙盒游戏,这次预告片相当惊艳,已知的游戏特性如下:游戏地形跨度非常之大,类似于《正当防卫2,3》、《孤岛惊魂4》、在游戏预告片中可以看到丘陵地带与雪山,游戏支持多种载具包括山地摩托、武装车辆、直升机等(标准沙盒配备),游戏自由度相当高,这点预告片已经体现出来了,从任务执行方式到任务目标的生死都由玩家来决定,每一个决定都会对动态游戏世界造成影响。根据育碧经理的说法,本作主打4人合作对抗毒枭,不过单机亦可游玩整部游戏,同前作一样,可以与三位AI角色共同战斗。不过育碧的AI一直是令人堪忧,希望在本作中能得到提升。本作将于2016年发售,具体时间未定,登陆主机和PC平台。
第四名:《杀手6》《杀手6》是一款Io Interactive制作、Square Enix发行的动作冒险游戏。《杀手》系列团队IO Interactive通过一份玩家公开信正式公布了系列新作,同时发布了一张杀手47在机场候机厅的图,航班赫然包括了广州,香港,维也纳,莫斯科等地,47要进行全球任务行动。原定于2015年年内上市,后跳票到日发售,同时将采取类似《生化危机:启示录2》的章节式数字版发售形式,并且采用“早期载入”的配信方式,不含微交易或DLC等追加要素。官方通过与前作对比阐述了该做的规模,延期即为这样级别的游戏打磨最佳,据悉,本作试玩版采用的巴黎之章,其地图为《杀手:赦免》霍普镇的6倍,这还不是新作最大的地图。另外,可暗杀的契约模式NPC达1300个,前作为50个,加之更多挑战,为用户打造更棒的游戏,官方表示正式发售将比原计划加入更多的内容。《杀手5》采用数字版发行,但不包括全部内容,其新内容将通过DLC形式发布,包括Xbox One,PS4,PC平台。据悉,本作是3A级制作,讲述黄金时期的47号进行环球旅行,在戴安娜和ICA的支持,执行全球猎杀任务,可以说是杀死系列的回顾作品。该作依旧包含系列核心元素,玩家可以使用众多道具在全球各种奢华,奇异的地方完成暗杀任务,采用冰川2引擎打造,吸收《赦免》,《血钱》的精华,制作一款另粉丝满意的作品。除了借助新引擎营造超逼真的细节,该作还将是一款开放世界,非线性的游戏,随意存档,沙盒玩法。
第二名:《黑暗之魂3》《黑暗之魂3》是From Software开发,Namco Bandai 发行的一款角色扮演游戏。为《黑暗之魂2》续作。《暗黑之魂》系列一直以高难度高技巧闻名,黑暗之魂3》是该系列的第三部正统作品,在保证系列一贯的超高难度之外,更加强调了游戏的可玩性。根据Miyazaki所说,《黑暗之魂3(Dark Souls 3)》总体和《黑暗之魂》非常相似,继承了大部分的特性。但新作扩展了角色创建和战术选项,加入了新的动作元素,更加有角色扮演的感觉。比如,短弓上可以配上火焰来增加伤害,行走时翻滚的动作看起来更加流畅。相比前作而言,《黑暗之魂3》的画面有了很大的提升,BOSS使用的各种炫酷技能也是让玩家眼花缭乱。另外值得说的是,本作借鉴了《血源诅咒》的操作,让玩家可以更灵活的控制自己的任务,并且给予了合理的力振动反馈;玩家的操作不再受到限制。同时本作将有类似于《鬼泣》系列的挑空系统——虽然我们不知道魂3中的挑空系统是否会和其他动作游戏那样进行多段数的连击,但既然在本作中拿出来说了,想必应该是可以进行简单追击的。挑空系统在1代和2代中也有存在,只不过并不能追击,不如称为 “击飞”。我们希望黑魂3中的挑空能够带来全新的连技系统。随着发售日期的来临,玩家们在欢呼雀跃的同时也难免会感到不舍,因为官方已确认《黑暗之魂3》将是“黑魂”系列的最终作品!《黑暗之魂3》虽然是系列的最后一作,但同时也会是系列最精彩的一作。因为在这一代中,《黑暗之魂》之父宫崎英高亲自披挂上阵,再次担任《黑暗之魂》系列的游戏总监。相信跟随这位天才游戏制作人到来的,还有那让充满挑战性的黑暗魔幻世界。让我们共同期待《黑暗之魂3》的降临吧!《黑暗之魂3》将于日登陆 PS4/Xbox One 平台,日(日本地区),4月13日(其他地区)登陆PC平台。
你们电脑都是些什么配置,参考下,电脑不行了
大爱楼主,怎么没有我大极品飞车呢
为什么无COD
火钳刘明 lz头像是自拍?
全境封锁不是 单机
一款都没玩过,现在的游戏不用上网联机,都是超强AI BOT陪你团队击杀,老兵AI 模式 基本不是对手。找不回以前玩游戏的激情和热闹了。
都是要钱的吗
质量效应啊啊啊啊
登录百度帐号推荐应用}

我要回帖

更多关于 大型动作类单机游戏 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信