我们使用PlayCanvas做了一个“掂球”的小游戏,在这个小游戏中玩家需要点击落下的足球使之停留在空中。

本教程包含如下主题:

1 场景(Scene)和层级(Hierarchy)

2 材质设置

3 游戏脚本

4 球体物理和输入

5 声音和效果

6 用户操作界面

这不是一个手把手的教程,但我们将会讨论制作过程中的每一步,并解释他们组合起来是如何工作的。我们建议将游戏工程下载到您的个人账户下并且跟着做。

第一部分:场景和层级

PlayCanvas中的场景是用具有层级结构的不同实体Entity来描述的。每一个实体可以看作是应用程序中的一件东西,他们都有ID,名称和变换(transform)这几个属性。这里所谓的“变换”实际上就是三维空间中一个定义了位置、旋转和比例变换的矩阵。构造一个场景的过程,就是创建一些实体,并将其放在不同的层级结构中,正如编辑界面的左侧显示的树状结构一样。这种树状结构允许父节点影响子节点,即所有子节点继承了父节点的位置、旋转和缩放属性。同样的,当你禁用了一个父实体,他所有的子实体也就被禁用了。

如下图所示,掂球游戏的场景中的层级结构共有7个顶级实体。

摄像机实体(Camera Entity)

程序运行后,屏幕上将显示与摄像机所对的视角相同的画面。这个游戏中,我们仅有一个固定的摄像机。

定向光源实体(Directional Light Entity)

3D模型需要光源照射才能显示出来。一个场景中同时使用的光源越多,则渲染场景所需的时间就越长。而这将会影响到你的游戏的帧率。因此,你不应该让过多的光源同时生效。这个游戏中,我们只使用了一个固定的定向光源。

足球实体

足球是游戏场景中主要的动态实体。足球实体包含三个与之绑定的组件。选择足球实体后可在编辑器右侧的属性面板中看到这些组件。他们是:

声音组件:

声音组件可以播放声音文件。每个声音组件都有一组插槽,每个插槽可以指定一个声音文件。你可以选择声音播放的设置,如音量或者快慢。足球仅有一个插槽,它指定了当球弹起时的声音文件。

模型组件:

模型组件用来为实体附着三维模型资源。当一个实体的模型组件生效时,其三维模型就会在实体所在的三维空间渲染。这里我们附着了一个足球的模型。

脚本组件:

脚本组件用来为实体绑定javascript脚本。每个实体都会创建一个javascript文件中定义的脚本实例,这样你就可以自定义实体的行为。更多关于脚本的细节,我们在第三部分介绍。

背景

背景实体拥有另一种模型组件。这次,他为游戏提供了一个背景的背板。实际上,背景是一个应用了一种材质的平板实体,这种材质的表面使用了足球场的纹理贴图。这里的材质使用了发光的选项,这样背景看起来才足够明亮,而且不会被光源和足球遮挡。

特效实体

特效实体是一种粒子效果,它在足球弹起时展现出来。细节在第四章介绍。

音频

音频实体绑定了更多的声音组件。它用来播放音乐和游戏结束时的声音。

用户操作界面(UI)

UI实体是多个其他实体的父实体,对应游戏的每个操作界面。第五部分详细介绍。

