




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业论文(设计)设计(论文)题目游戏引擎研究与应用-手机游戏引擎Unity 3D研究与应用姓 名:陈松松学 号:201000610047学 院:机电与信息工程学院专 业:数字媒体技术年 级2011级指导教师:黄文高 2015年 05月 07日目 录摘要:3关键词3英文摘要:3英文关键词:3研究背景3引擎概念介绍3Unity3D引擎基础内容4Unity的粒子特效5简单角色扮演游戏实现7摘 要自古以来,游戏便伴随着人们的生活而存在,中国古代就有蹴鞠、斗鸡、象棋、围棋等,国外有原始足球、国际象棋等等。游戏早已成为人们休闲消遣的主要方式,游戏不仅丰富了人们的生活,增添了人们的乐趣,而且有利于智力的发展和人际关系的融洽。随着科技的发展,特别是计算机科学的进步,电子游戏已经成为游戏行业的中坚力量,电子游戏拥有广泛的受众基础,近几年伴随着智能手机的快速发展,手机游戏在电子游戏中已占据半壁江山。虽然手机游戏市场广阔,需求激增,但是用户对单个手机游戏的热情度保持时间较短,对单个游戏保持三个月以上热情的用户占手机用户的极少数,手机游戏有待精品推出,据此可以看出,手机游戏广阔的市场需求和精品手机游戏的供应之间的矛盾突出,加强对手机游戏引擎的研究,促进优秀游戏引擎的应用,开发出更多精品手机游戏有其重要现实意义。Unity以其独特简介易操作的界面风格,以及不断的更新完善,现在已经支持市面上所有的平台。Unity作为一款优秀的游戏引擎,其系统包含了游戏引擎所有的子系统:渲染引擎、物理引擎、碰撞检测系统、音效、脚本引擎、电脑动画、人工智能、网络引擎以及场景管理。此次研究在熟悉Unity的基础操作的基础上,深入分析了Unity的粒子系统,并建立了一个简单的角色扮演游戏,实现了基本操作、简单AI和几个比较炫的粒子技能特效。关 键 词Unity 游戏引擎 建模 游戏脚本 人工智能 粒子特效 粒子发射器 粒子动画 AI 角色扮演游戏 SummaryA long time ago, the game was accompanied through the life of people.For example,the cuju of Chinese, Cockfighting, Chess, Go, etc., The original soccer of foreign, chess and so on.The game has already become the main way of Peoples leisure, game not only enriched the life of people, added the fun of people, but also is beneficial to the development of intelligence and interpersonal harmony.With the development of science and technology, especially the progress of computer science, electronic games have become the backbone of the gaming industry, electronic games have wide audience base.In recent years, along with the rapid development of smart phones, mobile phone games occupy half already in electronic games.Although mobile game a vast market and a surge in demand, but the enthusiasm of the user for a single mobile games holding time is shorter, more than three months for a single game keep enthusiastic users of mobile phone users in a small number, mobile phone games to high-quality goods, thus it can be seen that mobile phone game, broad market demand and the high-quality goods the contradiction between the supply of mobile phone games, to strengthen the research of mobile game engine, promote the application of excellent game engine, developed the more high-quality goods mobile game has its important practical significance.Unity with its unique profile interface style of easy operation, and constantly update perfect, support all of the platform on the market now.Unity as a good game engine, the system includes all game engine subsystems: rendering engine, physics engine, collision detection system, sound, script engine, computer animation, artificial intelligence and the scene management, network engine.The study on the basis of familiar with the Unity on the basis of the operation, the Unity of the particle system were analyzed, and has set up a simple role-playing game, has realized the basic operation, compared with a few simple AI dazzle particle effects.Key WordsUnity The Game Engine Modeling The Game Script Artificial Intelligence Particle Effects The Particle Emitter Particle Animations RPG一、 研究背景自古以来,游戏便伴随着人们的生活而存在,中国古代就有蹴鞠、斗鸡、象棋、围棋等,国外有原始足球、国际象棋等等。游戏早已成为人们休闲消遣的主要方式,游戏不仅丰富了人们的生活,增添了人们的乐趣,而且有利于智力的发展和人际关系的融洽。随着科技的发展,特别是计算机科学的进步,电子游戏已经成为游戏行业的中坚力量,电子游戏拥有广泛的受众基础,近几年伴随着智能手机的快速发展,手机游戏在电子游戏中已占据半壁江山。首先,据艾瑞市场咨询有限公司的最新调查数据显示,调查对象中有99.4%玩过手机游戏,且其中约有1/3手机游戏用户使用手机进行网游,用户玩手机游戏的频率较高,有时间就玩和一天几次的用户超过八成。其次,根据2013年中国游戏行业产业报告数据显示,中国游戏市场实际销售收入中移动游戏收入为32.4亿元,增长率达到32.4%。因为手机的轻巧便携,并随着手机智能化的深入与优化,使得手机游戏发展如日中天,未来前景无限。最后,在手机游戏引擎市场中,根据Unity 官方在8月公布的报告显示,Unity占据全功能游戏引擎市场45%的份额,居全球首位,据此可以看出Unity的市场认可度最高。虽然手机游戏市场广阔,需求激增,但是用户对单个手机游戏的热情度保持时间较短,对单个游戏保持三个月以上热情的用户占手机用户的极少数,手机游戏有待精品推出,据此可以看出,手机游戏广阔的市场需求和精品手机游戏的供应之间的矛盾突出,加强对手机游戏引擎的研究,促进优秀游戏引擎的应用,开发出更多精品手机游戏有其重要现实意义。二、 引擎概念介绍根据维基百科的阐述,游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些互交式实时图像应用程序的核心组件。游戏引擎为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计和制作者能够容易、快速的做出游戏程序。游戏引擎一般包含以下系统:渲染引擎、物理引擎、碰撞检测系统、音效、脚本引擎、电脑动画、人工智能、网络引擎以及场景管理。有人把游戏引擎比作赛车的引起,引擎是赛车的心脏,决定了赛车的稳定性和基本性能,同样手机引擎也是这样,玩家所体验到的界面美工、剧情关卡、背景音乐音效、操作等都是由游戏引擎直接控制。手机游戏引擎特指为手机端游戏制作、运行而开发编写的游戏系统核心组件。目前市场上主流的手机游戏引擎有:Unity、Cocos2d、虚幻引擎、Construct 2、木瓜游戏引擎、WiEngine、X-Canvas等。其中Cocos2D是全球知名的开源跨平台手机游戏引擎,在全球手机游戏引擎市场占有很大比重,也是一个不错的游戏引擎。WiEngine由微云科技开发的一款2D移动游戏引擎,目前只支持2D游戏制作。在画面质量上Unity虽不敌虚幻3,但是相对来说,Unity3d比较容易上手,方便使用,可以减少游戏设计制作者在引擎上花费的时间,从而更专注与游戏本身的制作。并且Unity的可视化开发界面做的非常人性化,Unity的用户界面拥有较好的场景编辑器、游戏预览界面、项目展示形式、属性查看器、体系展示窗口,使游戏开发得心应手。三、 Unity3D引擎基础内容Unity的开发学习过程一般包括:Unity可视化界面的基础操作学习、C#/javascript/Boo语言基础学习、脚本开发基础学习、各主要系统模块专题学习。可视化界面基础操作又分为:界面的认知、工程新建与管理、创建物体、物理特效。可视化界面操作主要用来实现对游戏项目的管理、场景的绘制、基本物体创建、灯光阴影效果的实现、摄像机的创建与管理以及简单物理特效的实现。Unity3D的界面和其他三维建模软件(例如Maya、3DMAX)很相似,主要包含了标题栏、菜单栏、工具栏及工作区。标题栏用来显示Unity的标志、名字、版本、当前打开场景名字、当前项目名字等,还可以进行最小化、还原、关闭、移动等操作,工具栏四个常用工具依次为选择工具、移动工具、旋转工具和缩放工具。菜单栏主要包含File菜单、Edit菜单、Assets菜单、GameObject菜单、Componet菜单、Windows菜单和Help菜单。File菜单用来新建、打开或保存场景文件,新建、打开或保存项目文件,以及关闭软件。Edit菜单则是用来实现撤销、重做、剪切、复制、粘贴、将镜头移到所选元素前(快捷键是F)、全部选择、播放、暂停/中断、逐帧播放、载入与存储、对齐设置操作。Assets菜单中包含了基本资源文件及文件夹的创建,资源文件包括JavaScript、C#等脚本文件,也包括动画、材质、自定义字体文件等等,除此之外还包括了资源包的导入导出菜单。GameObject菜单则包含了创建空对象以及创建游戏基本对象等子菜单。Component菜单包含了游戏其他组件的创建子菜单。Window菜单包含了对Unity窗口的管理,通过Window菜单功能可以管理Unity中各个界面的显示与否,其中Asset Store菜单用来打开联网购买或直接下载免费的游戏资源的窗口。Help菜单包含了Unity版本信息及相关帮助链接。Unity的工作区主要包含Scene窗口、Game窗口、Project窗口、Hierarchy窗口和Inspector窗口,Scene窗口主要用来编辑游戏中的场景及物体,Game窗口主要用来显示游戏运行时预览效果,Project窗口主要用来管理游戏资源的,Hierarchy窗口主要用来显示游戏中的物体清单,Inspector窗口则是用来显示及编辑选中物体或文件的属性的。Unity的建模和贴图功能并不是很强大,需要借助其他三维软件来完成这部分工作,常用的三维建模软件有Maya、3DMax等。Unity引擎支持的模型文件格式有:Maya的MB、MA文件,Cinema 4D的C4D文件,以及FBX文件。这里简单介绍一下使用Maya导出模型文件的方法,首先在Maya中选择“Window”“Raise Application Windows”“Plugins Manager”选项,然后在弹出的对话框中找到并勾选fbxmaya.dll后面的“Loaded”和“Auto load”复选框,然后关闭弹窗。第二步,选择“File”“Export All”,单击“Export All”打开属性对话框,将File type设置为FBX export,然后点击“Export All”,再在“Fille name”中输入导出文件的名称,点击“Export”。最后一步就是将FBX文件导入Unity中,将FBX导入Unity很简单,只需要将FBX文件直接拖入Project下Assets任意文件目录下即可。四、 Unity的粒子特效(一) 基本概念:1. 粒子特效的原理是将若干粒子无规则的组合在一起,来模拟水、雾、火焰,爆炸,烟花、雪花、风、雨、技能等等效果。2. 粒子发射器:用于设定粒子的发射属性,比如说粒子的大小,数量和速度等的原件。3. 粒子渲染器:主要用于粒子的渲染,如:渲染模式,粒子的缩放,粒子的尺寸等。4. 粒子动画:用于设定粒子渲染中的动画效果。(二) 基本属性:emit:是否是使用粒子发射器min size:粒子最小尺寸max size:粒子最大尺寸min energy:粒子的最小生命周期,单位秒,表示N秒后粒子消失max energy:粒子的最大生命周期,单位秒,表示N秒后粒子消失min emission:粒子每秒生成的最小数量max emission:粒子每秒生成的最大数量world velocity:粒子在3D世界中各轴的速度local velocity:粒子自身坐标系中各个轴的移动速度rnd velocity:各个轴粒子的随机速度emitter velocity scale:粒子继承发射的速度tangent velocity:粒子发射切线的速度angular velocity:粒子发射的角速度rnd angular velocity:粒子的随机角速度rnd rotation:粒子是否随机旋转simulate in worldspace:是否在世界坐标中模拟粒子one shot:选择后,粒子只发送一次,否则粒子将连续发送ellipsoid:粒子产生的所有轴的位置min emitter range:设定粒子之间的间隙(三) 动画属性:does animate color:是否开启粒子动画的颜色,颜色将根据自身的生命周期改变color animation n :设置动画渐变数组中的颜色,这个数组长5,也就是说粒子的颜色发生改变时,循环这5个颜色world rotation axis:粒子围绕世界坐标轴旋转local rotation axis:粒子围绕着本地空间轴旋转size grow:粒子成长的生命周期rnd force:粒子运行时,每经过一帧就在粒子上加一个随机的力force:粒子运行是,每经过一帧就在粒子上加一个固定的力damping:阻力,用于减慢粒子autodestruct:自动销毁粒子动画对象五、 简单角色扮演游戏实现(一) 引擎信息Unity版本:Personal Edition 5.0 64位版下载地址:/get-unity(二) 新建游戏项目1. 点击unity图标打开软件2. 点击New project 新建项目3. 填写游戏项目基本信息图中1表示项目名称,2为项目存储路径,3为项目属性二维或三维,4为项目所需资源包选择按钮,5为确定创建按钮在这一步我选择了事先在Unity官网下好的资源包,主要包括一些贴图和一些基础粒子特效包。(三) 二、管理项目资源并导入模型1. 新建资源文件夹方便管理各类资源,这里新建的有_GUI,_Scene,_PlayerModels,为了区分第三方资源和系统资源,在命名上使用前缀下划线2. 导入第三方GUI包,这里使用NGUI3. 导入事先用Maya等其他三维软件制作好或者上网下载好的模型包(四) 绘制场景1. 新建一个500 X 500的Terrain2. 编辑地形选中地形后在Inspector中会显示上面的工具,工具栏依次为抬高或压低工具(直接使用是抬高、按住shift使用时为压低地形)、绘制高度工具、平滑高度工具、贴图工具、树木贴图工具、花草贴图工具、地形基本参数设置工具。这里使用抬高或压低工具将地形编辑如下:3. 为地形添加贴图使用地形贴图工具给地形添加适当的贴图,如下:4. 为地形添加树木和花草(五) 添加主角模型并为主角添加控制脚本1. 添加人物模型将人物模型拖入场景中,并调整人物大小,使得人物与场景相符合2. 创建虚拟摇杆创建虚拟摇杆方便在移动设备上进行游戏。首先导入Unity虚拟摇杆插件EasyTouch,然后添加后在Game界面会出现虚拟摇杆接着用同样的方法添加两个按钮3. 新建控制脚本创建一个新文件夹,并将名字重命名为_Script,这里将存放接下来游戏中所用到的所有脚本注意:在Unity中,新建脚本都会自动生成两个函数,一个Start函数,在这个函数中用来初始化各个部件和元素,另一个就是Update函数,在这个函数中用来写游戏每一帧刷新时需要执行的代码,也是游戏主要脚本放置的地方。新建脚本,命名为ControlPlayer,继承MonoBehaviour类。Unity自带角色控制器,在脚本中需要将unity的角色控制器添加进来作为角色的成员对象。脚本文件内容:using UnityEngine;using System.Collections;namespace PeterChenpublic class ControlPlayer : MonoBehaviour #region 人物属性public string m_name = PeterChen;public int m_level=1;/等级public int m_experience=0;/经验值public int m_maxExperience=2;/最大经验public int m_maxLife=100;/生命public int m_currentLife=100;/当前生命public int m_maxMagic=50;/魔法值public int m_currentMagic=50;/当前魔法值public int m_defense=10;/防御力public int m_attack=20;/攻击力public float m_speed=3;/速度public int m_rotateSpeed=180;/旋转速度public Animation m_animation;/人物行动时的动画public float m_jump=45;/跳跃力public float m_gravity = 17;/重力public float m_bigAttack=0.02f;/暴击几率#endregion#region 对象public Transform m_transform;/定义一个自己的位置、大小和旋转控制对象private CharacterController m_controller;/定义角色控制器private BattleChange m_changeState;/战斗时改变生命等属性脚本对象public Transform m_attackParticle; /普通攻击粒子public AudioClip m_attackAudio; /普通攻击音效private BattleChange m_nowAttackTarget;private RaycastHit hit;private Vector3 m_forward;/向前的方向private LayerMask m_layerMask;/射线检测层private float m_attackDelay = 0;/攻击延时/粒子效果public Transform m_bigAttackParticle;/暴击粒子public Transform m_upLevelParticle;/升级粒子效果/声音public AudioClip m_bigAttackAudio;/暴击音效public AudioClip m_upLevel;/升级音效private MovingJoystick m_move;#endregion#region 变量private int m_moveDirection=-1;/这个是属于临时变量,用于判断移动方向的private float m_moveSpeed=0;/这个是临时的速度变量,用于判断移动速度具体方向public int m_LifeBar=100;/定义当前血条长度public int m_MagicBar=50;/定义当前魔法条的长度private Vector3 m_nowPosition;/这个用与盛放玩家当前位置信息,用于跳#endregion#region 判断private bool m_jumpTmp=true;/判断是否可以跳跃private bool m_isDead=false;/是否死亡#endregion#region 对技能的定义/火球术public bool m_skillFireBall=true;/是否学会了该技能public int m_skillFireBallRank=1;/技能等级public float m_skillFireBallSkilled=0;/技能熟练度public Transform m_skillFireBallParticle;/技能粒子效果public Transform m_skillFireBallParticle2;/火球术爆炸效果public AudioClip m_skillFireBallAudio;/技能声音效果/连环闪电public bool m_skillLightling=true;public int m_skilllLightlingRank=1;public float m_skillLightlingSkilled=0;public Transform m_skillLightlingParticle;public Transform m_skillLightlingParticle2;public AudioClip m_skillLightlingAudio;#endregion/ Use this for initializationvoid Start () m_transform = this.transform;m_controller = GetComponent();m_animation = GetComponent();m_changeState= GetComponent();m_changeState.m_defense=this.m_defense;/防御m_changeState.m_life=this.m_currentLife;/生命m_changeState.m_magic=this.m_currentMagic;/魔法值m_changeState.m_name=this.m_name;m_layerMask=LayerMask.NameToLayer(Human);/ Update is called once per framevoid Update () GetState();m_LifeBar=(int)(float)m_currentLife/m_maxLife)*100);m_MagicBar=(int)(float)m_currentMagic/m_maxMagic)*100);UpLevel();if(!m_isDead)Move ();void Move()Vector3 m_forward = m_transform.TransformDirection(Vector3.forward);if(Input.GetKey(KeyCode.A)/以键盘上的A键控制角色向左旋转,注意向左旋转的话,rotateSpeed是为负的。m_transform.Rotate(m_transform.up*-m_rotateSpeed*Time.deltaTime);m_animation.CrossFade(Run);else if(Input.GetKey(KeyCode.D)/以键盘上的D键控制人物向右旋转m_transform.Rotate(m_transform.up*m_rotateSpeed*Time.deltaTime);m_animation.CrossFade(Run);else if(Input.GetKey(KeyCode.W)/向前移动m_moveDirection = 1;m_moveSpeed = m_moveDirection*m_speed;m_animation.CrossFade(Run);else if(Input.GetKey(KeyCode.S)/向后移动m_moveDirection = -1;m_moveSpeed = m_moveDirection*m_speed;m_animation.CrossFade(Run);else if(m_animation.IsPlaying(Run)/如果没有移动,就让角色闲着m_moveSpeed=0;m_animation.CrossFade(Idle);if(m_controller.isGrounded)/只有在地面才可以跳if(Input.GetKey(KeyCode.Space)Vector3 m_direction=m_transform.TransformDirection(Vector3.down);/方向向下的临时变量if(m_controller.isGrounded)m_jumpTmp=true;else if(!Physics.Raycast(m_transform.position,m_direction,1.5f)/判断跳跃高度m_jumpTmp=false;if(m_jumpTmp)m_animation.CrossFade(Jump2);m_transform.Translate(Vector3.up*m_jump*Time.deltaTime); m_controller.SimpleMove(m_forward*m_moveSpeed);/移动void GetState()this.m_currentLife=m_changeState.m_life;this.m_currentMagic=m_changeState.m_magic;if(m_currentLife=0)m_animationDeath.wrapMode=WrapMode.ClampForever;m_animation.CrossFade(Death);m_isDead=true;void Attack()if(m_currentLife0)if(Random.valuem_bigAttack)m_animation.Play(Attack3-1);m_forward=m_transform.TransformDirection(Vector3.forward);/Debug.DrawLine(m_transform.position+Vector3.up,new Vector3(10,0,0),Color.cyan);if(Physics.Raycast(m_transform.position+Vector3.up,m_forward,out hit,2,m_layerMask)m_nowAttackTarget=hit.collider.gameObject.GetComponent();StartCoroutine(WaitForAttack(Attack3-1,0.65f,m_attackParticle,m_attackAudio,m_attack);elsem_animation.Play(Attack3-1);m_forward=m_transform.TransformDirection(Vector3.forward);if(Physics.Raycast(m_transform.position+Vector3.up,m_forward,out hit,2,m_layerMask)m_nowAttackTarget=hit.collider.gameObject.GetComponent();StartCoroutine(WaitForAttack(Attack3-1,1.8f,m_bigAttackParticle,m_bigAttackAudio,m_attack*3);#region 技能public void SkillFireBall()if(!m_animation.IsPlaying(Run)/跑动的时候不允许施法int tempMagic=m_currentMagic-10-m_skillFireBallRank;/计算消耗的法力if(tempMagic=0)/如果法力足够,就可以发动魔法m_currentMagic=tempMagic;m_animation.Play(Magic);/这里法术的动画就用这个动作了Instantiate(m_skillFireBallParticle,m_transform.position,Quaternion.identity);GetComponent().clip=m_skillFireBallAudio;GetComponent().PlayOneShot(m_skillFireBallAudio);m_skillFireBallSkilled+=(1f/m_skillFireBallRank);/增加技能熟练度if(m_skillFireBallSkilled=100)/如果技能熟练度达到100,则升级技能等级m_skillFireBallRank+;m_skillFireBallSkilled=0;m_forward=m_transform.TransformDirection(Vector3.forward);if(Physics.Raycast(m_transform.position+Vector3.up,m_forward,out hit,10,m_layerMask)/计算前方是否打中了别人,火球术最多可以打中十米远的敌人m_nowAttackTarget=hit.collider.gameObject.GetComponent();StartCoroutine(WaitForAttack(Magic,0.5f,m_skillFireBallParticle2,m_bigAttackAudio,(int)(m_skillFireBallRank*m_attack*1f);/一级火球术只有人物一半的攻击,攻击随技能等级递增else/m_dfTxet.Text+=(你感觉身体一阵空虚,法力不足了.);public void SkillLightling()if (!m_animation.IsPlaying(Run)/跑动的时候不允许施法int tempMagic = m_currentMagic - 15 - m_skilllLightlingRank;/计算消耗的法力if (tempMagic = 0)/如果法力足够,就可以发动魔法m_currentMagic = tempMagic;m_animation.Play(Magic);/这里法术的动画就用这个动作了Instantiate(m_skillLightlingParticle, m_transform.position , Quaternion.identity);GetComponent().clip = m_skillLightlingAudio;GetComponent().PlayOneShot(m_skillLightlingAudio);m_skillLightlingSkilled += (1f / m_skilllLightlingRank);/增加技能熟练度if (m_skillLightlingSkilled = 100)/如果技能熟练度达到100,则升级技能等级m_skilllLightlingRank+;m_skillLightlingSkilled = 0;GameObject EnemyGa = GameObject.FindGameObjectsWithTag(Enemy);for (int i = 0; i EnemyGa.Length; i+)float dis = Vector3.Distance(EnemyGai.transform.position, m_transform.position);if (dis 7)Instantiate(m_skillLightlingParticle2, m_nowAttackTarget.transform.position , Quaternion.identity);m_nowAttackTarget = EnemyGai.GetComponent();m_nowAttackTarget.Damage(int)(m_skilllLightlingRank * m_attack * 1f);m_nowAttackTarget.m_changeMeTarget = m_transform;/StartCoroutine(WaitForAttack(m_animationMagic, 0.5f, m_skillLightlingParticle2, m_skillLightlingAudio, (int)(m_skilllLightlingRank * m_attack * 1f);else/m_dfTxet.Text += (你感觉身体一阵空虚,法力不足了.);#endregionIEnumerator WaitForAttack(string name,float timer,Transform particle,AudioClip m_audio,int attack)yield return new WaitForSeconds(timer);/print (ok!);if(m_animation.IsPlaying(name)Instantiate(particle,m_nowAttackTarget.transform.position+Vector3.up,Quaternion.identity);GetComponent().PlayOneShot(m_audio);m_nowAttackTarget.Damage(attack);m_nowAttackTarget.m_changeMeTarget=m_transform;#region UpLevelvoid UpLevel()if(m_experience=m_maxExperience)Instantiate(m_upLevelParticle,m_transform.position,Quaternion.identity);GetComponent().clip=m_upLevel;GetComponent().PlayOneShot(m_upLevel);m_maxLife+=Random.Range(2,10);m_maxMagic+=Random.Range(2,8);m_attack+=Random.Range(1,5);m_defense+=Random.Range(1,3);m_speed+=Random.Range(0.01f,0.08f);m_bigAttack+=Random.Range(0.0001f,0.002f);m_maxExperience*=2;m_level+;#endregionvoid On_ButtonUp(string buttonName) void On_ButtonDown(string buttonName)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 危房终止租赁协议书
- 合伙凑钱投资协议书
- 商场运营承包协议书
- 员工自愿放弃协议书
- 土地置换债务协议书
- 商场招商回购协议书
- 员工解雇合同协议书
- 口腔医疗退费协议书
- 合作协议终止协议书
- 双方买卖合同协议书
- 景观体验设计策略-全面剖析
- 幼儿园获奖公开课:小班社会活动《做懂礼貌的孩子》课件
- 巴基斯坦课件
- 高校“一站式”学生社区就业指导工作路径探究
- 【报告】充电桩可行性报告
- 建筑行业安全生产标准化流程
- 边防证代办委托书样板
- 大班韵律《朱迪警官破案记》
- 湖北省高中六校2025届高三第三次模拟考试数学试卷含解析
- 《计算机网络技术》课件-2.2 OSI参考模型
- Photoshop平面设计与制作知到智慧树章节测试课后答案2024年秋黑龙江农业工程职业学院(松北校区)
评论
0/150
提交评论