- 博客(19)
- 收藏
- 关注
转载 个人TypeScript学习(12)---协变与逆变
协变与逆变原文链接: what are covariance and contravariance子类型 在编程理论上是一个复杂的话题,而他的复杂之处来自于一对经常会被混淆的现象,我们称之为协变与逆变。这篇文章将会解释上述两个概念。开始文章之前我们先约定如下的标记:A ≼ B 意味着 A 是 B 的子类型。A → B 指的是以 A 为参数类型,以 B 为返回值类型的函数类型。x : A 意味着 x 的类型为 A。一个有趣的问题假设我有如下三种类型:Greyhound ≼ Dog
2021-08-19 17:50:29 211
转载 个人TypeScript学习11--关于枚举
1.数字类型枚举enum Color { Red, Green, Blue}let col = Color.Red;col = 0; // 有效的,这也是 Color.Red在被编译成js后var Color;(function (Color) { Color[Color["Red"] = 0] = "Red"; Color[Color["Green"] = 1] = "Green"; Color[Color["Blue"] = 2] = "Blue";
2021-08-19 16:42:38 150
原创 cocos creator 关于动态设置节点位置(世界坐标和相对坐标转换)踩坑
一般写法为,如果想将A动态设置到B的位置,要先将B的坐标相对于B的父节点转换成世界坐标pos = b.parent.convertToWorldSpaceAR(b.position)再将此坐标转换到A的父节点的相对坐标targetPos = a.parent.convertToNodeSpaceAR(pos)a.position = targetPos但在设置坐标时会碰到一个问题,如...
2020-04-02 23:15:49 7235
原创 cocos creator 关于setSiblingIndex和zIndex的踩坑
setSiblingIndex函数是设置同级父节点下的子节点顺序,但是会出现重新排序的问题,如果在一次循环中传入的参数是跳跃的,有时候不会达到预期的目标(个人理解不一定对)。而zIndex是设置渲染的优先级,zIndex默认为0,越大显示越在上层。如果使用setSiblingIndex来做子节点层级显示的功能,建议传入的参数是连续的,这样不容易出现问题。...
2020-02-14 23:46:22 6560
原创 cocos creator学习个人踩坑(3)--关于项目调试在一些安卓机上FPS低
一些cocos creator遇到的小问题问题在做点消游戏项目的时候,在一些旧的安卓机上测试时消除特效显示会有明显的卡顿,火箭消除会有残留,FPS下降明显原因通过真机调试,发现日志输出会明显导致FPS下降,在电脑上无法体现出这一点,并且在生成新的prefab而不是从缓存池中获取时会有明显FPS下降解决注释掉所有的cc.log(),FPS正常了。进一步优化可以在游戏初始在缓存池 中存入更...
2020-01-22 22:10:19 1072
原创 cocos creator学习个人踩坑(2)--关于同级节点的顺序
一些cocos creator遇到的小问题问题在做点消游戏项目的时候,产生的新物体会压住原来的物体原因产生新物体时,由于是直接在父节点上addchild,所以新生成的节点索引在最下面,但是界面表现上是从上面掉下来,在最上层,导致美术图片上显示的上面的图片会压盖住下面的图片解决利用setSiblingIndex这个方法,可以设置同级node在父节点上的索引,每次生成结束,重写设置一下各个...
2020-01-08 22:33:50 1262
原创 个人typescript学习笔记(10)---关于异步
纯属个人学习,加深记忆使用。一些初步的认识promise只有promise才能使用async await.promise封装了一些异步操作的对象由异步返回结果给定状态:pengding->resolved、pengding->rejected,转换结果不可逆。promise 使用直接new一个promise对象,有两个参数resolve、rejecte,异步调用成功后用r...
2019-12-18 14:53:47 364
原创 cocos creator学习个人踩坑(1)--关于节点监听事件
一些cocos creator遇到的小问题问题编写this.node.on( cc.Node.EventType.TOUCH_END)方法监听事件,点击没有响应原因node监听事件需要注意绑定脚本的节点的设置大小,如果绑定的节点是一个空节点(即便子节点有大小)那么size为0,所以点击没有反应。解决设置一下绑定脚本的节点的size...
2019-12-12 23:09:03 1199
原创 个人typescript学习笔记(9)---装饰器
纯属个人学习,加深记忆使用。装饰器一种特殊类型的声明,能够被附加到类、方法、属性或参数上,可以修改类的行为类装饰器function logClass(params: any) { //类装饰器 console.log(params); //params就是当前类 params.prototype.apiUrl = '动态扩展的属性'; params.prot...
2019-11-24 20:08:11 145
原创 个人typescript学习笔记(8)---命名空间
纯属个人学习,加深记忆使用。命名空间主要用于组织代码,避免命名冲突使用关键词 namespace命名空间内的类和方法也需要 export进行暴露namespace a { interface Animal { name: string; eat(str: string): void; } export class Dog imp...
2019-11-24 19:08:09 93
原创 个人typescript学习笔记(7)---模块
纯属个人学习,加深记忆使用。模块的概念我们可以把一些公共的功能单独抽离成一个文件作为一个模块模块里面的变量、函数、类等默认是私有的,如果我们要在外部访问模块里的数据(变量、函数、类)我们需要通过 export 暴露模块里面的数据暴露之后我们通过 import 引入模块就可以使用模块里面暴露的数据模块(modules/db.ts)var dburl = 'xxxx';export ...
2019-11-24 18:30:31 90
原创 个人typescript学习笔记(6)---类型、接口、类、泛型综合使用
Typescript 封装统一操作MySql Mssql的底层库注意:约束统一的规范、以及代码的重用解决方案:需要约束规范所以要定义接口,需要代码重用所以用到泛型interface DBI<T> { add(info: T): boolean; update(info: T, id: number): boolean; delete(id: number)...
2019-11-24 17:50:48 110
原创 个人typescript学习笔记(5)---泛型
纯属个人学习,加深记忆使用。ts的泛型泛型:可以支持不特定的数据类型function getData<T>(value:T):T{//要求:传入的参数和返回的参数一致,使用any放弃了参数检查。 return value;}泛型类class MinClass<T> { public list: T[] = []; add(num: T)...
2019-11-23 17:31:43 123
原创 个人typescript学习笔记(4.2)---接口
纯属个人学习,加深记忆使用。可索引接口对数组、对象的约束(不常用)interface userArr{ [index:number]:string}var arr:userArr = ['123','456'];console.log(arr[0]);interface userObj{ [index:string]:string}var arr1:userOb...
2019-11-22 21:37:57 107
原创 个人typescript学习笔记(3.2)---类
纯属个人学习,加深记忆使用。静态属性 静态方法使用 static 关键字class Person { name: string; //属性 省略了public关键词 static sex = '男'; constructor(name: string) { //构造函数 this.name = name; } static print(...
2019-11-20 20:01:41 67
原创 个人typescript学习笔记(3.1)---类
纯属个人学习,加深记忆使用。ts中类的定义class Person { name: string; //属性 省略了public关键词 constructor(name: string) { //构造函数 this.name = name; } getName():string{ return this.name; }...
2019-11-20 18:20:41 113
原创 个人typescript学习笔记(2)---es5中的类(复习)
纯属个人学习,加深记忆使用。es5中类的定义function Person() { this.name = "张三"; //属性 this.age = 20; this.run = function () { //实例方法 console.log(this.name + "跑步"); }}Person.getInfo = f...
2019-11-20 17:32:11 89
原创 个人typescript学习笔记(1)---函数
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-11-20 16:47:14 86
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人