kawaks1.48 怎么用是用什么程序编写的

在上面一篇文章《》中,我提到最近一直为一个项目进行Code Review的工作,从中发现了一些问题,同时也有了一些想法。上次谈到如何正确编写服务MVP规范的程序,这次我们来关注一个我们每天都会面对的问题:异常处理。 一、异常处理不简单 个人觉得,异常处理对于程序员来说,尤其是对于那些初级.NET程序员来说,是最为熟悉的同时也是最难掌握的。说它熟悉,因为仅仅就是Try/Catch而已。说它难以掌握,很多开发人员却说不清楚Try/Catch应该置于何处?什么情况下需要对异常进行日志记录?什么情况下需要对异常进行封装?什么情况下需要对异常进行替换?对于捕获的异常,在什么情况下需要将其再次抛出?什么情况下则不需要。总之,异常处理没有我们想象的那么简单。 无论对于何种类型的应用,异常处理都是必不可少的。合理的异常处理应该是场景驱动的,在不同的场景下,采用的异常处理策略往往是不同的。异常处理的策略应该是可配置的,因为应用程序出现怎样的异常往往是不可预测的,现有异常策略的不足往往需要在真正出现某种异常的时候才会体现出来,所以我们需要一种动态可配置的异常处理策略维护方式。目前有一些开源的异常处理框架提供了这种可配置的、场景驱动的异常处理方式,EnterLib的Exception Handling Application Block就是一个不错的选择。 二、异常处理对于最终的开发人员是透明的 “异常处理对于最终的开发人员是透明的”,可能这句话说得有点过头。但是,就我个人的项目经验来讲,这是一种理想的状态。由于异常策略是一般是通过配置动态配置的,不需要反映在代码上面。如果能够通过框架的方式提供异常处理的实现,使开发人员无需编写任何异常处理的代码,只需要关注业务流程的实现就可以了,这不仅能够提高开发的效率,也能够提高系统的可维护性。 我们目前的项目是一个典型的分布式应用,所有的业务流程的处理和数据访问都实现在服务端,最终以WCF服务的形式暴露给客户端(Smart Client)和第三方应用。所有客户端和服务端从逻辑上具有相应的层次划分,但是异常处理仅仅实现在两个地方,一个地方是WCF服务本身,另一个实现UI层。忘了说明一点,我们项目直接将EnterLib的Exception Handling Application Block作为我们的异常处理框架。对于服务端的异常处理来说,我们通过WCF与EHAB的集成来实现的(《》),所以不需要开发人员添加任何一句Try/Catch代码。但是客户端来说,对于某个控件的事件来说,由于UI本身就是处于整个调用栈的最顶层,很难通过基于AOP的拦截机制来实现对异常处理的动态注入,所以客户端会出现非常类似于下面代码所示的Try/Catch。
1: private void buttonCalculate_Click(object sender, EventArgs e)
catch (Exception ex)
if (ExceptionPolicy.HandleException(ex, "policyName"))
我是一个对重复代码具有强迫症的人,看到两个相同的代码我都有对代码进行重构的冲动,何况如此众多的相同代码充斥在客户端。
三、通过编写公共方法的形式实现代码的重用
为了避免开发人员编写相同的Try/Catch,很多人首先想到的肯定是将重复代码定义在一个公共的方法上,以实现代码的复用。这个公共方法很简单,只需要如下几句代码即可。
1: public void Invoke(Action action)
catch (Exception ex)
if (ExceptionPolicy.HandleException(ex, "data access policy"))
在调用的时候,只需要将相应的操作以Action类型的Delegate的形式传入Invoke方法即可。但是这样,也会在所有控件处理事件中出现重复的Invoke调用,虽然重复的代码行数减少了,但是还是会出现大规模的重复。接下里我来介绍另一种解决方法。
四、对EventHandler进行封装
认真分析上面的需求,我们的根本目的就是让执行事件处理程序的时候在外面人为地套一个Try/Catch,并对捕获的异常进行相应的处理。从这个意义上讲,如果我们能够对EventHandler或者ExventHandler&TEventArgs&进行相应的封装,就能实现我们需要的目的。
可能我这样说,你不会太明白,我们还是通过代码来说话好了。在下面我创建了一个用于封装EventHandler对象的EventHandlerWrapper类型。我们知道EventHandler是一个Delegate,而Delegate由两部分组成:表示操作本身的MethodInfo和操作执行的目标对象,分别通过属性Method和Target表示。在执行EventHandler的时候,就是通过反射的方式调用MethodInfo的Invoke方法,并将目标对象和相应的参数传入该方法而已。
1: using S
2: using System.D
3: using System.R
4: using System.T
5: using System.Windows.F
6: namespace ProgramingWithoutTryCatch
public class EventHandlerWrapper
public object Target
{ private }
public MethodInfo Method
{ private }
public EventHandler Hander
{ private }
public EventHandlerWrapper(EventHandler eventHandler)
if (null == eventHandler)
throw new ArgumentNullException("eventHandler");
this.Target = eventHandler.T
this.Method = eventHandler.M
this.Hander += I
public static implicit operator EventHandler (EventHandlerWrapper eventHandlerWrapper)
return eventHandlerWrapper.H
private void Invoke(object sender, EventArgs args)
this.Method.Invoke(this.Target, new object[] { sender, args });
catch (TargetInvocationException ex)
StringBuilder message = new StringBuilder();
message.AppendLine(string.Format("Message: {0}", ex.InnerException.Message));
message.AppendLine(string.Format("Exception Type: {0}", ex.InnerException.GetType().AssemblyQualifiedName));
message.AppendLine(string.Format("Stack Trace: {0}", ex.InnerException.StackTrace));
EventLog.WriteEntry("Application", message.ToString());
MessageBox.Show(ex.InnerException.Message + Environment.NewLine + "For detailed information, please view event log", string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error);
EventHandlerWrapper通过EventHandler对象创建,并将EventHandler的Target和Method赋值给EventHandlerWrapper的同名属性。此外,EventHandlerWrapper得Invoke方法中,将对Method的调用放在一个Try/Catch中,并对捕获的异常进行简单的处理:记录到EventLog中在通过MessageBox将相关异常信息显示出来。而EventHandlerWrapper的Handler属性就是对该Invoke方法的直接反映。最后定义了一个隐式类型转换将EventHandlerWrapper直接转换成EventHandler。转化后返回的就是反映Invoke方法的Handler属性。为了演示,我写了一个简单的计算器的应用。该应用运行后的界面如右图所示,这是一个进行简单除法运算的计算器。 下面是相关的代码:
1: using S
2: using System.Windows.F
3: namespace ProgramingWithoutTryCatch
public partial class Form1 : Form
public Form1()
InitializeComponent();
this.buttonCalculate.Click += new EventHandlerWrapper(buttonCalculate_Click);
private void buttonCalculate_Click(object sender, EventArgs e)
int op1 = int.Parse(this.textBoxOp1.Text);
int op2 = int.Parse(this.textBoxOp2.Text);
int result = op1 / op2;
this.textBoxResult.Text = result.ToString();
代码非常简单,需要注意的是在对Button的Click事件进行注册的时候,我们直接使用的时我们上面创建的EventHandlerWrapper,这和真正进行事件注册的方式几乎一致。当你输入非数字或者被除数设置为的时候,会抛出异常,异常的相关信息会直接写入EventLog,并将异常消息通过MessageBox显示出来,如下图所示:
五、通过EventHandlerWrapper的写法实现其他的功能
EventHandlerWrapper实际上为了展示了对EventHandler进行封装的方式,异常处理并非其独有的应用场景。如果你看过我的文章《事件 (Event),绝大多数内存泄漏(Memory Leak)的元凶()()》,你会发现我通过相同的方式解决了事件注册导致的内存泄露的问题。在这里我在介绍另外一种有趣的应用。
在进行Windows Forms开发中,相信你会经常要求实现这样的功能:如果点击某个按钮后,需要较长的反映时间,需要在点击之后将Form的光标设置成沙漏的形状(Wait Cursor),当整个处理结束后再将其回复。我们可以对EventHandlerWrapper的Invoke方法略加修改就能够实现这个功能:
1: private void Invoke(object sender, EventArgs args)
if(null !=
Form.ActiveForm)
Form.ActiveForm.Cursor = Cursors.WaitC
this.Method.Invoke(this.Target, new object[] { sender, args });
if (null != Form.ActiveForm)
Form.ActiveForm.Cursor = Cursors.D
作者: 出处: 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
阅读(...) 评论()点击链接开始下载Kawaks模拟器 合金弹头问题_百度知道
Kawaks模拟器 合金弹头问题
怎样开始啊?另外怎样调双人游贰涪弛菏佾孤崇酞搐喀戏{按哪个键}?再求单人,双人键位(默认的)?快......
看在这么多分的份上,就不能完整点么?
1.48 XP的版本啊!贰涪弛菏佾孤崇酞搐喀! !
后几位答的不错,但我要的是一号和二号一起玩!
提问者采纳
w=上,s=下,a=左,d=右 1p↑=上,↓=下,贰涪弛菏佾孤崇酞搐喀←=左,→=右2人开始:112J 1小键盘
采纳率100%
其他类似问题
按默认排序
其他16条回答
楼主你好,既然你愿意出200分,我就一一回答你的问题:01:怎眼开始?:双击 kawaks ,文件--载入游戏--找到你的游戏,双击或者点右边的确认02:怎样调双人游戏?进入游戏后,游戏,-重新定义按键--重新定义玩家1的按键,或者重新定义玩家2的玩家2的按键,注意两贰涪弛菏佾孤崇酞搐喀个晚间的按键不要冲突。进入重新定义的界面后,鼠标单击你想要的,然后按一下键,就OK了。03:怎样不反复定义:游戏,保存按键设置为默认值04:补充:游戏--Neogeo设置--家用机(不用投币)
游戏--Neogeo设子--街机(投币)不会的话,联系我,百度留言,我直接给你做个教学视频,
键位设置:进入游戏后----在方框上面找到“GAME”----自定义键位设定玩家1、2的设定:摇杆的上下左右代表方向,右边有上下2排共6个的按钮,在上面一行,从左向右,依次是开枪,跳跃,手榴弹,根据自己的喜欢和习惯设定这些键位。投币键在右上方,中间有一个小人图案的是开始键;游戏中需要投币才能开始。
打开模拟器,文件(FILE)-开始游戏(LOAD GAME)-双击那个合金弹头游戏-要进入游戏后才能自己配置控制器 -游戏(GAME)-重新定义键位(REDIFINE KEYS-REDIFINE KEYS player1 是配置1p,player2是2p)。左边摇杆是方向键(1p我设W S A D ,2P是默认的方向键) 有个人头下的那个键是开始键设为1,右边一点的那个是投币(COIN)设为F1.下面那六个键,其实合金弹头只要第一行三个键就行了,1P我设为U I J分别是开枪,跳跃,扔雷(你可自定义)。2P的你可设右半键盘的几个键,自定义。这样设定后,先按F1投币,然后按1开始就可以了,2P的开始键设为2的话,按2
2P也出来了
打开程序,左上第一个,载入游戏,然后选要载入的,当然首先你ROMS里面要有游戏2设置键位
游戏.自定义键位设置.里面有1P和2P要调双人游戏,就在设置键位里根据你设置的按钮调出来
前几位老兄说的太复杂,打开后单击GO 然后点载入游戏,如果你想玩的话,在双击合金弹头X,按1是一号位玩,3是二号位玩!玩的快乐!!!!!!!
1号和2号一起玩的话,不知道这模拟器有没有联机版本你可以去网上搜下要是有联机的,开2个模拟器,再连起来就行了
LZ,如果你是用键盘的话,载入游戏后,1P按键盘1开始,2P按键盘3加入,1P开始以后2P才能加入默认键位:1P:1=投币,w=上,s=下,a=左,d=右,u=炸弹,j=攻击,k=跳,L=跳起来扔炸弹完了攻击(在乘物上不建议使用,因为按了乘物会自爆)2P: 3=投币,↑=上,↓=下,←=左,→=右,小键盘4=炸弹,小键盘1=攻击,小键盘2=跳,小键盘3=跳起来扔炸弹完了攻击(在乘物上不建议使用,因为按了乘物会自爆)我知道的就是这些了。。。
参考资料:
载入游戏后,用鼠标单击模拟器上的游戏,跟着找重新定义键位设定那里有一个1 2 3 4的定义键位,按开始的话就要把那个有个硬币有一个小人的那个键修改就可以了
楼主 我能理解你的心情但是 你觉得 这样说 你能看的懂吗?最简单的办法你加我的百度HI我会告诉你 解决办法
那个Kawaks模拟器我就在用的,你去工具栏选择“游戏”再选择“重新定义按键...”你就看到了。
1、打开后单击GO 选中游戏,然后点载入游戏 1p按2下1,等选人时再按2。就是双人游戏。点菜单上的game,点自定义键位设置,1p按玩家1,2p按玩家2. 1p上w下p左a右d,j射击k跳u扔手榴弹
2p方向键控制
1射击2跳4扔手榴弹
去下个中文版本的模拟器吧~
F1 F2或者(1和2不是小键盘的)
找那个K字形状图标开始,载入游戏,设置
QQ加我,模拟器游戏我每天都玩.再熟悉不过了.
用kawaks 1.45模拟器玩街机游戏,不管玩什么游戏,飞行射击的、比武的、过关的都可以设置连发! 如果你玩的是比武类型的游戏街头霸王II - 四大天王(国际版 910214),假如你设定的轻拳键是键盘上的“J”(我设的轻拳就是J,中拳是K,重拳是L),那么你如果按“J”的话就是轻拳,但是只一下,如果想继续用轻拳就必须再按“J”,那么怎样才能按住“J”不放就能让轻拳连击呢? 1、首先,你打开电脑上的kawaks 1.45目录,找里面有一个“ini”的文件夹(比如我的就在C:/kawaks/ini), 找“街头霸王II - 四大天王(国际版 910214)”这个游戏对应的ini,就是sf2ce.ini。不知道游戏名没关系,打开kawaks模拟器,菜单-文件-载入游戏,就出现一个匡,看左边,有系统、标题、驱动、父四项,这里,标题就是游戏的中文名,驱动就是ini文件夹里游戏对应的名字。 2、然后,打开sf2ce.ini记事本,找[Macros]一段,在“; Macros for player 1 ”(表示玩家1)下面,你会发现有 Macro1A= Macro1B= Macro1C= Macro1D= Macro1E= Macro1F= Macro1G= Macro1H= Macro1I= Macro1J= Macro1表示玩家1,ABCDEFGHIJ表示你能设置10个宏。 3、如果想要轻拳连发,就在“Macro1A=”后面打上1+,+(1、+是干什么用的,下面将说到)!打上后就是Macro1A=1+,+ 然后菜单-文件-保存,关掉sf2ce.ini记事本。 切记,前3饿步骤要把模拟器关掉,否则设置不能成功! 4、打开模拟器,菜单-文件-载入游戏,选街头霸王II - 四大天王(国际版 910214),将这个游戏运行, 再 菜单-游戏-重新定义键-重新定义玩家1的按键,出现一个匡,匡下面有个宏,10个宏设置,第一个就是刚才在sf2ce.ini记事本里写的“1+,+”,“1+,+”左边有个字母,不用管他什么字母,鼠标左键点击字母,如果你想轻拳连击设置按键“H”,就按“H”,如想设置“G”就按“G”,然后确定,OK了!游戏中,你会发现按住“H”不放就会轻拳连击了! 那么,上面说到的1、+是干什么用的呢? 街机游戏一般分为过关类、飞行射击类、比武类等等 1、过关类一般除了四个方向键,还有两个键,一个是攻击,另一个是跳。过关类游戏大都是两个,不排除例外,如合金弹头就有3个,一个攻击,一个跳,还有一个是手榴弹 攻击键就是1,跳是2,如果你上面写“2+,+”, 那么就是连续跳了 2、飞行射击一般除了方向键盘,也有两个键,一个是射击,一个是雷 同样,射击键是1,雷是2,如连续射击就是1+,+ 连续放雷就是2+,+ 3、比武类就多了,如街霸是6个:轻拳1、中拳2、重拳3、轻腿4、中腿5、重腿6,拳皇则是4个:轻拳1、重拳2、轻腿3、重腿4 如轻拳连击就是1+,+ 中拳连击就是2+,+ 依次类推 下面在给你个资料: kawaks还有一个很Cool的功能通过宏定义来发出一系列的招数,为了创建自己的绝招必需要了解宏定义指令的写法.宏定义的具体描述符号:U=上 D=下 F=前 B=后 DR为右下、UL为左斜跳、其它以此类推 1=按键1 2=按键2 3=按键3 4=按键4 5=按键5 6=按键6 S=开始 ,=下一帧,兼有停顿的作用 +=表示在宏定义的招式发出的同时接受其它操作指令的输入.知道了意义后就可以自己编写啦,因为每个游戏都有不同的ini设定,所以要改先要到ini文件目录下打开相应的文件,如修改Kof2000则打开kof2000.ini再找到[Macros]一段进行修改,这里以几个简单的例子说明,要发出街霸中的波动拳可以设定Macro1A=D,DF,F1 分析一下就是一个从下旋到前并且按拳的操作,要设定AB键连按用Macro1A=12+,+表示AB在同一时间按.要设定A键连发用Macro1B=,1+只要按住就能连发啦.要设定顺序输入A、B用Macro1A=A,B ,表示顺序输入.基本的知道后来看些复杂的吧,要发出侍魂2中霸王丸的天霸封神斩用Macro1A=df,b,bd,d,df,f,b,d,bd,23+(注意定义的时候不要用r与l最好用fb表示前后那么无论你在那一边都能发出绝招啦).又如豪鬼的瞬狱杀用Macro1F=1,,1,,L,,4,,3.象春丽的百裂脚可以用Macro1J=4, 只要长按就可以使出啦.宏定义做好后,不要忘了把他们加载上宏操作键上,格式为 Key_Macro1A executes Macro1A(将宏定义A加载于宏按键A上)再保存ini文件重新加载游戏使用你定义好的宏按键就能发出绝招啦,我这里只作简单的介绍更复杂的留给大家慢慢做吧.
kawaks模拟器的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁kawaks改键设置_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
2页免费3页免费5页1下载券2页1下载券3页免费 1页1下载券1页1下载券9页免费3页3下载券3页7下载券
喜欢此文档的还喜欢27页免费12页免费9页免费2页免费21页1下载券
kawaks改键设置|
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢如何使用街机模拟器联网游戏
现在大多数模拟器的联网功能主要是靠“kaillera”来实现的,要想实现联网玩游戏,你必须有一个kaillera的客户端和一个服务器端的程序,客户端现在大多在模拟器中自带,而服务器端则是一个单独的程序。kaillera有多种操作系统,而大多是在windows下,好了废话不多说,看下面吧。&&&&&&&&&&&&& INTER网联网
  1.& 首先,你的PC机子必须连接到网上(废话)
  2.& 启动kawaks模拟器,选择菜单项:File---StartnetPlay(文件---开始联机游戏),这时将出现aillera客户端登陆界面,最下面的Username是填写你自己在联网时用的用户名(随便取一个吧),右面Connectiontype为连接方式,一般用Excellent,最上面有五个页面,分别是All servers(当前在线服务器) ,Recent(最近登陆过的服务器), Favorites(我最喜欢登陆过的服务器), Waiting Games(当前处于等待加入的游戏), Options(选项)。
  3.& All servers
  当我们选择Start netPlay(开始联机游戏)后,等一会就会出现所有服务器列表,在这里主要是看ping值。ping值越小网络速度越快,联网游戏的效果也好(你也不想被比你差的人P吧),所以选个小一点的吧。
  4.& 登陆服务器
  你可以在列表中选择自己想进入的服务器,进入后会又出现在一个框框,最下面一栏(Currentgames),就是服务器当前已经创建的游戏列表,其中处于Waiting等字样的游戏,说明那个游戏尚未开始,你可以进入,而处于Playing的表示游戏已经开始,此时不能加入了。你也可以在服务器上创建自己想玩的游戏并等待别的玩家加入,方法是:点击“Create new game”按钮,选择你想玩的游戏即可。如果确诊大家都准备好了,就可以开始游戏了,点Startgame,旁边有个Kick是表示踢出去(对手太历害的话就用它吧,呵呵...)在游戏中创建游戏的人是1P。你在加入别人创建的游戏的方法是:点击Join按钮。
  1.你必须使用与他人相同类型(版本号可以不同)的模拟器,以及相同的ROM,否则你无法加入游戏。
  2.在游戏时最好用那个最小的窗口,这样速度有可能会增加,不过在联网时,不要启动Combo宏,或是Cheat,否则会引起不同步。
