unity3d游戏开发笔记1

unity3d游戏开发笔记1

ID:25778406

大小:321.24 KB

页数:14页

时间:2018-11-22

unity3d游戏开发笔记1_第1页
unity3d游戏开发笔记1_第2页
unity3d游戏开发笔记1_第3页
unity3d游戏开发笔记1_第4页
unity3d游戏开发笔记1_第5页
资源描述:

《unity3d游戏开发笔记1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、www.taikr.com泰课在线Unity3D游戏开发笔记1.【角色移动】首先打开Unity3d,并创建一个新的工程,然后我导入了所用到包:场景,角色模型,以及DaikonGUI(现在重新做游戏的话,GUI就不用系统自带的了,这里改用DaikonGUI)的包。然后新建了_Scene、_GUI和_Player三个文件夹,并将刚开始导入的资源包移动进去,以便后来区分。如图:接下来在场景中建立一块地形,并将其大小设置为100*100:接下来就可以使用导入的场景资源包进行地形的描绘了。不过,这里我先不进行地形之

2、类的具体创建,毕竟这都是细节,目前应该先解决角色控制方面的问题,如图,先将先前导入的角色模型拖入场景中:14泰课在线(www.taikr.com)——国内首家Unity3D游戏开发免费实训基地www.taikr.com泰课在线初一看来,是不是好像人物的比例有些不对,似乎太小了些?所以可以在角色旁边随便创建一个立方体,比较一下:这个确实大了些,于是对比着场景中的角色,在Inspector面板中进行调整,比例大概在0.15的样子刚好合适:14泰课在线(www.taikr.com)——国内首家Unity3D游戏

3、开发免费实训基地www.taikr.com泰课在线觉得差不多了,就可以选中导入人物的所有模型,并将ScaleFactror都设置为0.15。将一同导入的有动画的模型比例也设置为0.15是必须的,因为如果忘记设置动画模型比例的话,播放动画就会造成人物变形。接下来创建一个新文件夹,并将名字重命名为_Script,这里将存放接下来游戏中所用到的所有脚本。最开始当然是创建一个控制人物的脚本啦,那么现在就在_Script文件夹下创建一个C#脚本,就命名为“PlayerControl”吧。然后双击脚本文件进入Mono

4、编辑器中,系统已经默认生成了一些代码,删除不必要的注释后,在代码最开始分别添加上人物的各个属性,这些一开始就可以定义好:usingUnityEngine;usingSystem.Collections;//www.taikr.com泰课在线publicclassPlayerControl:MonoBehaviour{#region人物属性publicstringm_name="CWH";//名字,以后看可以让玩家自己取名字的publicintm_experience=0;//这是经验,将会是隐性的属性,也

5、就是说在玩家眼中是不可见的。原来的版本没有,这次重新做的话,还是决定加进去。publicintm_maxLife=100;//生命publicintm_currentLife=100;//当前生命publicintm_maxMagic=50;//魔法值publicintm_currentMagic=50;//当前魔法值publicintm_defense=10;//防御力publicintm_attack=20;//攻击力publicintm_speed=3;//速度publicintm_rotateSp

6、eed=180;//旋转速度#endregion#region对象publicTransformm_transform;//定义一个自己的对象,据说有好处。privateCharacterControllerm_controller;//定义角色控制器#endregionvoidStart(){14泰课在线(www.taikr.com)——国内首家Unity3D游戏开发免费实训基地www.taikr.com泰课在线m_transform=this.transform;m_controller=GetCom

7、ponent();}voidUpdate(){}}然后在最下方添加一个Move函数,以作为对角色的移动等的控制:voidMove(){if(Input.GetKey(KeyCode.A))//以键盘上的A键控制角色向左旋转,注意向左旋转的话,rotateSpeed是为负的。{m_transform.Rotate(m_transform.up*-m_rotateSpeed*Time.deltaTime);}elseif(Input.GetKey(KeyCode.D)

8、)//以键盘上的D键控制人物向右旋转{m_transform.Rotate(m_transform.up*m_rotateSpeed*Time.deltaTime);}}这次我准备使用CharactorController控制角色,旋转的方式写完了,那么移动的方式该怎么判断呢?毕竟角色必须能够前后移动才行。于是想想可以定义一个中间变量,按W键为前,将其置为1,按S键位后,将其置为-1,然后在使用CharactorControl

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。