大神之路4:Roll A Ball 案例开发(完结
大神之路:Roll A Ball
1:碰撞检测和触发检测
- 三种不同状态下的碰撞检测的方法
- 因为吃掉食物就是碰到食物,食物就消失,所以我们使用OnCollisionEnter方法
- 为了辨别出碰撞到的物体都是食物,所以给食物的预设添加一个标签(Tag)PickUp
- 因为小球在吃掉食物的时候与事物发生碰撞,所以会卡顿一下,为了避免,我们使用触发检测OnTriggerEnter
//碰撞检测
void OnCollisionEnter(Collision collision//用来获取碰撞的信息,碰撞了那个物体,什么位置等等)
{
//collision.collider//获取碰撞到的物体身上的Collider组件
//string name = collision.collider.name;//获取碰撞到的游戏物体的名字
//print(name);//print可以把一个字符串输出到控制台
if(collision.collider.tag == "PickUp")
{
Destroy(collision.collider.gameObject);//销毁碰撞到的食物
}
}
//触发检测
private void OnTriggerEnter(Collider collider)
{
if (collider.tag == "PickUp")
{
Destroy(collider.gameObject);
}
}
2:显示分数和胜利检测
①:在小球的脚本里定义私有变量Score去存储分数
②:在Hierarchy中创建一个UI->Text来显示分数,找到下面这个属性,按住ALT键,然后选中象征着左上角的方块,分数就会显示在左上角
③:创建一个新的Text用来提示胜利了!并使用代码在其吃完小球的时候激活。
核心代码:
public Text text;//在小球身上定义Text组件,然后将创建的Text拖到组件里面
public GameObject winText;//用来显示胜利了;
private int score = 0;
private void OnTriggerEnter(Collider collider)
{
if (collider.tag == "PickUp")
{
score++;
text.text = score.ToString();
if (score == 10)
{
winText.SetActive(true);//激活用来显示胜利了的Text
}
Destroy(collider.gameObject);
}
}
3:游戏的发布
File–>Build Settings
将你游戏中所需要发布的场景拖到上方的空白框框中,然后选择你需要发布的平台,然后选择存储位置点击Bulid即可
游戏由应用程序和数据文件组成,缺一不可
4:结语
好的,我的第一个很简陋的小游戏制作完成,虽然是看教程来的,但是每一次的笔记都让我收获颇多,学习就是一个积累知识和动手操作的过程,所以,继续加油,我还会继续更新下一个小游戏的开发全程,一起加油!