局域网联网
  1。& 首先,从下载客户端压缩包(Windows版),解压后可以看到有三个文件,其中Kaillerasrv。txt为说明文件,kaillerasrv.exe为服务器端执行程序,而kaillerasrv.conf则为服务器端的配置文件,实际上创建服务器的主要工作就是对配置文件的定制,只要设置好kaillerasrv.conf后,以后直接运行程序就可以了。
  2。& kaillerasrv.conf配置主要是只改其中的一小部分,用记事本打开kaillerasrv.conf(在kaillerasrv.conf上按住Shift点击右键,打开方式,选记事本)。
  Kaillera server config file;
  ServerName can be up to 64 characters long.ServerName=Unknown serv0r;
  Location can be up to 64 characters long.Location=Unknown location;
  URL can be up to 128 characters long. (ex: /)URL=MaxUsers=2&& (服务器最多人数限制10人,你可改为你喜欢的数)Port=27888;
  Set Public to 0 if you want to run the server on a private LANPublic=0&&&& (如果是局域网的话改为0);
  Use this parameter if you want to manually specify your server's;
  IP address or leave blank for automatic;
  (ex: IP=154.253.21.56)IP=192.168.11.111&&& (你的IP地址,你在下面说明); Messages flood protection;
  FloodMsgNb is the max. number of times a same message has to;
  be received in FloodMsgTime seconds.FloodMsgNb=5FloodMsgTime=3;
  Minimum ping restriction (in ms);
  0=disabledMinPing=0;
  Maximum connection setting restriction;
  0=disabled, 1=Bad, 2=Low, 3=Average, 4=Good, 5=Excellant, 6=LANMaxConnSet=0;
  Message of the Day;
  Note that you can stack “MotdLine” options;
  MotdLine=Welcome to unknown serv0r! You can;
  MotdLine=see our website at http://web.site/;
  AllowWebAccess (1=yes,0=no)AllowWebAccess=1;
  End of Kaillera server config file
  只改后面加了注示的就可以了,你的IP地址获得方法: 在网络邻居上点鼠标右键------属性-----TCP/IP那行双击,就会有IP了,如果你是自动获取IP的话,你每次想局域网玩游戏时,都要把kaillerarv.conf里面的IP改一下。
  3.& 配置完后记得要保存一下哦,然后启动kaillerasrv.exe,再启动Kawaks.exe,进入联网,在Enter IP处写上你的IP,然后在另一台机子上也打开Kawaks.exe,进入联网,在Enter IP处写上"你的Ip"(第一台机子的IP),后Connect,然后做什么都会了吧。好了,就写到这里了,好好玩吧^_^
