unityD学习之NerveSister工程文件.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
unityD学习之NerveSister工程文件

????? 神经猫这个游戏是前天才玩了玩,反正我一次都没围住它,看着那些点点不知道为什么一下就想起了数据结构里那些树的遍历,折腾了几下,感觉像是用贪心算法寻求每一步的最佳路径,这样的方法虽然往往不能求出最优的解,但也是近似最优,所以那只神经猫显然是一只十分聪明的猫~ ????? ???? ?好吧,其实这是在给自己找台阶下….进入正题,这次我们来看看如何实现神经猫,鉴于站长妹纸一直萌萌的状态,我决定把神经猫换成我们萌No萌Eat哒Pill站长大人,还是照旧,素材和工程文件放在文尾。 ? ? ? ????????依旧是Native 2D?工作流程,这次抠出来的素材资源显然有点不干净,自动Slice后再手动的调整裁剪下,不用重命名。 ?????????第一步:搭建场景 ?????????把背景Sprite和开始及文字Sprite拖拽到场景里,并在背景上添加GameManger脚本,开始Sprite上添加GameStart脚本及碰撞器,置于开始按钮处。 拖拽出灰色的圆圈,添加上Spot脚本及碰撞器组件调整好大小,然后做成预制。 选中序列帧,创建站长萌哒哒动画,这里需要对动画的序列帧顺序做修改,按照素材里从左到右的顺序,在Animation视窗中直接把对应的序列帧拖到选定的位置上即可。 ? 然后创建一个SpotEnum枚举,用于记录当前Spot的状态? 文章来自【狗刨学习网】 ???? GameStart脚本里检测鼠标单击事件,当点击后,调用父对象里CreateGame方法 ? [code]csharpcode: public enum SpotState { UnClick=0,Clicked,OnSis } [code]csharpcode: public class GameStart : MonoBehaviour { void OnMouseDown() { SendMessageUpwards(CreateSpots);//创建圆圈背景 gameObject.SetActive(false);// } } 在CreateGame方法里,我们创建9行9列的灰色圆圈,,先看下GameManager类的公开字段 [code]csharpcode: //预制引用 public GameObject spotPrefab; public GameObject playerPrefab; public GameObject[] gameOver; //圆圈数字及位置信息 GameObject[,] spotList = new GameObject[9, 9]; private Vector2 beginVector2 = new Vector2(-2.3f, 3.36f); private Vector3 playerOffset = new Vector2(0, .4f); private GameObject _player;//萌哒站长的引用 private GameObject Spots;//圆圈的父对像 int _currentX = 4; //当前萌哒站长所在圆圈的索引号 int _currentY = 4; //当前萌哒站长所在圆圈的索引号对每个偶数行我们都需要将正行向左稍微移动一些距离,代码如下 [code]csharpcode: void CreateSpots() { Spots=new GameObject(Spots);//圆圈的父对象 Vector2 _lineVector2 = beginVector2;//每一行的起始坐标 //创建圆圈 for (int y = 0; y 9; y++) { //对奇偶行的赋值 _lineVector2 = y%2 == 0 ? new Vector2(beginVector2.x, beginVector2.y - .6f*y) : new Vector2(beginVector2.x - .3f, beginVector2.y - .6f*y); for (int x = 0; x 9; x++) { Vector2 tempVector2=new Vector2(_lineVector2.x+.6f*x,_lineVector2.y); spotList[x,y]=Instantiate(spotPrefab,tempVector2 , Quaternion.identity) as GameObject; spotList[x, y].transform.parent = Spots.transform; } } //初始创建萌哒妹纸 _player= Instantiate(playerPrefab, spotList[4,

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档