在线体验链接: http://example.creator-star.cn/block3d/ 前面一篇文章,我们讲了[打砖块]游戏中的3D物体的场景布局.材质资源.物理刚体与碰撞组件,接下来本篇文章重点介绍"子弹的发射"与"摄像机移动",有了这两部分我们的[打砖块]游戏就可以初步玩起来了. 子弹的发射 子弹是由 3D 物体 Sphere 球体创建,并将节点改名为 bullet,看下图: 在层级管理器中将 bullet 节点拖动到资源管理器中,将它创建成一个 Pre…
在线体验链接: http://example.creator-star.cn/block3d/ 上面图中是打砖块游戏的主要 3D 节点元素,Shawn 这两天在学习 Unity 与 Creator3D 感受到制作 3D 游戏与 2D 游戏最大的不同是 3D 游戏是在模拟一个真实世界,下面我对打砖块游戏场景中的主要 3D 节点做个简要说明. 主灯光 当我们创建场景时,引擎为会我们默认创建两个节点:灯光.摄像机. Main Light它是一只平行灯光,模拟真实世界中的太阳,你将它放在任何位置场景效果…
上一篇文章写了一个简易版的蚂蚁庄园登山赛,有小伙伴留言说想要看星星球的,那么就写起来吧! 效果预览 配置环境 cocos creator 3d 1.0.0 小球点击 3d里节点无法用 cc.Node.EventType.TOUCH_START 监听.最终在论坛上找到一个 raycast 解决方法.参考代码如下. start() { systemEvent.on(SystemEventType.TOUCH_START, this.onClickBall, this); } private _ray…
拇指射箭!你能射中靶心么? 效果预览 配置环境: cocos creator 3d v1.0.0 玩法介绍: 长按屏幕,拖动瞄准,放手发射.风向.重力和距离影响最终结果!越靠近中心得分越高!最高分10分! 实现原理 流程图: 镜头控制: 采用两个摄像机控制镜头显示.一个是发射视角的摄像机:另一个是绑定在箭节点的摄像机,会跟随箭一起移动.通过控制摄像机节点的 active 实现镜头切换. 弓箭控制: 通过触摸移动的距离乘以一个调控系数,控制弓箭的位置. private onTouchMove(to…
哎呀?为什么我设置了节点点击回调没反应呀? 记得在写小鸡拍拍的时候遇到一个问题,想要捕捉排球的点击事件,按照 2d 的写法,给3d 节点添加 node 事件,结果点了没反应.代码大概是以下的样子. this.node_volleyball.on(Node.EventType.TOUCH_START, () => { console.log('不可能看见我') }, this); 后来在论坛上找了个方法,稀里糊涂的写上去就完事了. 但是,最近我把版本升级到 v1.0.1 之后,发现之前的方法不管用…
你的命中率是多少呢?文章底部试玩! 效果预览 配置环境: Cocos Creator 3D v1.0.1 玩法说明: 触摸屏幕,向上滑动投篮!注意篮板是会移动的哦!看看你的命中率是多少! 实现原理 为了能达到好的投篮效果,在网上找了一个投篮机参数,大致按照实际参数设置篮框大小,球的大小,以及篮框的位置. 碰撞器: 篮板直接使用 盒碰撞器组件(BoxColliderComponent),篮球使用的是 球碰撞器组件(SphereColliderComponent). 因为没有 圆环碰撞器组件,所以对…
五邑隐侠,本名关健昌,10年游戏生涯,现隐居五邑.本系列文章以TypeScript为介绍语言. 这一篇将介绍在游戏客户端常用的架构MVC架构.一个游戏的MVC如下划分: M:1)单例全局的数据中心World,所有游戏模块的数据在World中有入口,2)各个模块自己的数据结构. V:1)通过creator预制体制作的UI界面.场景,2)各个界面显示逻辑的ViewCtrl C:1)全局的MainCtrl,2)各个模块的业务逻辑类ModuleCtrl 先介绍M部分.由于一个模块的数据,在其他模块也有访…
五邑隐侠,本名关健昌,10年游戏生涯,现隐居五邑.本系列文章以TypeScript为介绍语言. 我们在cocos creator新建一个Hello TypeScript项目,都会有一个assets/Scene/helloworld.fire文件.使用cocos creator开发游戏时,项目可以只有一个.fire文件.一般地,我会把这个文件夹改名为assets/scene,下面只有main.fire文件:assets/scene/main.fire. 双击main.fire文件,在层级管理器可以…
五邑隐侠,本名关健昌,10年游戏生涯,现隐居五邑.本系列文章以TypeScript为介绍语言. 我们已经知道怎样制作.加载.显示界面.但cocos没有提供一个弹窗管理模块,对于一个多人合作的项目,没有统一的管理,界面层级容易混乱.作为主程,在项目开始就应该处理好这些问题,将弹窗划分为不同的层次,不同类型的信息显示在不同的层中.下面将讲解怎样设计弹窗堆栈. 一般地,从下向上,我会将弹窗划分为以下层: 1)内容层,展示游戏相关的信息界面. 2)tips层,显示提示性信息界面,例如获得物品的浮窗.网络…
五邑隐侠,本名关健昌,10年游戏生涯,现隐居五邑.本系列文章以TypeScript为介绍语言. 前面已经介绍怎样加载资源.管理弹窗.开发一个网络游戏,难免要处理网络通信.有几点问题需要注意: 1.服务端为了快速开发可能前期使用http通信,后面再改成websocket/socket. 2.同时存在http和websocket/socket通信 3.通信数据格式可能需要随时替换为json或protocol buffer,可能需要添加额外头部. 4.在新手引导里使用本地数据做模拟,请求不需要发送给后…