来点简单粗暴的文字:
A,先讲步骤
1,在 asserts/script 中建立一个文件夹(这么做仅仅是为了方便归集要用到的javascript代码)比如叫 jslibs。
2,假设我们从另外的地方拿到了一个 xx.js 文件,把它放在这个 jslibs 中。如果拿到一个yy.js,同样的放到这里面吧,免得文件太乱。
3,在这个 jslibs 中建立两个文件,一个 "随便什么名字.d.ts" 一个 "与.d.ts一样的名字.js" 文件。如(zz.d.ts 和 zz.js)
4,在zz.d.ts中声明你要用到的方法,导出一个模块。在zz.js中定义一个object,定义并引用你要用到的库。
5,在你要使用的 ts 代码中调用这个zz.d.ts声明的模块和类或方法。
B,再来点代码实例
xx.js
cc.Class({
……
sayHello : function(){/*do any things you like*/}
……
});
zz.d.ts:
export declare module hellolib { // 这个hellolib就是zz.js中导出的Object
declare class World{ // 这个 World 就是 zz.js 中导出的名字,并且在xx.js中是个Object就可以了
sayHello():void; // 这个sayHello方法,就是 js 中真正有的方法,名字对得上就可以了
}
}
zz.js
"use strict";
var whatyoulike= {};
module.exports.hellolib= whatyoulike;
// 所有要导出的类或变量在下面这里开始写
whatyoulike.World= require("./xx.js"); // 注意这个 World 它就是外部声明的 World,名字对上就可以
以上。自行推导不在cocos creator中typescript调用javascript的搞法。如果没搞出来,多试几次,看一下ts生成后的代码,理解一下javascript的模块查找机制,然后再多试几次就明白了。