unity3d 射击可以制作高端的射击游戏吗?就像使命召唤。

您好, []|
使命召唤OL? 3D射击网游《全球使命》评测
  这货简直就是《召唤OL》!近期传闻暴雪将推出《使命召唤OL》而引发了海量射击游戏迷们的关注,然而目前这事只是个传说。但是,当小编近日试玩了一款3D射击后,直呼这货太像《使命召唤OL》了,还好游戏中某些系统让我保持了理智,这还真不是《使命召唤OL》,它的名字是《》!带自然气候变化的游戏地图、逼真的游戏画面、猥琐的战术系统、个性化的人物形象再加上多种创新的操作模式,这样“多效合一”的新一代射击网游你会拒绝吗?游戏简介:  《全球使命》是首款由虚幻3引擎为核心的3DTPS(第三人称射击)网游,目前已于2010年9月正式启动运营,并于10月展开了游戏首测。《全球使命》除在画面、音效等方面表现超凡外,更是划时代地引入了第三人称视角、掩体作战、双主武器系统、回血设计等诸多创新元素。游戏一经宣布,便获得了海内外广大玩家的普遍关注。游戏画面:  采用虚幻3引擎构架的游戏画面美感度自是不需质疑,游戏画面真实细腻,无论是静景还是移动中的虚化效果都做的非常优秀;而细致的子弹轨道和击中掩体石头等迸发出来的灰尘则带给玩家更强的真实感,仅是这一点就对目前国内网游市场上同类的《CSOL》和《》都要超越很多(或许这与2D游戏完全就不应该拿来相提并论吧)。1、人物形象★★★★  以往的射击网游在强调竞技性的时候往往忽略了个性方面的设置,人物角色千篇一律,而且都是死板着脸。而在《全球使命》中,玩家可以根据自己的喜欢随意设置人物形象,细致到发型、五官、肤色都能自由设置,而3D的人物形象更加饱满,让玩家的游戏代入感更强。个性化的人物创建方式包括服装也可以选择自己喜欢的2、游戏地图★★★★  不像《CF》那样翻版《CS》的老地图,《全球使命》这款新3D射击网游制作了大量的新地图,应对不同竞技模式制作的地图都有着各自特色。适应重生战的小地图,适应竞技战(猥琐战术适用)的大地图,每一个地图给人的感觉都是耳目一新。而野外地图增加的天气系统更是给游戏增加了许多意外性和竞技性,在战斗中,可能一片狂风席卷黄沙在天地间肆虐,在视线受阻敌我不辨的时候正是组织偷袭包抄的绝佳机会,这样的设计让战斗不再是死打死守,仅是地图就给游戏提高了许多的趣味性。适合竞技模式的大地图风暴来袭黄沙漫天 猥琐流玩家最爱3、战斗场面★★★★  代入虚幻3引擎的《全球使命》光影效果特别优秀,故而在战斗中的表现力也很强,飞扬的尘土、虚幻的背景、灵活的转身、躲避在游戏中体现的非常鲜活,给玩家带来的不仅是操作的快感还有视觉上的刺激体验。黄沙来袭时视线明显受限制第三视角方便观察更多位置二、游戏系统1、掩体系统 ★★★★★  掩体系统绝对是最值得赞一个的新系统,在真实的战场上,一处好的掩体就是战士生命的保证,《全球使命》取消了不实际的跳跃动作,而将掩体系统作为替代,玩家在游戏中可以操控自己的角色做出翻滚、弯腰躲避、侧头侦察、举枪盲射等等动作,增加了对抗的真实性和猥琐性!2、自动回血系统 ★★★★  类似经典单机射击游戏《使命召唤》的自动回血系统,《全球使命》也有采用,在受伤后只需躲在掩体后即可自动回血。自动回血系统的加入,让《全球使命》和《使命召唤》有了很大的相似度,喜欢单机游戏的高端玩家可以多多尝试。3、队友拯救系统 ★★★★★  游戏过程中被敌对队员击中会出现两种情况直接死亡或者倒地重伤两种情况。倒地这时需要附近的同伴救助,如果十秒之内无人救治就会自动死亡。队友拯救系统的设置无疑又是射击网游的一大突破,除了让遭的玩家可以有机会重新战斗外,双方还可以就濒死的角色进行“钓鱼”战术,实在有意思。4、双武器系统 ★★★★  玩家首次可以携带双主武器,玩狙的玩家不必担心敌人冲过来,随手就可以切换步枪出来,对手在远距离用狙,近距离冲锋可以翻滚进入掩护体。双主武器让玩家在战斗中可以充当更多的角色,让战场的可变性和刺激性更强。5、武器敲击系统 ★★★★  《全球使命》在战斗中异常激烈,由于有翻滚和加速跑等动作,在近距离对战的时候很难瞄准敌人,这时武器敲击系统就将发挥很大的作用,近战时采用合理的跑位和翻滚躲开敌人的子弹,然后趁机一枪托将敌人打到,绝对是接近真实战斗的改进。《全球使命》缺陷:  1、游戏配置较高  3D游戏本身配置要求就非常高,3D射击游戏更是烧配置,喜欢《使命召唤》的玩家肯定有体验,配置稍差就不能完全体验战场上的快感。而小编在网上曾看过别人提供的截图,那叫一个渣,可见现在普通玩家的电脑似乎还很难玩上效果全开的3D射击游戏,故而《全球使命》的优化至关重要。2、细节问题仍需提高  像游戏的双主武器系统,貌似设计者没有考虑到真实战场的负重量概念,狙击枪长枪一键切换而且是秒换,这与实际战斗明显不符。建议可以增加主武器的切换时间、设置角色的个人负重量。3、操作稍显另类  当然,游戏仍然是WASD+鼠标左右键为主的操作方式,但是在《全球使命》中,空格键被作为了进入/脱离掩体、奔跑、翻越障碍等多个作用,新手操作起来非常繁琐。建议将奔跑键改到Shift,这与多款单机射击游戏操作类似,相信玩家会更熟悉。4、攻击伤害程度不清晰  在《全球使命》中,只有爆头才能秒杀角色,其他情况下玩家都可以逃跑回血,这一样增加的击杀的难度。这种设置无需质疑,但是当近身攻击时使用枪托砸对手,却也需要好几下才能搞定玩家,当小编好不容易偷溜到玩家后面想去阴人却因一枪托打不死反被敌人反身射死的悲剧,这实在太伤感情了。建议将紧身攻击设置为类似《使命召唤》的秒杀,至少能把敌人砸晕失去平衡...  当然,《全球使命》目前还在封测中,像音效、滑鼠设置等等都暂未开放,相信经过改进后一定会带给玩家更好的体验,非常期待下一次测试!总评:★★★★☆(热爱射击游戏的玩家不可错过的一款优秀网游!)游戏总结:  《全球使命》作为一款射击网游的革新之作确实让玩家们眼前一亮,丰富的游戏系统让战场更刺激更真实,也让射击网游彻底摆脱了“《CS》山寨货”的阴影。  《全球使命》目前的游戏系统给力程度绝对五星,虽然对于新手来说还是要适应一段时间,但对于射击游戏迷们来说,应该考虑的是如何针对掩体设置丰富的战术了。可以肯定的是,《全球使命》必将给国内射击网游市场带来一次全新的变革,玩家对射击网游的认识也将达到一个新的高度。游戏操作手册丰富的武器库选择进入房间(分复活模式和竞技模式)进入房间等待开始的界面死亡后的视角(复活模式地图)  
