layabox 学习之ts学习

最近公司准备把小游戏让我们来维护,是使用layabox开发的,但是之前,我完全没有游戏开发经验,也没有用过laya,对里面的一些概念完全不了解,但是赶鸭子上架,那是不得不学了,B站上的教学视频也不多,看官网的教程又有点乏味,有点蛋疼。

下午看了下教程,看看我还记得多少,

场景,节点,文本,图片,,,,然后就是TS了,还有class,说实话,js里面的class我就用得贼少,基本没用过,所以,看到大量使用class的语法的我就有懵逼,那今天就以ts里面class的基本写法来结束吧。

我看class里面有很多关键字,这些都是我之前不了解的。

说实话,es6,es7,ts,这里面类里面的关键字总是让我傻傻分不清楚

现在大概是知道了,不过不能灵活运用

es6 static 静态方法

es7 的提案里面有加上了静态属性

TS里面把这些都实现了,并且还扩展了,比如public private protected之类的,还有什么抽象类呀,....,这些跟java或者c#据说是很像的,但是其他的强类型语言我也没学过呀,反正都是大神们说的,我什么都不知道。

照旧贴一下我的学习demo代码吧

class Animal1 {
  constructor(name) {
    this.name = name;
  }
  say() {
    console.log(`hello,my name is ${this.name}`);
    return `hello,my name is ${this.name}`;
  }
}

let a1 = new Animal("大黄");
// a1.say();

class Dog extends Animal {
  constructor(name) {
    super(name);
    console.log(this.name);
  }
  crow() {
    // console.log(super);
    console.log(super(), "xxxxxx");
    let res = `mow ` + super.say();
    // console.log(res);
  }
}

let d1 = new Dog("二哈");
d1.crow();

/***
 * ES6中的类有几种关键字
 * 
 * 静态方法,就是类自己身上的方法,不是实例的方法
 * static create(){xxxxx}
 * ES7里面又有一些提案,
 * 1,比如实例属性的写法
 *  es6里面之前都是写在constructor构造函数里面的,比如,this.name=name
 * 现在不用了,直接写在类里面
 * 比如class Animal{
 *  name:'jack'
 *  constructor(){
 *  xxxxxx
 * }
 * } 
 * 实例就可以直接使用name这个属性
 * 2,静态属性
 *  static num=43;
 * 
 * 上面的这些在ts里面都被实现了。
 * TS里面新增了三种修饰符
 * 1,public  修饰的属性或方法是公有的,可以在任何地方被访问到,默认所有的属性和方法都是 public 的
 * 2,private 修饰的属性或方法是私有的,不能在声明它的类的外部访问
 * 3,protected 修饰的属性或方法是受保护的,它和 private 类似,区别是它在子类中也是允许被访问的
 * 
 * 
 * ***/

还贴一个ts教程里面的一段代码

abstract class Animal {
  public name;
  public constructor(name) {
    this.name = name;
  }
  public abstract sayHi();
}

class Cat extends Animal {
  public sayHi() {
    console.log(`Meow, My name is ${this.name}`);
  }
}

let cat = new Cat("Tom");
cat.sayHi();

 

 

说实话,本来ts就想学,但是呢,一直没有在项目中去使用,所以一直是停留在文档学习阶段,各种东西学了就忘,很尴尬,现在这个laya其实也是推荐使用ts来开发,所以,现在ts切切实实的要搞起来了,不然真的代码都看不懂啦。

 

posted @ 2020-11-28 01:09  yang_nick  阅读(368)  评论(0编辑  收藏  举报