使用PlayCanvas制作一个简单的小游戏(一)相关推荐

  1. 使用PlayCanvas制作一个简单的小游戏(三)

    原文:http://developer.playcanvas.com/zh/tutorials/beginner/keepyup-part-three/ 游戏脚本和输入 在场景的根实体Game上绑定了 ...

  2. 使用PlayCanvas制作一个简单的小游戏(四)

    原文: 足球 足球是掂球游戏的焦点.它响应玩家的输入,响应环境(如重力),发出声音等.它也许是游戏中最复杂的部分.幸运的是,我们会尽可能的深入浅出. ball.js pc.script.attribu ...

  3. 使用PlayCanvas制作一个简单的小游戏(二)

    原文:http://developer.playcanvas.com/zh/tutorials/beginner/keepyup-part-two/ 设置材质 在这个游戏中,我们尽可能的使用了简单的图 ...

  4. 用turtle库制作一个简单的小游戏《鸡子大战篮球》

    刚上大学,学习python不到两月半,连简单的字典.元组数据类型都还没有捂熟.这不刚好python小组作业是用turtle库画自己喜欢的图案吗,在我们小组的努力下我们画好了5只小只因,于是我就大胆的进 ...

  5. Java制作一个简单地小游戏

    package 代码部分; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import jav ...

  6. unity编写一个简单的小游戏

    unity编写一个简单的小游戏 简易fly bird的制作 关于flybird 场景的搭建和素材的导入 使用素材搭建game和scene 制作柱体 bird的script column的sprite ...

  7. 使用小程序制作一个飞机大战小游戏

    此文主要基于微信小程序制作一个飞机大战小游戏,上手即用,操作简单. 一.创建小程序 二.页面实现 三.代码块 一.创建小程序 访问微信公众平台,点击账号注册. 选择小程序,并在表单填写所需的各项信息进 ...

  8. c语言写一个简单的小游戏-推箱子

    在学习C语言之后,写了一个简单的小游戏来锻炼自己的代码以及C语言知识的掌握能力. 推箱子作为手机上最常见的简单游戏,其代码也相对简单,想法也比较简单,下面为其代码和运行图. /************ ...

  9. 一个简单的c 游戏编程语言,编程达人 c语言写一个简单的小游戏-推箱子

    在学习C语言之后,写了一个简单的小游戏来锻炼自己的代码以及C语言知识的掌握能力. 推箱子作为手机上最常见的简单游戏,其代码也相对简单,想法也比较简单,下面为其代码和运行图. /************ ...

最新文章

  1. 【电影】美丽心灵的永恒阳光
  2. 调用支付jsapi缺少参数:total_fee_小程序支付问题怎么解决?
  3. 使用 Github Pages 和 Hexo 搭建自己的独立博客【超级详细的小白教程】
  4. C++ Primer 第五版 第7章类 7.1——类讲解(成员函数、非成员函数、构造函数)
  5. Java\学习——字符串
  6. 经典数学书目、各数学分支入门清单
  7. 线性代数中一些有关秩的不等式
  8. ubuntu查看磁盘分区使用
  9. CSS学习笔记 | CSS复合选择器
  10. 什么是大数据?大数据学习路线和就业方向
  11. 此工作站和主域间的信任关系失败 原因及解决办法
  12. HDMI 收发器简化家庭影院系统设计
  13. 《羊驼亡命跑》 NFT 系列:羊驼跑酷套装来袭!
  14. 正在从你的计算机中删除office,手动删除Office 2013或Office 365即点即用安装的步骤...
  15. 大学生python期末解答题_大学mooc2020年用Python玩转数据期末考试大全答案
  16. DTV/IPTV区别
  17. 业余草:《名博是怎样炼成的》经典语句整理
  18. 微信小程序调用地图设置起点终点导航
  19. 【专家访谈】测试专家 陈林钧 访谈问题收集中
  20. Android app security安全问题总结

热门文章

  1. idea工具和激活码获取
  2. 硬件中断和软件中断的区别?
  3. Matlab打开绘图工具
  4. 直击用户大脑——用户研究新方法(眼动与脑电数据分析)
  5. 对不同数据源特征提取的(详见上一篇博客问题)的进一步思考
  6. 编程java摇号购房,用java编写摇号器
  7. 表单ajax提交插件,详解javascript表单的Ajax提交插件的使用
  8. meethigher-定时刷步数收取蚂蚁森林能量
  9. 完全解读 OpenPyXL 设置 Excel 单元格样式
  10. git Cherry-pick Failed your local changes would be overwritten by cherry-pick. hint: commit your