MAME32K联网教学及Kaillera Server使用说明
  本教学是根据本人很久以前写的一篇类似文章,结合某无名氏写的另一篇教学综合改进而成(作者没署名,没办法...),教学采用的是MAME32K 0.67.92中文版(clone),附带kaillerasrv使用说明,其他联网模拟器使用方法和它是类似的,因此,就算不用的话本教学也能作为参考。 (所有的东西请去FAQ置顶大礼包下载)由于很多人对这个模拟器了解不是很多,所以,在教学正文开始前,有必要简单介绍一下MAME32K,解决一下大家心中可能存在的几个疑惑:
1. MAME32K究竟是什么?
  模拟器联网基本用的都是kaillera,而MAME32K是kaillera官方根据原版MAME编写的专门用于联网的街机模拟器。
2. 为什么要推荐MAME32K作为联网模拟器?
  首先,MAME的优越性不言而喻,MAME支持最多的街机基板模拟,这是其他模拟器无法与之相提并论的,就网战最受欢迎的NeoGeo格斗游戏来说,MAME的出招手感也很好;其次,正是因为它是kaillera官方开发的,所以它的联网稳定性是所有街机模拟器里面最好的,基本不会出现不同步的现象,而且,kaillera是面向MAME开发的,用MAME以外的模拟器联网都会使稳定性有不同程度的下降;另外,MAME32K附带很多联网专门功能,这些在下面会一一予以介绍。
