E20枪指向、后坐力,换子弹。枪始终指向鼠标指针。后坐力通过后震动和旋转枪头实现。
E19添加准星。亮点,为准星单独创建一个camera,从而实现可以时刻看到准星的效果。
E17武器射击效果。有子弹壳落地效果,枪口射击效果等。亮点:图片转化为精灵,发光效果。第20分钟处为了优化性能,优化了碰撞,使得弹壳不与自身碰撞,只与地板和障碍物碰撞。
E16怪物消灭喷血效果。
E14清完怪后地图重置,角色死后重生。
E13随机怪物生成点。角色不动时,角色位置变为怪物生成点。
E12地图终结。1重构变量到一个类里。2随机障碍物高度。3随机颜色。4设置地图为collider
亮点:Material obstacleMaterial = new Material (obstacleRanderer.sharedMaterial);//这么写是基于obstacleRanderer.sharedMaterial创建一个新Material,新对象跟obstacleRanderer.sharedMaterial没有任何关联,U3D里好多这种写法。
E6敌人的攻击
E7 玩家生命,子弹自动消失,子弹在物体内发射时也算碰撞
E8地图创建,亮点:1代码创建一个容器存放所有物体。2[CustomEditor (typeof(MapGenerator))]。3[Range(0,1)]//nice
public float outlinePercent;
E9地图上创建随机物体。亮点:fisher-yates洗牌算法,可以保证物体随机放置且位置不重复。
E10保证地图全通。亮点:1运算符重载的方法:在结构体里写:
public static bool operator == (Coord c1, Coord c2){
return c1.x == c2.x && c1.y == c2.y;
}
public static bool operator != (Coord c1, Coord c2){
return !(c1 == c2);
}
E11地图寻路。亮点:carve hold的解决方式一个是减小 agent radius