1. 游戏的设计基础思路
将地图任务角色等拉入场景并摆放好,然后根据设计角色移动的方式,
通过垂直虚拟轴控制移动还是简单的跳跃(addforce),一般是给角色刚体组件,使用刚体实现移动,再加上盒子碰撞组件检测碰撞。添加了刚体组件的物体/人物一般要注意冻结X,Y,Z的旋转,不然会出现四处旋转运动的现象,也要注意物体的重力是否需要的问题。
注:一般有跳跃的运动形式就会引入重力使得人物动作更协调流畅
(为了实现不能连跳必须布尔判断是否落地);
public float gravityModify;
physics.gravity*=gravityModify;
一般2D游戏是使用背景图的移动轮播形式来形成人物运动效果,
所以要写脚本挂载在背景上,目前使用的是:
transform.translate(Vector3.方向*Time.delatime*移动速度);
要实现背景轮播的形式一般是使用代码判断:
敌人预制体/物体预制体
先在目录创建预制体文件夹,然后在场景创建空对象再挂载个脚本,在里面公开声明预制体变量和预制体产生位置,用函数包装使用Instantiate(预制体,生成位置,朝向),在到start()里INvokerepeating(函数名,开始延迟时间,生成延迟时间)
注:要在公开预制体变量窗口选中预制体。
预制体的删除:
使用gameObject.CompareTag()找到生成的预制体标签,摧毁。
动画使用
private Animator playerAnim;
playerAnim = GetComponent<Animator>();
音频的使用:
背景音乐一般要挂载在主摄像头上,并且只能且必须有一个AudioListeners组件,选中循环选项。在unity界面将音源拖拽到公开界面窗口。
粒子特效
注意挂载在需要特效的对象上,并且公开变量,在unity界面将特效拖拽到公开变量的窗口中使用。
游戏结束
此跑酷游戏通过碰撞来实现,先给定标签,玩家标签和物体标签,碰撞对比标签,
给定特定的游戏反应。