3. 为什么要推荐这个版本的MAME32K?
  MAME32K官方在很久以前就停止更新了,造成romset未得到及时更新。这个clone版本在原版MANE32K 0.67的基础上对romset进行了重新校验整理,和官方MAME 0.90同步,而且还是中文版,因此,推荐这个版本的MAME32K是有理由的。而且,只要rom是一样的,不同版本的MAME32K可以实现联网,版本不同对联网的影响很小。
4. 既然MAME32K那么好,为什么网上大部分人却在用WinKawaks(主要是Kawaks1.45)联网?
  用Kawaks的人多是有一定原因的。第一,Kawaks群众基础比较深厚。MAME32K只是一个联网用模拟器,一般没人用它玩单机;第二,Kawaks容易上手,很多人对MAME系列模拟器敬而远之;第三,随大流的人比较多,这也没办法,看大家都在用,自己也用喽;第四,网上联机以拳皇97,98为主,对于这两个游戏,Kawaks基本能满足要求。综上,现阶段联机Kawaks大行其道是没办法的,不过,只要大家能改变自己的传统观念,勇于尝试新鲜事物,那么,总有一天,健康的网战环境是可以被创造的。事实是,MAME32K联网比Kawaks强太多了,两者根本就没法相提并论。
下面开始教学的正文,教学只讨论MAME32K联网部分的使用,MAME通用部分略。
  i)在联网之前先设置好你的模拟器,设置的方法和原版MAME基本一样,这边就不重复了。所要说明的一点是,联网时无论你是1P还是2P,3P,4P,键位都以你所设置的1P键位为主。偶尔出现键位错乱或失效的情况(这并不是模拟器的bug,一般都是自己操作失误造成的),把cfg文件夹下的配置文件全删除,再重新设置一下即可,这点和原版MAME是一样的。
  ii)设置完成后,在“文件”(File)菜单下面选择“使用Kaillera联网游戏”(Play Network Game),出现如图1的窗口。
  这就是Kaillera的主体界面,窗口分为几个部分,下面一一说明。
  中间窗口主体为服务器列表,显示了服务器的详细信息,包括服务器名称,位置,Ping值,Kaillera版本,人数,游戏数和服务器IP(这个标签隐藏起来了,需要手动拖出来...),大家可以根据需要选择服务器进入,当然Ping值越低越好。
  主体窗口的上方,为几个标签。可以按照需求分别点击,对服务器列表进行排序。分别为:All servers——所有服务器;Recent——最近使用的服务器;Favorites——最喜爱的服务器(此功能目前不可用);Waiting games——已建好的等待中的游戏,里面详细写明了游戏的各种信息诸如游戏名,使用的模拟器,游戏人数等。Options——设置。里面的设置很简单,比较次要,比如说可以设置退出时的留言等,这里就不介绍了。
  主体窗口的下方,分别为使用者的名字(Username)和联网的方式(Connection type),自己根据情况变更即可。
  最下方的几个按钮,分别为:Connect——选定服务器后点击这个按钮或者双击就能进入服务器;Refresh list——刷新服务器列表;Enter IP——如果知道服务器IP的话,点这个直接输入IP即可;About——Kaillera的程序信息;Cancel——退出。(按钮被黑色色块遮住的问题下面会告诉你解决办法)
  iii)选定服务器进入后,出现新窗口,如图2
  窗口右边为使用者列表;中间的Chat框方便玩家进行交流;下方为建立好的游戏列表,你可以加入(选中点Join,或双击)已建好的游戏,也可以自己新建(Creat new game)一个新游戏等别人加入,一切就绪后主机点Start game就行,主机有踢人(Kick)的权力。
  iv)MAME32K独有功能。
  1. 网战录像。主机建好游戏后,按住CTRL+SHIFT(此为默认键位,当然你也可以自己改,下面所说的均是默认键位),再点Start game。网战录像回放时选择“文件”(File)菜单中的“回放Kaillera输入”(Playback Kaillera Input)即可。
  2. 传送DIP设置。DIP设置即机台设置,可以设置游戏难度,游戏人数,投币情况,NeoGeo游戏可以设置家用机/街机模式等。游戏开始后,按Tab键进入Dip Switches,在里面设置好后,按住左SHIFT+F10传输DIP设置,然后按F3重启游戏即可。
  3. 热键。虽然通过合理的设定,原版MAME同样可以达到热键的效果,不过MAME32K方便了大众,在键位设置里面可以直接找到相关的设置。
  4. Reset万一发生不同步现象(这种情况发生概率在MAME32K这里很小),可通过按F3重启游戏达到恢复同步的效果。一般模拟器要是不同步的话,基本只能重启模拟器了,再不行就只能重启电脑了。
  v)MAME32K的几个小问题。
  1. 关于游戏刷不出的问题。这个是MAME32K的一个bug.rom放在指定路径后,按F5刷新游戏列表会刷不出游戏。此时,你点击窗口左边的“拥有游戏”(Available),再点击一下“全部游戏”(All Games),然后再点回来就能看到了。
  2. Kaillera主体窗口的按钮被黑色色块遮住。这个只发生在XP系统下,右键点击MAME32K的exe文件---属性,在兼容性一栏里面把“禁用视觉样式”选上即可解决。
  3. 刷不出服务器。这个和Kaillera的服务器有关系,经常会出现这种事情,哪个模拟器都一样,这时就只能直接输入服务器IP了,一般过几天会恢复正常的。
