现在的手机游戏那么的多,到底做一款手机游戏戏开发出来需要哪些步骤?

您所在的位置: &
举例阐述制作HTML5手机游戏的7个步骤(1)
举例阐述制作HTML5手机游戏的7个步骤(1)
希望你通过这个粗糙的教程能学习到一些制作HTML5游戏的技巧。我们已经制作了一款非常简单的游戏,它可以在大多数智能手机和浏览器上运行。如果你有兴趣进一步探索手机HTML5游戏的潜力,我建议你多多测试框架,看看什么对你有用。
想用HTML5制作跨平台的手机游戏?不必理会Java或Objective-C?也不用管应用商店?听起来真不可思议!
现在有许多游戏开发者都在挖掘手机HTML手机游戏的潜能。如《Nutmeg》和《Lunch Bug》就是优秀的案例。HTML5游戏的优势在于,使用相同的代码就能让游戏在手机和电脑上运行得一样好。这是否意味着HTML5能够让游戏代码编写成为一件一劳永逸的事?
在你开始编写你自己的&神庙逃亡&或&愤怒的小鸟&以前,以下几点可能会浇灭你的创作热情:
一般说来,手机浏览器的JavaScript引擎表现并不出众。尽管从iOS 6和Chrome的Android测试版的情况上看,它进步得很快。
Android设备的分辨率已经五花八门了,更别说iPhone 4和iPad 3的分辨率和像素密度也在不断提高。
但愿你不介意没有声音的游戏&&手机浏览器的声音支持很差。延迟是主要问题,大部分设备只支持一种声道。iOS甚至要等到用户主动开启才会加载声音。
现在,作为网页开发者的你已经习惯于处理浏览器的这些缺陷。所以,一些技术问题是难不倒你的,对吧?另外,这些表现和声音问题都是暂时的。毕竟手机浏览器进步飞快,这些问题很快就会变成历史。
在本教程中,你将通过制作一款比较简单的游戏来了解这些基本问题以及解决办法。
iphone(from smashingmagazine)
这是一款相当简单的游戏:玩家要做的就是点击从屏幕底部浮起来的白色圆形,不要让它们通过。你可以把这些白色圆形想象成漂浮上升的泡泡,你要在它们飞上天以前刺破它们。所以,我把这款小游戏叫作《POP》。
我们的制作过程可以分成如下7个步骤:
1、设置视图,以适合大多数手机屏幕的尺寸;
2、使用canvas API在屏幕上绘制图形;
3、捕捉触击事件;
4、制作基本的游戏循环;
5、引入游戏&实体&;
6、添加碰撞检测和一些简单的数学计算;
7、修饰外观,即添加少量特效。
1、设置视图
背景故事就随便了。
正如前面提到的,不同的设备具有不同的分辨率和像素密度。这意味着我们必须调整画布以适应不同的视图。这就可能损失游戏的外观质量,但我们有一个小技巧,也就是先使用小画布,然后按比例放大,这么做后的画面效果就好多了。
我们先写一段基本的HTML代码:
&!DOCTYPE&HTML&&lang=&en&&&&charset=&UTF-8&P&&name=&viewport&&content=&width=device-width,&user-scalable=no,&initial-scale=1,&maximum-scale=1,&user-scalable=0&P&&&name=&apple-mobile-web-app-capable&&content=&yes&&&&name=&apple-mobile-web-app-status-bar-style&&content=&black-translucent&&&&type=&text/css&&body&{&margin:&0;&padding:&0;&background:�}&canvas&{&display:&&margin:&0&&background:&#&}&&&&&&&//&all&the&code&goes&here&&&&
这个meta视图标签的作用是,命令浏览器禁止用户缩放画面,以及按完全尺寸渲染,而不是收缩页面。随后的带apple-前缀的meta标签允许游戏被加入书签。在iPhone上,加入书签的应用不会显示页面底部的在工具条上,因此节省了大片空间。
看看以下代码:
//&namespace&our&game&var&POP&=&{&//&set&up&some&initial&values&WIDTH:&320,&HEIGHT:&&480,&//&we&ll&set&the&rest&of&these&//&in&the&init&function&RATIO:&&null,&currentWidth:&&null,&currentHeight:&&null,&canvas:&null,&ctx:&&null,&init:&function()&{&//&the&proportion&of&width&to&height&POPPOP.RATIO&=&POP.WIDTH&/&POP.HEIGHT;&//&these&will&change&when&the&screen&is&resized&POPPOP.currentWidth&=&POP.WIDTH;&POPPOP.currentHeight&=&POP.HEIGHT;&//&this&is&our&canvas&element&POP.canvas&=&document.getElementsByTagName(&canvas&)[0];&//&setting&this&is&important&//&otherwise&the&browser&will&//&default&to&320&x&200&POPPOP.canvas.width&=&POP.WIDTH;&POPPOP.canvas.height&=&POP.HEIGHT;&//&the&canvas&context&enables&us&to&//&interact&with&the&canvas&api&POPPOP.ctx&=&POP.canvas.getContext(&2d&);&//&we&re&ready&to&resize&POP.resize();&},&resize:&function()&{&POP.currentHeight&=&window.innerH&//&resize&the&width&in&proportion&//&to&the&new&height&POPPOP.currentWidth&=&POP.currentHeight&*&POP.RATIO;&//&this&will&create&some&extra&space&on&the&//&page,&allowing&us&to&scroll&past&//&the&address&bar,&thus&hiding&it.&if&(POP.android&||&POP.ios)&{&document.body.style.height&=&(window.innerHeight&+&50)&+&&px&;&}&//&set&the&new&canvas&style&width&and&height&//&note:&our&canvas&is&still&320&x&480,&but&//&we&re&essentially&scaling&it&with&CSS&POPPOP.canvas.style.width&=&POP.currentWidth&+&&px&;&POPPOP.canvas.style.height&=&POP.currentHeight&+&&px&;&//&we&use&a&timeout&here&because&some&mobile&//&browsers&don&t&fire&if&there&is&not&//&a&short&delay&window.setTimeout(function()&{&window.scrollTo(0,1);&},&1);&}&};&window.addEventListener(&load&,&POP.init,&false);&window.addEventListener(&resize&,&POP.resize,&false);&
首先,我们要给游戏创建一个命名空间&POP&。优秀的开发者不会污染整个命名空间的。比较好的做法是在程序的开头部分就声明所有变量。大部分变量 是很容易理解的:canvas表示HTML中的canvas元素;ctx使我们可以通过JavaScript canvas API来访问它。
在POP.init,我们获得canvas元素的引用,调整canvas元素的尺寸为480 &
320。resize函数会在调整大小和加载事件时启用,从而按比例调整canvas的style属性(游戏邦注:高度和宽度)。实际上,canvas仍 然是相同的尺寸,只是已经通过CSS放大了。试一试调整你的浏览器大小,看看canvas的缩放效果。
如果你在你的手机上实验,你会发现地址栏仍然可见。解决这个问题的做法是:对文件添加额外像素,然后向下滚动以隐藏地址栏,如下:
//&we&need&to&sniff&out&Android&and&iOS&//&so&that&we&can&hide&the&address&bar&in&//&our&resize&function&POP.ua&=&navigator.userAgent.toLowerCase();&POPPOP.android&=&POP.ua.indexOf(&android&)&&-1&?&true&:&&POP.ios&=&(&POP.ua.indexOf(&iphone&)&&-1&||&POP.ua.indexOf(&ipad&)&&-1&&)&?&true&:&&
以上代码搜索userAgent,如果存在则标记。在调用POP.resize()以前,把它添加到POP.init后面。
然后,在resize函数中,如果android或ios为true,我们就把文件的高度再增加50像素&&这就足以隐藏地址栏了。
//&this&will&create&some&extra&space&on&the&//&page,&enabling&us&to&scroll&past&//&the&address&bar,&thus&hiding&it.&if&(POP.android&||&POP.ios)&{&document.body.style.height&=&(window.innerHeight&+&50)&+&&px&;&}&
注意,我们的做法只适用于Android和iOS设备;否则,讨厌的滚动条就会出现。另外,我们必须延迟scrollTo,以确保Safari设备不会忽略它。
2、在画布上绘制
我们已经根据视图调整好画布了,接下来我们该在上面画点什么了。
注:在本教程中,我们只使用基本的几何形状。iOS 5和Chrome的Android测试版可以用很高的帧率处理大量子画面。在Android
3.2或以下版本中实验一下,你会发现前者的帧率确实大大提高了。幸运地是,绘制圆形并不需要占用太多内存,所以我们的游戏中可以大量使用圆形,即使是在 老设备上,表现也不会太差。
以下,我们已经添加了一个基本的Draw对象,使我们可以清除屏幕,绘制矩形和圆形,然后添加文本。
//&abstracts&various&canvas&operations&into&//&standalone&functions&POP.Draw&=&{&clear:&function()&{&POP.ctx.clearRect(0,&0,&POP.WIDTH,&POP.HEIGHT);&},&rect:&function(x,&y,&w,&h,&col)&{&POP.ctx.fillStyle&=&col;&POP.ctx.fillRect(x,&y,&w,&h);&},&circle:&function(x,&y,&r,&col)&{&POP.ctx.fillStyle&=&col;&POP.ctx.beginPath();&POP.ctx.arc(x&+&5,&y&+&5,&r,&0,&&Math.PI&*&2,&true);&POP.ctx.closePath();&POP.ctx.fill();&},&text:&function(string,&x,&y,&size,&col)&{&POP.ctx.font&=&&bold&&+size+&px&Monospace&;&POP.ctx.fillStyle&=&col;&POP.ctx.fillText(string,&x,&y);&}&};&
我们的Draw对象有清除屏幕和绘制矩形、圆形及文本的方法。抽象这些操作的好处是,我们不必记忆确切的canvas API调用,而且绘制圆形的代码简单到只有一句。
代码如下:
//&include&this&at&the&end&of&POP.init&function&POP.Draw.clear();&POP.Draw.rect(120,120,150,150,&&green&);&POP.Draw.circle(100,&100,&50,&&rgba(255,0,0,0.5)&);&POP.Draw.text(&Hello&World&,&100,&100,&10,&&#000&);&
把上述代码放在POP.init函数之后。你应该可以看到画布上绘制出许多图形。
3、触击事件
与click事件一样,手机浏览器有捕捉触击事件的方法。
以下代码的重点是touchstart、touchmove和touchend事件。对于标准的click事件,我们可以从e.pageX的 e.pageY中获得座标。触击事件则稍有不同,它们有一个touches集合,其中的各个元素都包含触击座标和其他数据。我们只想要第一次触击,所以我 们要设置一个e.touches[0]。
注:只有版本4以后, Android才支持访问多次触击动作的JavaScript。
当禁用滚动、缩放和其他会中断游戏的活动时,我们还要调用e.preventDefault(); 。
添加以下代码到POP.init函数:
//&listen&for&clicks&window.addEventListener(&click&,&function(e)&{&e.preventDefault();&POP.Input.set(e);&},&false);&//&listen&for&touches&window.addEventListener(&touchstart&,&function(e)&{&e.preventDefault();&//&the&event&object&has&an&array&//&named&&we&just&want&//&the&first&touch&POP.Input.set(e.touches[0]);&},&false);&window.addEventListener(&touchmove&,&function(e)&{&//&we&re&not&interested&in&this,&//&but&prevent&default&behaviour&//&so&the&screen&doesn&t&scroll&//&or&zoom&e.preventDefault();&},&false);&window.addEventListener(&touchend&,&function(e)&{&//&as&above&e.preventDefault();&},&false);&你可能已注意到,以上代码把事件数据传输给Input对象。但我们现在要先定义一下它:&//&+&add&this&at&the&bottom&of&your&code,&//&before&the&window.addEventListeners&POP.Input&=&{&x:&0,&y:&0,&tapped&:false,&set:&function(data)&{&this.x&=&data.pageX;&this.y&=&data.pageY;&this.tapped&=&true;&POP.Draw.circle(this.x,&this.y,&10,&&red&);&}&};&
现在,测试一下。圆形没有出现。这是为什么?有了!因为我们已经缩放画布了,当映射触击到屏幕的位置时,我们必须考虑到这一点。
首先,我们必须从座标中扣除偏移值。
var&offsetTop&=&POP.canvas.offsetTop,&offsetLeft&=&POP.canvas.offsetL&this.x&=&data.pageX&&&offsetL&this.y&=&data.pageY&&&offsetT&
offset_diagram(from smashingmagazine)
然后,考虑到画布已经缩放过了,我们得计算一下实际画布(游戏邦注:仍然是320 & 480)。
var&offsetTop&=&POP.canvas.offsetTop,&offsetLeft&=&POP.canvas.offsetL&scale&=&POP.currentWidth&/&POP.WIDTH;&this.x&=&(&data.pageX&&&offsetLeft&)&/&&this.y&=&(&data.pageY&&&offsetTop&)&/&&
scaled_canvas_diagram(from smashingmagazine)
你开始觉得头疼了吧?那我就给你举个例子。想象一下玩家轻击500 & 750的画布上的座标400,400。我们必须调整这个座标,因为画布的实际尺寸是480 & 320。所以,真正的X座标是400除以比例,即400 & 1.56 = 320.5。
我们当然不是在每一个触击事件发生时计算,而是在调整完画布尺寸后计算座标。在程序的开头部分添加如下代码,以及其他变量声明:
//&let&s&keep&track&of&scale&//&along&with&all&initial&declarations&//&at&the&start&of&the&program&scale:&&1,&//&the&position&of&the&canvas&//&in&relation&to&the&screen&offset&=&{top:&0,&left:&0},&
在我们的调整大小函数中,调整画布的宽高后,我们要记录一下当前的尺寸和偏移量:
//&add&this&to&the&resize&function.&POPPOP.scale&=&POP.currentWidth&/&POP.WIDTH;&POPPOP.offset.top&=&POP.canvas.offsetT&POPPOP.offset.left&=&POP.canvas.offsetL&
现在,我们可以在POP.Input类的set方法中使用它们了:
this.x&=&(data.pageX&&&POP.offset.left)&/&POP.&this.y&=&(data.pageY&&&POP.offset.top)&/&POP.&
别走开,下页内容更精彩
内容导航&第 1 页: &第 2 页:
关于&&&&的更多文章
CocoStudio工具集是开源游戏引擎Cocos2d-x开发团队官方推出的游
北京时间日,苹果在加利福尼亚召开新品发
免费下载+应用内购买(In-App Purchase)已成为移动应用
现在天气渐凉,秋意越来越浓厚了,上周,公司全体组织
SQL(结构化查询语言)是数据库系统的通用语言,利用它可以用几乎同样的语句在不同的数据库系统上执行同样的操作,在数据库系统的
Windows Phone专家
Android开发专家
51CTO旗下网站股票/基金&
真是过把瘾就死吗 手机游戏发展的喜与悲
  移动的发展为手机游戏发展创造了市场空间,同时智能终端的普及也为手机游戏用户的增长提供了良好环境。2013年5月,GMGC围绕移动游戏行业进行了积极的探讨。从此次大会上也让笔者对手机游戏的发展现状产生了思考。手机游戏作为游戏行业的细分市场,前景不可小觑。有人说2013年是手机游戏大爆炸的一年,那么现在的手机游戏是一个什么样的状况?是过把瘾就死还是渐入良性发展?
真是过把瘾就死吗 手机游戏发展的喜与悲
  对于目前的现状,智能终端显然要比手机游戏发展的更快一些,但是正因为有了终端这一承载的基础,所以手机游戏也开始进入快车道。最终驾驶手机游戏的正是用户。那现在中国手机游戏用户他们的用户行为是怎样的?
  ZDC调查数据显示,参与调查的手机用户中,玩手机游戏的调查者占比达到82.3%,超八成。可见,手机游戏的渗透率已经较高。来自CNNIC的《2012年度中国手机游戏用户调告》显示,57.1%手机游戏用户更常在手机上玩游戏,24%会更多在电脑上玩游戏。22.4%的用户手机游戏时间越来越长,而仅有10%的用户时间变短,手机游戏逐渐成为了一种普遍的娱乐方式。
ZDC调查数据显示:玩手机游戏占八成以上(图片来自ZDC)
  同时,调查数据显示,53.4%的用户在手机端仅玩过手机单机游戏,24.4%的用户仅玩过手机网络游戏,两成用户两种类型的游戏均玩过。尽管单机游戏和网络游戏共享手机端,但在用户使用方面,手机单机游戏占据明显的主导地位,手机网络游戏还有待提升。
CNNIC报告显示休闲游戏更受欢迎(图片截自CNNIC)
  对于手机游戏的两大类型:单机游戏和网络游戏,女性用户更偏爱单机休闲类游戏,而玩网络游戏则男性用户更多一些。但是无论是手机单机游戏用户,还是手机网络游戏用户,益智休闲和棋牌类小游戏都是最受偏爱的游戏类型,这也再次体现了手机游戏更具娱乐性、游戏时间更为碎片化的特点。
  第2页:手游发展前景广阔 黑马却难寻  在今年的全球移动互联网大会上,国内顶级手机游戏开发商触控也分享了一些干货和数据。手机游戏市场去年32亿,今年保守估计80亿,2015年保守估计240亿,至少有20%、50-60亿来自运营商,其中有150亿由腾讯、360这样大的平台做分配,还有15%给了iOS市场。
当前手机游戏黑马《找你妹》
  就一目前手机游戏界的黑马《找你妹》来讲,2012年8月底上线,经历近八个月的发展,拥有了超过5500万的下载量、3500万的激活用户以及600万的日活跃用户数,月营收超过百万。这样的成绩在手机游戏中属于佼佼者。
  据业内人士称,在中国一款手机游戏开发出来后,首选的推广平台就是腾讯、360、91等这类平台,分账采用三七开或四六开,开发者拥有三或者四,大部分的收入流入的则是这类平台。可以说现在的中国手机游戏市场是受平台主导的,并非开发者主导。即便是这样,一个能够达到千万次下载的游戏收益还是非常丰厚的。
业界人士称手机游戏推广主要为类似腾讯这样大平台
  这样的一个发展前景看似非常乐观,蕴含着无限的商业价值。但是就目前而言,你所能脱口而出或者记忆深刻的手机游戏又有几个?笔者的一位朋友是做手机游戏的,也算是一位业界人士,他表示,现在的手机游戏看着非常热闹,但是像《找你妹》、《捕鱼达人》、《愤怒的小鸟》这类非常成功的游戏却很少,一般一款游戏的能否成功,最重要的就是一周的时间,如果在这一周的时间内没有火起来,那么它的生命周期可能就结束了。
  第3页:端游进入手游市场 手游或大洗牌
  但是这一行业中也存在着一些较为独特的现象,有些游戏推广以及平台渠道都非常到位,但是却没有办法火,然而有些并未太多推广的游戏反而火了起来。用这位业内人士的话来讲,就连他们自己都不知道为什么这款游戏能火。  这里就涉及到一个用户心理的分析,国内现在开发手机游戏的开发商可以说一抓一大把,但是能很好的分析用户行为以及用户心理的却很少。例如一个四五人的团队拥有十几二十万就可以开发出一款游戏,但是这种开发却更多的是一种不计成本的自杀式行为,所谓过把瘾就死。万一火了那就可以继续接着捞钱,如果一周之后死了,那么再进入到下一个游戏开发中。
越来越多传统端游开始进入手机游戏市场
  现在有越来越多的传统端游公司开始进入手机游戏市场,虽然在此次移动互联网大会上就有人表示,端游巨头不会吞噬创业者的生存空间,但是这只是一个时间问题。可以这样理解,端游带着一种很友好的态度进入这一市场,并未想打压或者击垮哪个手游开发商,但这不意味对创业型手机游戏开发商的生产空间不占用。
  创业型手游开发商在资金方面存在一定薄弱环节,很多几人,十几人的团队更多的是靠风投。如若不能很好的把握机会,分析用户行为任意开发游戏,那么自己就会先推出这一市场。端游的巨头依靠雄厚的资金,不但可以吸引更多的开发者投入开发,而且还有先天很好的推广资源,所以端游在手机游戏市场中的膨胀速度是急剧的。这种强者更强的结局就是年底手机游戏市场大洗牌大融合。
05/13 12:1305/10 11:2105/06 22:3705/06 20:1505/06 20:0204/19 10:0804/17 10:53
暂无专家推荐本文
同时转发到我的微博
将自动提交到和讯看点,
请输入您的观点并提交。
请输入您的观点 168字以内
同时转发到我的微博置顶我的观点
科技精品推荐
每日要闻推荐
精彩焦点图鉴
  【免责声明】本文仅代表作者本人观点,与和讯网无关。和讯网站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。开发一款手机棋牌游戏app需要多少钱
手机棋牌游戏app的支持技术越成熟,相应的开发成本就越高。后续的一个升级支持都会产生大量的工作,而手机棋牌游戏要想抓住玩家,就不要不断满足玩家好奇心等需求,手机棋牌游戏定期升级更新就需要在技术上的支持。此外,bug较少的手机棋牌游戏app质量相对较高,其相应的支持技术也比较成熟。三、手机棋牌游戏app开发的内容app开发的内容越多,相应的开发成本也就越高。app内容多有两个方面,一是一种棋牌游戏包含的棋牌游戏数量多,二是在具体的一款棋牌游戏里,内容越多比如增加了快捷语的内容和种类等,那相应的成本也就会大大提高。四、手机棋牌游戏app开发的范围app开发包括功能设计和素材准备、上传数据、委托开发以及产品测试等步骤,委托开发部分费用不是太高,如果全程都进行委托,对相应的功能和那么相应的开发费用会高很多。介绍完了影响成本的决定因素后,接下来深圳贝尔利科技有限公司(官网)以具体开发一个“欢乐斗地主”游戏app为案例,简要介绍一下相关开发的成本费用。一、游戏设计阶段在这个阶段要有相应的设计工程师和美工对欢乐斗地主的功能和素材进行加工,这个阶段三个工程师一般需要2周才能完成。二、游戏开发阶段这个阶段需要相应的工程师对上报的功能和素材以及相关的数据进行开发。这个阶段需要4周-6周左右。三、游戏测试阶段该阶段是整个开发过程中收尾部分,也是最重要的部分,只有测试成功,确保稳定后才预示着欢乐斗地主游戏app成功开发出来。这个阶段需要1周左右。综上所述,开发一款手机棋牌游戏app的价格跟多种因素有关,每种游戏以及质量要求的不同,一般来定制一款棋牌游戏基本是需要10万起,具体要看定制的细节要求。具体如果您还有不了解,请登陆深圳贝尔利科技有限公司官网进行详细了解,该公司有着过硬的技术团队和众多成功的开发案例,其专业客服将竭诚为您解疑答惑。
我们都知道英雄联盟中,任何一个位置都是不可或缺的,没了任何一个位置都是致命的缺口,哪怕是辅助,他也是有他存在的道理,我喜欢英雄联盟...
&来源:村长电竞
LOL英雄联盟,你的游戏账号里面有多少皮肤了?10个,20个;100个还是200个;甚至是全皮肤,全英雄账号?如果你有上百个皮肤,全英雄...
&来源:gameparty
TOP10刀锋意志-艾瑞利娅麻痹,新出的剑魔太强了,不削刀妹怎么玩啊?一直被削弱,楼主印象中她已经经历9次被砍...
&来源:金牛点评
最近小编听说王者荣耀又曝光新英雄了,仔细一搜发现还真有这么一位神秘新英雄存在!了解历史的小伙伴都知道安禄山是安史之乱祸首...
&来源:4399
王者荣耀赵云对决韩信怎么打?希望这篇王者荣耀赵云对决韩信打法攻略,能够帮到正在玩王者荣耀的玩家朋友。
&来源:动漫家
原标题:LOL刺客英雄技能改动汇总 S7刺客重做技能一览LOLS7赛季即将迎来刺客版本,大量刺客英雄技能进行了调整...
&来源:.cn
我们玩人机的口号是什么:虐泉不送头!宁可错杀不可放过!可是,今天有一个黄金玩家,在人机中配到了两个钻石的一个黄金的以及一个白银的组合...
&来源:LOL日常
一代人一代文化,70后和80后有着不同的世界观,90后和00后同样有着自己独特的游戏文化。
&来源:移动互联网
寒冰射手空大指数:☆☆☆☆☆被喷指数:☆☆☆☆寒冰射手这个英雄的大招基本上谁玩的话都得空,如果你能够保证自己的寒冰大招命中率非常高的话...
&来源:lol职业天赋符文
LOL美服测试服今天继续对季前赛版本进行例行更新和维护,值得一提的是,今天更新了之前曝光的新皮肤原画...
&来源:科技SHOW
秦王扫六合,虎视何雄哉!挥剑决浮云,诸侯尽西来。——李白作为千古一帝,秦始皇嬴政在中国历史上的地位自不必多言。
&来源:王者俱乐部
新浪游戏讯 10月21日消息,育碧宣布将为《汤姆克兰西:全境封锁》发布1.4版本补丁,时间为10月25日。
&来源:新浪游戏114网址导航··········

我要回帖

更多关于 手机游戏开发公司 的文章

 

随机推荐