引言
哈喽大家好,不知道小伙伴们最近有没有关注到一个名叫《逃离鸭科夫》的游戏。
这款游戏在各大社交平台和游戏社区都成为了热门话题,Steam平台上的同时在线人数一度突破30万,其口碑表现也相当出色。
在累计一万七千多条玩家评价中,收获了96%的压倒性好评,整体评价明显优于今年发布的多数新作。
其中更为炸裂的信息,开发这款游戏的团队仅仅只有5个人。
除了有常规的3D美术和数值策划外,还有3个神人:
- 负责游戏设计、战斗编程以及基础美术的制作人。
- 负责游戏内大部分编程的游戏主策。
- 负责游戏内所有美术资产的校招生。
更想不到的是,如此精简的团队,打造出的游戏,仅仅2周时间,收获1个亿,远高于团队预期。
那么问题来了,鸭科夫如此成功,我们可以做一个“鸡科夫”吗?
这个问题还是交给小伙伴们吧,笔者实在是折腾不起,但是呢,我们可以定个小目标,做个简单的小东西起步。
言归正传,本期笔者介绍一下如何在Cocos游戏开发中,制作类似逃离鸭科夫中的激光瞄准器!
本文源码和源工程在文末获取,小伙伴们自行前往。
什么是激光瞄准器?

激光瞄准器是一种安装在武器(如枪支、弓箭等)上的装置,它发射出一束低功率的、可见或不可见的激光束,在被瞄准的物体上投射一个光点,提示使用者弹着点(即子弹预计会命中的位置)。
制作原理
在Cocos游戏开发中,激光瞄准器的制作方法有不少,包括但不限于以下几种:
- Line组件。
- 自定义Shader。
- 粒子系统。
本期我们主要演示Line组件的使用。
Line组件
Line组件用于渲染3D场景中给定的点连成的线段。
Line组件渲染的线段是有宽度的,并且总是面向摄像机,这与billboard组件相似。
Line组件的使用非常简单,我们重点关注他的:
-
positions: 每个线段端点的坐标。 -
width: 线段宽度,如果采用曲线,则表示沿着线段方向上的曲线变化。 -
color: 线段颜色,如果采用渐变色,则表示沿着线段方向上的颜色渐变。
激光瞄准器制作实例
下面跟随这笔者,一起在Cocos游戏开发中实现一个激光瞄准器。
1.资源准备
老生常谈,有美术搭子的找美术搭子,没有美术搭子的找AI搭子。
笔者拿出做例子最爱的小鸡,本期我们叫他“鸡科夫”。
2.Line组件
新建一个节点,绑定一个Line组件,设置一下线的宽度和颜色,坐标我们在代码中动态设置。
3.写代码
首先声明一个ChickenKF类并挂在Canvas上,绑定好Line组件、鸡科夫和摄像机。
然后监听一下鼠标事件,按下时显示激光,移动瞄准,抬起时关闭激光。
通过鼠标事件和射线检测,确定激光的方向和目标。
计算出来激光的起点和终点,对Line组件的positions进行赋值。
4.效果演示

结语
逃离鸭科夫之所以能够成为爆款,并非偶然,它源于对游戏的热爱、对玩家的重视以及对游戏的执着,因为他们“听人劝吃饱饭”。
假如我们完整复刻出来一个“鸡科夫”,它会如愿成为爆款吗?
评论区说出你的看法。
本文源工程可通过私信发送 ChickenKF 获取。
推荐专栏:










