Cocos Creator + TypeScript 初体验

本篇文章的主要目的只有一个

把一部分 JS 党转化到我 TS 党下。


01

前提

无论学什么技术知识,官方文档都应该是你第一个教程,所以新手上路请先至少阅读这一节 http://docs.cocos.com/creator/manual/zh/getting-started 再来看这篇文章。

这里假设你已经成功安装了 Cocos Creator。

02

TypeScript VS JavaScript 

这里当然只会讲优点:
1、TS 是 JS 的超集,所有 JS 的语法 TS 都支持;
2、TS 支持接近完美的代码提示,JS 代码提示接近于没有;
3、TS 有类型定义,编译时就可以排除很多无意义的错误;

4、TS 可以重构,适合大型项目;
5、TS 可以使用 ES6 async之类的所有新语法。而 JS Cocos Creator 还没有完全支持 ES6;
6、最重要的一点:我以后的教程都会用 TS 写,如果你不用 TS,你就会永远失去我了。

代码编辑器选择,这里只推荐两个:

1、Visual Studio Code

2、WebStorm

vs code 的优点是快,与 Cocos Creator 结合的好,一些功能需要自己安装插件。

webstorm 的优点是所有你想要的功能都先天内置了,缺点是占内存,个人感觉还有点丑。

对于我自己来说,我在公司用 WebStorm,在家用 VS Code。

如果你还是不知道用哪个,我只能先推荐你用VS Code,因为下面的内容是面向 VS Code。

03

学习 TypeScript  

既然要用 TS 开发游戏,肯定要知道 TS 的语法,我这一篇文章不可能把所有 TS 的语法都讲完,所以针对新手建议查看一下 TS 的基本文档: https://www.tslang.cn/docs/home.html,当然,不一定要一次性全看完,你可以先看个大概,遇到问题再补习。

TypeScript 环境配置

任意打开一个项目,把这几个都点一遍


53696bc51933e90422244c1905e0703e.jpeg

控制台会输出


6bda2023c48ec8a5037bbddcf91433eb.jpeg

打开编辑器,你会发现一个名字为 creator.d.ts 的脚本


d017263fb27d6d7c61017596ab635277.jpeg


creator 的提示都依靠这个脚本,引擎的 API 变动也要及时更新这个脚本,所以每次更新引擎的时候都要重新点一次上面那个“更新 VS Code 提示数据“重新生成 creator.d.ts。

资源管理器右键新建一个 TS 脚本,点开后你会发现有很多没用的东西,而且还会有一个提示错误。

8b90917d0eb1e14bd08973ba2f921751.jpeg

编辑器右上角 “打开程序安装路径”

e84b68754b5e1ff58dc4d450b16adbff.jpeg

static -> template -> new-script.ts
这个脚本就是新建 TS 脚本的默认样式,我们重新编辑后的脚本如下

adf27d2c75828de860b861b5b2610875.png

新建一个 TS 脚本,你会发现跟刚才编辑的默认脚本是一个样子了。

配置自己的声明文件

以 d.ts 为后缀名的文件,会被识别为声明文件,creator.d.ts 是引擎的声明文件,我们也可以定义自己的声明文件,需要注意的是声明文件要放在 assets 文件外,因为 assets 文件里的脚本都会被引擎编译,而声明文件的作用就是写代码时提示一下,编译之后就不需要了。

举个栗子


在项目的根目录添加一个 global.d.ts 文件


99ef795782dee49949258996be79398e.jpeg


然后在项目里的脚本里就可以得到对应的提示


133b81f5cb5ea0f75d96f967369ecea6.png

368d17c848d4996e5f3853f80df7ee4a.png

更多类型定义戳 

https://www.tslang.cn/docs/handbook/declaration-files/introduction.html

属性类型声明

5f17831fb6284fb4df76fd6efef826e9.jpeg

457c935c01d428739a7d94a8baf4a467.jpeg

cc5c1e0a9a51d552d7ec3eededa9ee29.png

04

用 TypeScript 写一个游戏

最后我们来切身体会一下 TypeScript 的丝滑柔顺。

挑一个熟悉的游戏来写,官方文档里有一个摘星星的游戏,我们用 TS 重新写一下。

第一步:新建一个工程

67d49dbb46afe76fd4cbc8d5ded82300.jpeg

第二步:写几个脚本

Game.ts

77658694351c21bc274a357fc1c125e0.jpeg

75b9395555dc3f32e4bb7dc5ad1200fa.jpeg

b4ba72480a88a5126c6158cb99fd4d98.jpeg

8825c7502d625b0f93aba71218a0684d.jpeg

Player.ts

d7bf5294c61fc1ab0a10df03047e6411.jpeg

db0e42ab8c74627d41cf7351e5c06f3a.jpeg

55eea23a70a9cde86071add5e5f130e9.jpeg

c76d6d20c01d5023f6852c5b81fea2e5.jpeg

fe3caaca20b465c3118563de2e8e6350.jpeg

1dadd72d6df1366f1f9e0fa835d17d8c.jpeg

Star.ts

1a87c08afffa2dc063f322500c960f29.jpeg

f943f903ae060164e000ce89f0d7721d.jpeg

05

游戏完成,开搞! 

小伙伴们可以选择把游戏发布到 Github Pages(对于这个发布过程有疑问的,C姐会找个时间发教程),或直接从项目链接进去试玩:https://potato47.github.io/star-catcher

e1683d2e7b722402c000c9ed784bde0b.jpeg

参考链接

http : //forum.cocos.com/t/typescript-creator-github/42200 

http://docs.cocos.com/creator/manual/zh/scripting/typescript.html 

https://www.tslang.cn / docs / home.html 

源码:https://github.com/potato47/star-catcher
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值