ワン、typescript シンプルでクイックスタート
首先你的有其他开发语言的基础,如js java jQuery 等等
記事ディレクトリ
第二に、ココスクリエーターの開発履歴
2008 年 2 月、Cocos2D の Python バージョンが誕生しました。
2008 年 6 月、iPhone 用の Cocos2D の Objective-C バージョンが誕生し、Cocos はその頂点に達しました。
その後、
Cocos2d-x Cocos2d-js Cocos2d-android Cocos2d-net など、さまざまな言語の cocos バージョンが登場しました。
これらのバージョンの中で最も意味のあるのは、Cocos2d-x がクロスプラットフォーム バージョンを簡単に作成できることであり、その後、Cocos2D-X は wp システム用の Cocos2D-xna と 2D-HTML5 の 2 つのブランチを生み出しました。
CocosCreator の誕生は、Cocos2D-x の純粋なコード編集を可視化やスクリプティングなどの機能に分解し、より多くの初心者が簡単に始められるようにすることです。
提示:以下是本篇文章正文内容,下面案例可供参考
第三に、typescript の基本構文
1. 変数型
数値型宣言
let tmp1: number = 21;
文字型宣言
let tmp2: string = "21";
ブール型宣言
let tmp3: boolean = true;
任意の型宣言
// 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. 修飾子
パブリック パブリック
保護 保護
プライベート プライベート