重庆建网站哪家售后服务比较好,云南建设厅网站职称评定,电子商务具体是做什么的,石家庄模板做网站基础知识已经差不多了#xff0c;现在开始模仿敲代码然后在模仿中熟悉软件和语法
视频链接和素材如下#xff1a;视频 目录 第一部分#xff1a;游戏逻辑1、新建2D工程2、创建三个场景3、导入游戏需要的资源4、开始编辑02-game4.1 裁切图片4.2 初步编辑4.3 实现小鸟的拖拽4…基础知识已经差不多了现在开始模仿敲代码然后在模仿中熟悉软件和语法
视频链接和素材如下视频 目录 第一部分游戏逻辑1、新建2D工程2、创建三个场景3、导入游戏需要的资源4、开始编辑02-game4.1 裁切图片4.2 初步编辑4.3 实现小鸟的拖拽4.4 实现鼠标控制小鸟4.5 拖拽最大距离限制 第一部分游戏逻辑 1、小鸟的拖拽最大距离限制) 2、小鸟的飞出 3、小鸟与猪木头碰撞死亡/受伤) 4、皮筋的绘制 5、一只小鸟-→多只的转化 6、制作各种五毛特效 7、镜头跟随 8、游戏结束胜利的判定 9、添加音效 涉及知识点: 1、屏幕坐标与世界坐标的转化 2、Spring Joint组件的使用 3、碰撞检测(OnCollisionEnter2D) 4、Line Renderer等等 1、新建2D工程
前面有讲怎么创建工程这里只需要改变3D为2D就可以了
等待一段时间后就可以看到
这种界面是因为界面设置为2by3
如果不小心建立了3D的项目只需要改变以下两个地方也能把项目重新设置成2D的。 首先点击Scene窗口的矩形按钮框选出窗口的相机这样会在Inspector窗口显示出相机的属性和设置然后再Projetion中选择Orthgraphic 然后在Edit属性栏选择ProjectSetting找到里面的Editor然后将3D改成2D即可 这样你的2D项目就建立好了记得保存一下当前场景CTRLS
2、创建三个场景
虽然视频是直接CTRLN就可以创建但由于我的版本不同所以可能导致方法不同这里只介绍我的版本下采用的方法视频可以自行观看。 首先找到Project中的Sence右击创建 在创建中找到Sence点击创建新的场景 然后右边就会出现新建的场景右击名字部分选择rename最后重命名以下是处理好的三个场景 3、导入游戏需要的资源 首先找到下载资源的位置里面有Image文件夹和Music文件夹和两个不知道是啥的东西我们先导入上面两个文件夹 然后复制上面两个文件夹也可以一次复制一个 接着在Sence界面右击找到Show in Explorer 最后在打开的文件夹里粘贴刚才复制的文件夹会自动生成meta文件 这样我们就可以看到自动导入的一些图片和音乐 4、开始编辑02-game
以下图片由于编辑错误都在01-level里面了但是其实就是在02-game的不要怀疑标题怀疑图片吧
4.1 裁切图片 首先打开Image找到BIRDS_1然后点击在右边的Inspector里面找到Sprite Mode切换成Mulitiple然后点击Apply 接着点击Sprite Editor找到Slice保持默认点击Slice进行裁切这样就会把图案分成一个一个的并且点击任何一个都会有自己的编号 然后我们选择一只红色的小鸟和两个弹弓点击记住编号记得点击APPLY再退出 点击BIRDS_1右边的三角也可以看到裁切好的图片及其编号 4.2 初步编辑 找到红色的小鸟159还有两个弹弓拖向Hierarchy窗口要是拖错了就右击然后删除重新拖 在Sence界面使用矩形按钮移动弹弓的位置使其比较合适如果摄像机的大小太大了也可以调节3D icon的大小 为了让小鸟的的图层在上面而弹弓一边在下面我们要新建一个图层给小鸟。 单机小鸟然后在Inspector的Sorting Layer里面新建一个layer图层命名为player 接着把三个物品的Sorting Layer都设置成player小鸟的order in Layer设置成1其余两个一个为0一个为2这样就有遮挡效果了 最后重新命名这三个物体并保存这样就搭建好了一点点了 写到这里发现编辑错了场景这里应该是02-game的场景编辑不过问题不大记得改动一下场景的名字就好诶嘿。
4.3 实现小鸟的拖拽 实现小鸟的拖拽是基于Unity提供的一个组件叫做Spring Joint找到Add Component然后搜索到这个组件上面的是给3D使用的下面的是给2D使用的我们选择2D 这时候点击开始会看到神奇的现象小鸟会绕着一点来回摆动 这里附上官网的解释链接或者这个链接具体解释可以在这里面看到 所以可以看到是需要两个刚体小鸟算一个另一个是右边的弹弓所以点击right找到add Component找到Physics 2D选择RIDbody 2D然后再把bodytype改成static这样就可以了 接下来把刚刚创建的刚体拖到相连的刚体这里 这样就把挂载点挂在right上面了还可以自己调试一下位置 最后把AUTO的√给去掉这样就可以自己设置弹簧的长度再把下面的频率加大增加弹簧的强度 4.4 实现鼠标控制小鸟 添加碰撞体来实现鼠标和小鸟的交互和之前添加刚体一样在Physics 2D里面找到Circle Collider 然后添加脚本来控制这时候脚本在Sence目录里面 在Assets里面新建一个文件夹命名为scripts然后把新建的脚本移入这个文件夹中 双击脚本打开等待一段时间在VS里面会显现出里面的内容 OnMouseDown、OnMouseUp该函数就是当碰撞器满足一定要求就会调用该函数具体可自行查看
Update该函数不断刷新具体可以自行查找观看
最后我们这个脚本的内容如下 using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Bird : MonoBehaviour
{//要实现当鼠标一直按下时小鸟的位置跟随鼠标的位置private bool isClick false;private void OnMouseDown()//当鼠标按下就会调用该函数{isClick true;}private void OnMouseUp()//当鼠标抬起就会调用该函数{isClick false;}private void Update()//刷新{if(isClick)//鼠标一直按下进行位置的跟随{//这里有屏幕距离和世界距离的转化transform.position Camera.main.ScreenToWorldPoint( Input.mousePosition);//需要把小鸟的Z轴减去主摄像机的Z轴transform.position - new Vector3(0, 0, Camera.main.transform.position.z);//保证z轴数值为0//transform.position new Vector3(0,0,10);}}
} 以上脚本可以实现当我们在Game界面可以长按住小鸟进行拖拽然后弹射出去就是因为力的作用会导致一直在转下面来解决这个问题 4.5 拖拽最大距离限制 让小鸟可以拖拽的位置绕着弹簧的某端开始记录距离所以得新建一个空的物体右击right然后create Empty然后重命名为rightPos并将其移动到弹簧的一端 改变脚本内容因为我们需要获得最大距离所以首先得到固定的rightPos到小鸟的向量然后乘以最大距离再加上固定点的位置如下图所示 代码如下
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Bird : MonoBehaviour
{//要实现当鼠标一直按下时小鸟的位置跟随鼠标的位置private bool isClick false;public Transform rightPos;public float maxDis 3;//最大距离是3米private void OnMouseDown()//当鼠标按下就会调用该函数{isClick true;}private void OnMouseUp()//当鼠标抬起就会调用该函数{isClick false;}private void Update()//刷新{if(isClick)//鼠标一直按下进行位置的跟随{transform.position Camera.main.ScreenToWorldPoint( Input.mousePosition);//需要把小鸟的Z轴减去主摄像机的Z轴transform.position - new Vector3(0, 0, Camera.main.transform.position.z);//保证z轴数值为0//transform.position new Vector3(0,0,10);if(Vector3.Distance(transform.position,rightPos.position ) maxDis)//大于最大长度{Vector3 pos (transform.position - rightPos.position).normalized;//单位化向量pos * maxDis;//最大长度的向量transform.position pos rightPos.position;} }}
} 保存脚本内容然后将rightPos拖拽到Right Pos里面下面的最大距离可以自己修改 效果如下 有点晕还是改天继续吧