为Cocos Creator 开发做准备,typescript简单快速入门

一,typescript简单快速入门

首先你的有其他开发语言的基础,如js java jQuery 等等


二,Cocos Creator 发展历史

2008年2月,Python版Cocos2D诞生

2008年6月,Objective-C版Cocos2D for iphone诞生,将Cocos推上高峰

之后,出现了各种语言的cocos版本,如:
Cocos2d-x Cocos2d-js Cocos2d-android Cocos2d-net等等

在这些版本之中,最有意义的就是Cocos2d-x 可以轻易做出跨平台版本,之后Cocos2D-X 诞生出两个分支 一个给wp系统用的Cocos2D-xna 还有一个2D-HTML5

CocosCreator的诞生是为了将Cocos2D-x的纯代码编辑,分解成可视化,脚本化等特点,让更多新人轻松上手

在这里插入图片描述


提示:以下是本篇文章正文内容,下面案例可供参考

三,typescript基本语法

1,变量类型

数字类型声明

let tmp1: number = 21;

字符类型声明

let tmp2: string = "21";

boolean类型声明

let tmp3: boolean = true;

any类型声明

// any 属于任意类型 类似于var
let tmp4: any = "111";

数组类型声明

let a: number[] = [1,2,3,4,5]

联合类型声明

// 当前num变量既可以保存字符又可以保存数字
let num: number | string = 0;

特殊字符的输出
在这里插入图片描述

2,枚举类型

enum Color{
    
    
	red,
	blue,
	green
}
// 取值/赋值
let tmp:Color = Color.green

3,类型别名

type NewNumber = number;
let num:NewNumber = 3;

4,函数定义

// 接收一个字符 和一个数字类型参数
function func(char:string,num:number){
    
    

}

5,对象创建以及使用

class Person{
    
    
	name:string = "默认值";
	age:number = 0;
	
	say(){
    
    
		// 方法体
	}
}
// 实例化对象
let a = new Person();
a.name = "唐僧";
a.age = 20;
a.say();

6,构造方法

class Person{
    
    
	name:string = "默认值";
	age:number = 0;
	
	constructor(name:string,age:number){
    
    
		this.name = name;
		this.age = age;
	}
	
	say(){
    
    
		// 方法体
	}
}
// 实例化对象
let a = new Person("唐僧",20);

6,静态方法

class Person{
    
    
	name:string = "默认值";
	age:number = 0;
	
	constructor(name:string,age:number){
    
    
		this.name = name;
		this.age = age;
	}
	
	static test(){
    
    
	}
	
	say(){
    
    
		// 方法体
	}
}
// 调用静态方法
Person.test();

7,抽象类的定义

abstract class Person{
    
    
	name:string = "";
	run(){
    
    
	}
	abstract say();
}
class Student extends Person{
    
    
	say(){
    
    
	}
}
let a:Person = new Student();

8,接口的定义

class Person{
    
    
	name:string;
}
interface I1{
    
    
	a();
}
interface I2{
    
    
	b();
}

class Test extends Person implements I1,I2{
    
    
	// 重写 a方法 和 b方法
	a(){
    
    
	
	}
	
	b(){
    
    
	
	}
}

9,属性寄存器

class Person{
    
    
	_hp:number = 100;
	
	get hp(){
    
    
		return this._hp;
	}

	set hp(value){
    
    
		this._hp = value
	}
}
// 注意的是,实例直接 点 hp即可
let a = new Person();
a.hp = 180;

10,名称空间

防止撞类

namespace aa{
    
    
	export class Person{
    
    
		name:string
	}
}	

namespace bb{
    
    
	export class Person{
    
    
		
	}
}
// 实例化
let person = new aa.Person();
let person2 = new bb.Person();

11,泛型

// function add(num: any): any{}//这句代码代表了传入任意类型,返回任意类型
// T 则一样
function add<T>(num:T):T{
    
    
	if(typeof num == "number"){
    
    
		num++;
		return num;
	}
	return num;
}

12,元组数组字典

let a:number[] = [1,2,3];
let b:Array<number> = new Array<number>();

// 长度
a.length
// 追加
a.push(4);
// 前面追加
a.unshift(0);
// 删除最后元素
a.pop();
// 从第几位开始删除几个
a.splice(0,1);
//删除最前面的
a.shift();
// 合并
a = a.concat(b);
// 查找位置
let index = a.indexOf(3);
// 排序
a.sort();
// 反转
a.reverse();


// 字典 定义为key为string value为string的字典
let dic:{
    
    [key:string]:string} = {
    
    
	"name":"唐僧",
	"name2":"孙悟空"
}
// 字典赋值
dic["name3"] = "八戒";

13,回调

// 函数传参
function func(value: Function){
    
    
value();
}
function test(){
    
    
console.log("test111"):
}
func(test)
func(function(){
    
    
	console.log("test22222")
})
func(()=>{
    
    
	console.log("test3333")
})

14,修饰符

public 公开的
protected 受保护的
private 私有的

猜你喜欢

转载自blog.csdn.net/Susan003/article/details/127138494