如果你对游戏频道有任何意见或建议,请到交流平台反馈。【】
单机游戏全球网游每日要闻
Copyright & 1998 - 2017 Tencent. All Rights ReservedUnity3D游戏引擎最详尽基础教程
我一直向所有想做游戏的朋友推荐Unity3D,为什么呢?首先是因为专业,Unity3D非常强大,用它创建一个类似MiniGore这样的3D平面射击游戏简直轻而易举,而就连使命召唤这样的大型3d游戏,如果素材得当也不在话下。二是因为易用,他的操作非常容易,而使用的脚本语言又是JavaScript或者C#,不仅非常简单,也让各个种类的程序员都非常容易上手。再次,就是因为免费,如果你不使用Pro或者Mobile的内容的话,Unity3d就是完全免费的。还有就是对3D模型的兼容性,几乎任何3d模型都可以导入到unity中,可以说是一个很方便的特性。
今天,我就来讲讲Unity3D的基础操作,这可以说是一个新手必读吧,读完之后,你一定会惊叹,原来做一个游戏这么简单。
第一节 加入重力
我们先打开Unity3d,新建一个场景(Scene),新建的时候应该会有对话框要求你加入哪些Asset
Package,记得选择Physics Material,因为后面我们一定要用的哦亲。
如果创建的时候没加,你可以再后来的Asset菜单里加:
之后,我们建立一个Cude,调整一下x和z的大小,我这里调成了25,让它变成一个地板,你也可以放一个texture上去,看起来更加真实,我这里从简,再创建一个sphere,在component中选择Physics中的RigidBody,前提是选中你的sphere物体,之后会看到这个Sphere的inpector中加入一个component叫做RigidBody,调整好Camera运行一下,你就会发现Sphere受到重力的影响自动掉落到地板上。
之后,通过我们之前引入的Physics
Materials资源包,你还可以选择这个物体的物理性质,我这里选择Bouncy(跳跳),落下之后,这个物体就会蹦来蹦去的,呵呵
第二节 检测碰撞
下面我们通过简单的JavaScript语句来检测碰撞,这在制作游戏中是很有用的,比如说检测到子弹和敌人的碰撞之后,可以使用我们后来要讲到destory命令消灭敌人。
这次我们新建一个Terrain项目,在用Grass贴图来覆盖住它,如果你找不到贴图的话,记得在Asset菜单里找找,看看哪些资源你还没有引入进去。
然后再加入一个Cube项目,我这里叫做PlayerCube,为他加上重力,之后选择bouncy性质,然后我们再新建一个Cude,调整y和z的值让他变成一堵墙,放置好,命名为Wall,别忘了给Terrain改名为Terrain,
之后我们在Asset菜单中建立一个JavaScript项目,改名为CollisionDetect,双击打开,如果你使用的是Unity
3.5的话,就会打开MonoDev,这是一个新工具还是很好用的,在其中新建一个函数,别管Start和Update函数,我们待会会讲。
加入以下代码:
function OnCollisionEnter(theCollision : Collision){
if(theCollision.gameObject.name=="Terrain"){
Debug.Log("Hit terrain");
}else if(theCollision.gameObject.name=="Wall"){
Debug.Log("Hit the wall");
如果看不懂这些代码的话,也没关系,JavaScript是最好学的编程语言,Google一下吧,保存这个JS文件,然后拖到我们的PlayerCube上。
这时候我们运行,就会看到PlayerCube到处蹦,碰到Terrain的时候,控制台就会显示Hit
Terrain,碰到wall的时候就会显示Hit the wall。
第三节& 检测用户输入
下面我们来讲一下如何检测用户的键盘和鼠标的操作。
就用我们上次的那个场景,这次我们给PlayerCube加上我们可以控制的动作。就是通过“wasd”或者上下左右键来控制移动。
请注意,如果要使用这里使用的方法来控制移动,那么所控制的物体不能够是一个物理世界的物体,也就是说你要把RigidBody这个component删掉,如果你想要在物理世界里移动物体的话,你就需要我们在下面会讲到的力(force)。
首先我们新建一个JavaScript文件,这里命名为InputDetect吧,输入下面的代码:
#pragma strict
var Player : GameO
function Start () {
function Update () {
Player = GameObject.Find("PlayerCube");
if(Input.GetKey(KeyCode.W)){
Debug.Log("Hit w");
Player.transform.Translate(Vector3.forward * 2);
}else if(Input.GetKey(KeyCode.S)){
Debug.Log("Hit s");
Player.transform.Translate(Vector3.back * 2);
}else if(Input.GetKey(KeyCode.A)){
Debug.Log("Hit a");
Player.transform.Translate(Vector3.left * 2);
}else if(Input.GetKey(KeyCode.D)){
Debug.Log("Hit d");
Player.transform.Translate(Vector3.right * 2);
这时,我们运行这个游戏,就可以通过“WASD”来控制PlayerCube的移动了。
第四节 使用Prefab复制和控制物体
我们可以直接把Prefab看做是个妈,她能生好多小孩,如果妈妈的DNA变了,小孩的跟着变,就是说你可以用Prefab创建物体,然后通过这个Prefab修改所有这类物体的性质,这对于批量生成的敌人或者NPC来说很有用。
首先,先创建一个Prefab,我这里命名为“Mother”,之后新建一个Sphere物体,当然你也可以建一些其他的物体,之后给这个Sphere加上你想要的性质,我加入了RigidBody和Bouncy,之后将Sphere拖到Mother上,你会发现mother变蓝了,之后你就可以随意拖一些mother物体到屏幕上去,你会发现所有的Prefab创建出的物体在清单上都是蓝色的,说明他们都有共同的性质。
当然,作用于一个Prefab上的脚本也会作用到它的子物体上去。
第五节 使用Destroy命令消灭物体
我们游戏中怎么能够没有敌人呢?有敌人就得能够消灭他们,这时候,我们就会使用Destroy命令了。
在这里,我们使用上次Mother生出来的小球球作为敌银,一旦我们的PlayerCube碰撞到了小球的话,就是用Destroy让小球消失。
新建一个JavaScript脚本,输入以下代码:
#pragma strict
var mother : GameO
function Start () {
function Update () {
function OnCollisionEnter(theCollision : Collision){
mother = GameObject.Find("Mother");
if(theCollision.gameObject.name=="Mother"){
Debug.Log("Hit mother");
Destroy(mother);
这段代码很好懂吧,就是检验碰撞,然后销毁碰撞到的Mother物体,别忘了把Destroy的JavaScript文件拖到PlayerCube上去。运行一下,就可以看到碰撞到的物体都被消灭了。
第六节 使用Instantiate命令创造物体
我们直接在界面创造的物体都只是会在界面被初始化的时候加载,那么,如果为了节约内存或者其他什么事情,我想要在游戏过程中添加物体,那该怎么办呢?你猜对了,就是用instantiate命令。
这个命令就是英文实例化的意思,下面我们给碰撞之后消失的mother物体继续初始化一些,也就是说消灭了一些,又来了一大波···
为什么非要用mother呢?因为只有拥有Prefab的物体才能够使用这个命令哦亲。
function Update () {
var instance : GameObject = Instantiate (PreFab,transform.position,transform.rotation);
注意:这样的话,每次刷新一帧都会出现一个新的mother物体,你的内存也许会受不了哦,更合理的方法是按下空格键,然后出现一个新的物体,你可以自己做吗?试试看
你可能已经注意到了,每一个初始化的脚本都会默认有两个函数,就是:
Update()函数 —— 每刷新一帧都会检查并执行
Start()函数 —— 只在场景初始化的时候执行
第七节 使用Timer计时器
这次,我们要让一个计时器倒数,倒数到0的时候创建一个mother物体,来看Javascript代码吧:
#pragma strict
var myTimer : float = 5.0;
function Start () {
function Update () {
if (myTimer &= 0){
myTimer -= Time.deltaT
guiText.text=(""+myTimer);
if (myTimer &= 0){
guiText.text = ("Done");
把这个脚本拖到GUItext控件上,你会发现我们所期待的效果。
第八节 让物体动起来
其实让物体行动的技巧,我们已经会了,不是吗?
如果你觉得不是的话,没有认真的看上面的文章哦,我就再给你讲一次吧。
请特别注意,这种方法不适合物理世界的物体,如果向移动物理世界的物体,请看下一节:
创建一个Cylinder物体,之后将下面的脚本附着在上面。
#pragma strict
var myObject : GameO
function Start () {
function Update () {
myObject.gameObject.Find("Cylinder");
myObject.transform.Translate(Vector3(0,0,1));
第九节 使用物理世界的力
这里是我们讲移动物体的重点,因为大部分的物体移动都是在物理世界完成的,而如果想要在物理世界移动东西,除了position和rotation的移动之外,就是使用“力”了,在高中学过经典物理学的人都知道,要使物体用移动,木有力是不行的,那么我们就开始吧,再新建一个什么物体,我新建了一个Capsule。
之后,我会在这个物体的上方加一个力,让它用力的向下飞,触碰到地之后,通过bouncy这个性质再弹回来。新建一个JavaScript文件,就叫做Force吧,加入如下代码:
#pragma strict
var Power : float = 500.0;
function Start () {
rigidbody.AddForce(Vector3(0,Power,0));
function Update () {
运行之后,会发现capsule其实是个很有幽默感的物体。
第十节 使用贴图和材质
贴图和材质能够使你的虚拟3D世界看起来更加真实,不幸的是,需要大量在PS和AI中的设计工作,最近我一想到要打开PS就有点烦···呜呜。
闲话少说,我已经做好了一个贴图,怎么使用在材质上呢?之后我们怎么才能通过材质使用到其他物体之上呢?
就像你看到的一样,我是直接拖进去的···
之后我们从新建菜单中选择Material这一项,之后选中material,将贴图拖进material的贴图选框里,之后,就可以拖动这个Material赋给任何物体了。
第十一节 使用声效和音乐
音效和音乐对于一个游戏来说是非常重要的,一个寂静无声的世界是无聊的,而且不真实,什么?你说声效和音乐是一个东西?那你就错了,声效是,比如说发射子弹的声音,什么东西爆炸的声音等等,而音乐则是背景音乐什么的,不一样的亲。
对于音乐来说,往往使用立体声音乐,而对于生效来说,我们随便使用一个简单的音乐文件就可以了。
想要在Unity3D中播放音乐,你需要两样东西,一个是监听器,一个是音乐源,监听器是Camera的一个组件,所以你不用担心,你唯一需要增加的就是音乐源。
直接将项目中的音乐拖放到Audio Source项就可以播放,但是如果我们想要在某个特定的点上
播放音乐该怎么办呢?答案就是,写一个脚本,新建一个脚本,输入如下代码:
#pragma strict
var myClip : AudioC
function Start () {
AudioSource.PlayClipAtPoint(myClip,transform.position);
function Update () {
之后将这个脚本拖放到我们的物体上,最后,将音频文件拖放到AudioSource选项框中。
第十二节 使用关节
关节在3D游戏之中的应用非常广,主要在于物理世界的重力影响,下面我们就通过关节来制作一个钟摆。
这次我们新建一个场景,松了一口气?刚才的场景是不是太乱了?你做的时候可以整理一下嘛,呵呵
新建一个cube作为地面,之后一个cube放在上空作为摆垂,之后用几个capsule分别用component中的fixed
joint连接起来,之后最上面的那个capsule与世界相连,使用Hinge
Joint,这样的话,他会默认与世界相连,不用担心,看图
第十三节 使用Axes
在Edit & Project Setting & input
中可以查看各种形式的input,这些input方法在unity中被叫做Axes。
我们创建一个JavaScript,叫做GetAxes,输入以下内容:
#pragma strict
function Start () {
function Update () {
var Honriz : float = Input.GetAxis("Honrizontal");
Debug.Log(Honriz);
在拖放脚本之后,运行这个场景,看看控制台输出了什么,你就明白了。
第十四节 使用触发器
触发器一般用于检测一个物体是否处于一个空间内,他是怎么做到的呢?
首先,他创造一个大的物体,之后将他的randerer属性去掉,他就隐形了,这样,我们再把他的isCollide属性去掉,他就不会发生碰撞了,之后,我们只需要用脚本检测物体是否与这个物体碰撞就可以了。
我们新建一个场景,做一个地板,再做一个底座,叠加起来,再在他们的上空做一个方块,设置rigidbody属性,将底座设置成为我们刚才说的那种隐形的状态,之后新建一个JavaScript脚本,输入代码
#pragma strict
function Start () {
function Update () {
function OnTriggerEnter (myTrigger : Collider) {
if(myTrigger.gameObject.name == "box"){
Debug.Log("Hit");
按下运行,会发现可以检测出Hit。
第十五节 使用GUI
其实我们已经学过了如何使用GUI text,不信,我们就用屏幕上的字代替我们在上面的程序中的Debug.Log现实的内容。
你自己能做吗?
试试看吧,一个下午写了这么多,有点累。
一定要在Unity中加入一个GUI Text,运行一下,就会发现屏幕上的GUI Text会随着你设定的的内容而变化了。
之后看些什么?
本教程的所有代码在Unity3D 3.5 F5 + Mac OS X Lion上测试可用。
欢迎关注我的围脖: @Oratis
在知乎和豆瓣上,我的名字也是Oratis
我会把之后发表的教程分享到这些社交网络中。
如果你有任何问题,欢迎在底下留言,也欢迎写信给我,我的邮箱地址是:&
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。今日论坛第 1 个签到,每日签到可得财富值+2,连续5天签到后再连续签到则每日可得财富值
+4,记得每天都来签到哦~
上一主题:
下一主题:
查看: 2674 | 回复: 8
没人发游戏资源我来啦。Unity3D制作射击游戏测试版《AngryBots》顶级画面加音效
财富值 4132
交易信用 0
人气值 189
积分/帖子:888
连续签到天数:1
全部签到天数:66
注册时间:
手机型号:
诺基亚Lumia 520
状态: 离线
没人发游戏资源我来啦。Unity3D制作射击游戏测试版《AngryBots》顶级画面加音效
screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" />
This is default Angry Bots game shipped with Unity 4.x editor. Use on-screen joysticks to move shoot and move around.
screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" />screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" />screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" />screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" />screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" />
评分次数:2 次 &财富值: +10 人气值: +1 &&&&
财富值 4132
交易信用 0
人气值 189
积分/帖子:888
连续签到天数:1
全部签到天数:66
注册时间:
手机型号:
诺基亚Lumia 520
状态: 离线
还不赶快下载。游戏需要一次性玩到到低因为没有其他选项
二维码扫描下载
screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" />
游戏官网下载地址
财富值 23958
交易信用 0
人气值 519
荣誉卸任管理组
积分/帖子:9340
连续签到天数:3
全部签到天数:930
注册时间:
手机型号:
诺基亚5630 诺基亚Lumia620
来自:北京
状态: 离线
感谢分享,不过楼主的二维码还真是大。。。建议换个小点的。。。
screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" />
UID 6342579
财富值 2956
交易信用 0
积分/帖子:587
连续签到天数:2
全部签到天数:752
注册时间:
手机型号:
状态: 离线
&游戏需要一次性玩到到低因为没有其他选项&
交易信用 0
积分/帖子:15
连续签到天数:0
全部签到天数:0
注册时间:
手机型号:
状态: 离线
好大..........
交易信用 0
积分/帖子:3
连续签到天数:1
全部签到天数:1
注册时间:
手机型号:
状态: 离线
缺金币&&来回帖
交易信用 0
积分/帖子:161
连续签到天数:1
全部签到天数:10
注册时间:
手机型号:
状态: 离线
每次玩游戏摸到手机烫就不想玩了,玩游戏就用我专门的游戏机5320
财富值 175
交易信用 0
积分/帖子:209
连续签到天数:1
全部签到天数:1
注册时间:
手机型号:
状态: 离线
感谢分享,好人一生平安
UID 7448112
交易信用 0
积分/帖子:27
连续签到天数:1
全部签到天数:1
注册时间:
手机型号:
状态: 离线
感谢楼主大方分享
微信扫一扫关注dospy}

我要回帖

更多关于 unity3d射击游戏 的文章

更多推荐

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

点击添加站长微信