下面介绍一下自己建立服务器的方法,局域网和公网均可,以局域网联机着重说明。
  首先主机要下载Kaillera Server,大家可以到它的主页去下/download.php
  然后把下载完的Kaillera Server放在你的模拟器根目录下面,用记事本打开kaillerasrv.conf,在里面找到IP=,填上你的IP地址,比如:192.168.0.1,public=一项填0,公网的话填1。
  最后打开kaillerasrv.exe,再打开MAME32K,其余步骤同一般联机,只不过需要直接键入IP地址。局域网内其他子机只要键入主机的IP就行了,不需要Kaillera Server。
服务器配置文件说明(kaillerasrv.conf):
  Kaillera server config file;
  ServerName can be up to 64 characters long;
  服务器名称ServerName=浮游城;
  Location can be up to 64 characters long;
  主机名称Location=chinaemu server;
  URL can be up to 128 characters long。 (ex: /);
  网址或IP地址URL=http://bbs.chinaemu.org/;
  最大用户数量MaxUsers=20;服务器端口号,默认27888Port=27888;
  Set Public to 0 if you want to run the server on a private LAN;
  服务器模式:0为局域网,1为公网Public=1;
  Use this parameter if you want to manually specify your server's;
  IP address or leave blank for automatic;
  (ex: IP=154.253.21.56);你的服务器IP地址IP=154.253.21.56;
  Messages flood protection;
  FloodMsgNb is the max. number of times a same message has to; be received in FloodMsgTime seconds。FloodMsgNb=5FloodMsgTime=3;
  Minimum ping restriction (in ms);
  0=disabledMinPing=0;
  Maximum connection setting restriction;
  0=disabled, 1=Bad, 2=Low, 3=Average, 4=Good, 5=Excellant, 6=LANMaxConnSet=0;
  Message of the Day;
  Note that you can stack "MotdLine" options;MotdLine=欢迎加入中华模拟器联盟;
  MotdLine=http://www.chinaemu.org/;
  AllowWebAccess (1=yes,0=no)AllowWebAccess=1;
  End of Kaillera server config file
  你有KAWAKS这个模拟器吗?如果没有请到下载...下载完了了吧...呵呵...先把下载的模拟器解压缩了...然后运行程序,好了我们开始配置模拟器然后去网上对战咯...选择CONFIGURE PATHS---&下一步...
  配置你的ROMS的所在目录...你一定要选好哦...不然没有ROMS就玩不成游戏了...HOHO...那就不好了...不过ROMS4:这个目录不要更改因为我在模拟器本身这个目录里加了一个NEOGEO.ZIP这个NEOGEO.ZIP的作用是SNK-ROMS的BIOS文件没有这个文件怎么运行SNK的游戏?怎么运行KOF哦...HOHO...配置好ROMS目录了吗?好了下一步了---&
  这步是配置视频选项的...选择VIDEO---&SELECT VIDEO BLITTER---&KREED BLITTERS(MMX AND 16BPP ONLY)---&选定2XSAI& 选好了之后画面是不是更清晰了?呵呵...就是嘛...这样选没有错的...:) 又要下一步了---&
  HOHO...键盘设定我帮你们选好了 [上下左右]---&[E D S F] [A B C D]---&[J K U I]也就是键盘的指法了:)...好了 不说废话了...来选择START NETPLAY 选择好了吗?下一步了哦...下一步---&
  来到这一步之后--开始的时候程序会读取服务器列表这个时候最好不要下载或者有影响网络速度的之类的动作...这样会影响到测试服务器速度的标准...这样玩起拳皇来就不好玩了 画面停顿哦...现在要看清楚哦...SERVER NAME(也就是服务器的名字)别人找你挑KOF的时候你就告诉他你在那个服务器...这样你就可以找到他了,然后好好挑(不要伤了和气哦...还有就是不要忘记你进入服务器的时候输入你的名字...)还有就是PING(这个非常重要!!!)它就是代表了那个服务器跟你的连接速度快慢的标准了...比如像上图(130ms-140ms-140ms-151ms...)这个就是了...要是服务器对应的XXXms数值越小那么说那个服务器就越快那么你就选择那个服务器...这样玩起KOF来就不会有停顿的感觉了(但是要保证你和对方的网速稳定)...最后就是#USERS这个东西了...这个也重要...比如[KOFBOY的KOF2000服务器]最多可以容纳50个人现在已经有了47个...说明服务器拥挤...虽然服务器的速度跟我们连接很快但是服务器忙起来也慢了...所以不要选用多人使用的服务器应该选择[FREENEWS KAILLERA GAME SERVER]或者在这个服务器上方的[UNKNOWN SERV0R]...好了...挑选好了你喜欢的服务器了吗?---&下一步咯---&
  我选择了[KOFBOY的KOF2000服务器]...这里也要认真看清楚...右上角的窗口...NICK(就是昵称了)这个就是你要找人挑KOF的标志...要是有个网友约你到这个服务器来他说他的昵称是[ii]你就可以找他说话了...然后是PING[这个不用我说了吧?]XXms的数值越小那个人根服务器的连接速度就越快...最右边的的那个是STATUS(也就是状态)例如[ii]的状态是IDLE也就是说他是空闲的可以找他挑KOF...[J]就不同了他的状态是PLAYING...也就是说他正在游戏...不能和你玩了...HOHO...现在就是最下面的窗口了...GAME(就是游戏名字...例如[THE KING OF FIGHTERS '97]就是拳皇97了...这里不多说了...)还有就是OWNER(就是建立游戏的人的昵称)...还有就是STATUS(也就是建立游戏的人的当前状态...比如WATING就是等待了...这个时候你可以冲进去挑个痛快!!!...要是PLAYING...就不要去了...你是进不去的除非状态是WAITING...)---最后剩下JOIN 和 CREATE NEW GAME这两个选项了...JOIN(也就是加入的意思...如果你看你想玩的游戏的STATUS是WAITING的话...你选择那个游戏然后选择JOIN...一般情况下那些人都会乐意跟你玩的...除非你的网速太低或者你是菜鸟了...)---现在是CREATE NEW GAME(也就是建立一个游戏...你点击那个选项然后选择你喜欢的游戏(比如选择拳皇(THE KING OF...)你就选择T打头的游戏你就会找到得了...然后就等人来把你打败咯...呵呵...教程 结束了...最后祝大家玩的愉快哦...:)
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 kawaks1.48 怎么用 的文章

 

随机推荐