Cocos Creator 相关(第二课)

231 阅读1分钟
// 预设体
@property(cc.Prefab)
pre: cc.Prefab = null


// 创建节点
// let node = new cc.Node("New");
// node.addComponent(cc.Sprite);


// 动态资源加载
cc.loader.loadRes("/test/wode2.png", cc.SpriteFrame, (err, sp) => {
    this.getComponent(cc.Sprite).spriteFrame = sp
});

// 加载图集
cc.loader.loadRes("/test/1", cc.SpriteAtlas, (err, altas: cc.SpriteAtlas) => {
    this.getComponent(cc.Sprite).spriteFrame = altas.getSpriteFrame('b')
})

// 优点 方便  缺点  加载大资源较慢 需 预加载
// 场景切换
cc.director.loadScene('game2', () => {
    // 初始化操作
})

// 预加载
cc.director.preloadScene("game2", () =>{
    // 场景加载内存,但是还没有用
    cc.director.loadScene("game2")
})

// 常驻节点
cc.game.addPersistRootNode(this.node)
// 移除节点
cc.game.removePersistRootNode(this.node)

// 监听键鼠事件
// 按下 MOUSE_DOWN
// 进入目标区域移动 MOUSE_ENTER
// 当鼠标移出目标节点区域时,不论是否按下。 MOUSE_LEAVE
// 当鼠标滚轮滚动时。 MOUSE_WHEEL
// 当鼠标从按下状态松开时触发一次。  MOUSE_UP
// 当鼠标在目标节点在目标节点区域中移动时,不论是否按下。 MOUSE_MOVE
this.node.on(cc.Node.EventType.MOUSE_DOWN, (event) => {
    console.log("鼠标按下了" + event.getLocation());
    if (event.getButton() == cc.Event.EventMouse.BUTTON_LEFT) {
        console.log("左键");
    } else {
        console.log("右键");
    }
})

 // 键盘按键事件
cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN, (event) => {
    console.log("键盘", event.keyCode);

    if (event.keyCode == cc.macro.KEY.q) {
        console.log("qqq");
    }
})

// 触摸事件
this.node.on(cc.Node.EventType.TOUCH_START, (event) => {
    console.log("触摸", event.getID(), "" + event.getLocation());

    // 调用事件
    // this.node.emit("meywode")
    this.node.dispatchEvent(new cc.Event.EventCustom("meywode",true))
})

// 监听自定义事件
this.node.on("meywode", (event) => {
    console.log("触发我自己的事件",event);
})

image.png