中英双语-桌球小游戏(2).md

Cocos Creator入门实战:桌球小游戏(2)

How to make a simple snooker game with CocosCreator (2)

桌球小游戏是 BigBear 老师设计、撰写的中英双语的 Cocos Creator 入门教程,面向 Cocos Creator 初学者,但不论你技术如何,相信你会在 BigBear 老师的文章中有所收获。

Shawn 上周天推送了完整中文版本,为了让大家有一个好的学习体验,我将《Cocos Creator入门实战:桌球小游戏》一文拆分成若干篇中英双语的教程,我们一起学习游戏、学习英语(看我公众号的名字就知道Shawn的英语有多low)!

上一次我们介绍的是如何开启物理系统,继续我们的双语桌球教程,今天我们来布局桌球。

桌面节点

在Canvas下面创建一个子节点作为我们的桌面节点。

Create a sprite node named 'table', its parent is 'Canvas' node. This node is our billiard table.

给它添加一个cc.Sprite组件并且给予它显示的spriteFrame

Set its spriteframe proerty used the spriteframe asset named 'bg'

  • 添加RighdBody组件

Now we implement its physics features

  1. 由于桌面是静止不动的,因此我们将Type设置为Static。
  2. 去掉AwakeOnLoad,因为我们并不需要它处于唤醒状态。

  1. Since the table is motionless, we set the Type property with Static.
  2. Unselect the AwakeOnLoad property, because we do not want it awakened.
  • 添加四个边的碰撞组件

Add a 4 four-box collider component

  1. 注意不是使用碰撞组件,而是物理组件中的Collider组件
  2. 勾选Editing选项可在场景编辑器中改变碰撞体的大小和位置

  1. Make sure to select the option Enable Contact listener.
  2. you can select the option Editing , then you can change the collider size or position at scene editor.
  • 添加六个袋口的碰撞组件

add 6 circle collider component

  1. 这里用的碰撞题为CircleCollider
  2. 袋口碰撞体的tag我们设置为1
  3. 这里是为了在碰撞回调中与四周的边区分开来,便于判断

  1. Add six circle collider components. Through these collisions, we can know when the ball goes into the bag.
  2. Set these circle collider tag property to 1.
  3. This property will help us to know which collider is colliding .

最终的节点碰撞体应调整为这样的效果:

When you finish these steps, you will see the table in the scene editor with debug info drawing. Example:

本文分享自微信公众号 - Creator星球游戏开发社区(creator-star)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-08-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云原生实验室

Kubernetes Pod 驱逐详解

在 Kubernetes 中,Pod 使用的资源最重要的是 CPU、内存和磁盘 IO,这些资源可以被分为可压缩资源(CPU)和不可压缩资源(内存,磁盘 IO)。...

13120
来自专栏前端一会

《你不知道的JavaScript》:Promise使用的较佳实践

Promise的设计局限性有一个让人掉坑的地方,即Promise链中错误容易被无意中默默忽略掉。

8540
来自专栏前端一会

nvm安装多版本nodejs

在熟悉了原生JavaScript和nodejs之后,要开始进入到前端项目构建工具的范畴了,这是后期便于使用vue等的必经之路,毕竟磨刀不误砍柴功嘛,熟悉了生产力...

27820
来自专栏云原生实验室

Macvlan 网络方案实践

通过上篇文章的学习,我们已经知道 Macvlan 四种模式的工作原理,其中最常用的就是 Bridge 模式,本文我们将通过实验来验证 Macvlan Bridg...

14140
来自专栏前端一会

nodejs中如何使用流数据读写文件

在nodejs中,可以使用fs模块的readFile方法、readFileSync方法、read方法和readSync方法读取一个文件的内容,还可以使用fs模块...

42740
来自专栏业余草

3主3从,Redis 集群搭建指南

网上有很多文章讲 Redis 集群的,但是真正用来实战的很少。纯理论的文章看的太多了,缺乏实战。今天抽个时间,我们来把理论是实践一锅端了吧!

13720
来自专栏雪山飞猪

express捕获全局异常的三种方法

express的路由里抛出异常后,全局中间件没办法捕获,需要在所有的路由函数里写try catch,这坑爹的逻辑让人每次都要多写n行代码 官方错误捕获中件间代...

15030
来自专栏全栈者

面向前端工程师的Nodejs入门手册

数据库,网站系统最重要的部分之一,它好比一个人的大脑,可以记下开发者们想让它记下任何的事情,而且它比人脑更可靠更精准。

11530
来自专栏前端一会

《你不知道的JavaScript》:ES6 Promise API 详解

new Promise(…) 构造器的参数必须提供一个函数回调。这个回调是同步的或者立即调用的。这个函数又接受两个函数回调参数,用以支持promise的决议。通...

11350
来自专栏前端一会

nodejs进程对象process的nextTick方法应用场景

在nodejs中只支持单线程。在操作系统中,每个应用程序都是一个进程类的实例对象。在nodejs中,就是使用process对象来代表nodejs应用程序。

8520

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励