cocos creator笔记(8)

1.向量和标量

标量: 只有大小的量
向量: 既有大小,也有方向
向量的模: 向量的大小
单位向量: 大小为1的向量
单位化,归一化: 把向量转为单位向量的过程、

2.向量的运算

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.脚本


const {ccclass, property} = cc._decorator;

@ccclass//让编译器知道属于cocos里的类
export default class NewScript extends cc.Component {//在第二个脚本里想用第一个脚本里的类 必须加 export default关键字

    @property(cc.Label)//如果不是基本类型想让它显示括号要加类的名字
    label: cc.Label = null;

    @property//面板显示,可以在面板进行修改
    text: string = 'hello';

    // LIFE-CYCLE CALLBACKS:

    // onLoad () {}

    start () {

    }

    // update (dt) {}
}

4.脚本生命周期


const {ccclass, property} = cc._decorator;

@ccclass//让编译器知道属于cocos里的类
export default class NewScript extends cc.Component {//在第二个脚本里想用第一个脚本里的类 必须加 export default关键字

    @property(cc.Label)//如果不是基本类型想让它显示括号要加类的名字
    label: cc.Label = null;

    @property//面板显示,可以在面板进行修改
    text: string = 'hello';

    // LIFE-CYCLE CALLBACKS:
    //初始化调用
    onLoad () {
        console.debug("onload");
    }
        
        
    onEnable() {
        console.debug("onEnable");
    }
    //初始化调用
    start () {
        console.debug("start");
    }
    //每帧都调用的
    update (dt) {//dt每一帧的执行时间

    }
    //在每一帧后执行一次
    lateUpdate() {
         
     }
    
    onDisable() {
        
    }
    //销毁时调用
    onDestroy() {
        console.debug("onDestory");
    }

}

在这里插入图片描述

5.节点常用方法属性


const {ccclass, property} = cc._decorator;

@ccclass//让编译器知道属于cocos里的类
export default class NewScript extends cc.Component {//在第二个脚本里想用第一个脚本里的类 必须加 export default关键字

    @property(cc.Label)//如果不是基本类型想让它显示括号要加类的名字
    label: cc.Label = null;

    @property//面板显示,可以在面板进行修改
    text: string = 'hello';

    // LIFE-CYCLE CALLBACKS:
    
    //初始化调用
    start () {
        //拿到第一个子节点
        this.node.children[0];    
        //拿到叫abc的节点
        this.node.getChildByName["abc"];
        //通过路径获得节点
        cc.find("Canvas/Main abc");
        //设置一个父节点
        this.node.setParent(abc);
        //获得父节点
        this.node.getParent();
        //移除所有子节点
        this.node.removeAllChildren();
        //移除一个特定节点
        this.node.removeChild(aaa);
        //从父结点移除掉
        this.node.removeFromParent(abc);
        
        //访问位置
        this.node.x;
        this.node.y;
        this.node.setPosition(3,4);
        this.node.setPosition(cc.v2(3,4));//创建一个v2的对象保存位置
        //旋转
        this.node.rotation;
        //缩放
        this.node.scale;
        //锚点
        this.node.anchorX;
        this.node.anchorY;
        
        // 创建一个new节点
        let node = new cc.Node("new");
        //节点开关
        this.node.active = true;
        //组件开关
        this.enabled = false;
        //获取组件
        let sprite = this.getComponent(cc.Sprite);
        sprite.enabled = false;//对精灵进行操作
        //从子物体里获取组件
        this.getComponentInChildren(cc.Sprite);
    }
    //每帧都调用的
    update (dt) {//dt每一帧的执行时间

    }
   
}

6.预设体


const {ccclass, property} = cc._decorator;

@ccclass//让编译器知道属于cocos里的类
export default class NewScript extends cc.Component {//在第二个脚本里想用第一个脚本里的类 必须加 export default关键字

    @property(cc.Label)//如果不是基本类型想让它显示括号要加类的名字
    label: cc.Label = null;

    @property//面板显示,可以在面板进行修改
    text: string = 'hello';
    
    //预设体
    @property(cc.Prefab)
    pre:cc.Prefab = null;
    
    
    // LIFE-CYCLE CALLBACKS:
    
    //初始化调用 
    start () {
        //实例化预设体
        let node = cc.instantiate(this.pre);
        //设置父节点
        node.setParent(this.node);
    }
    //每帧都调用的
    update (dt) {//dt每一帧的执行时间

    }
   
}

在这里插入图片描述
运行结果
在这里插入图片描述

7.资源动态加载


const {ccclass, property} = cc._decorator;

@ccclass//让编译器知道属于cocos里的类
export default class NewScript extends cc.Component {//在第二个脚本里想用第一个脚本里的类 必须加 export default关键字

    @property(cc.Label)//如果不是基本类型想让它显示括号要加类的名字
    label: cc.Label = null;

    @property//面板显示,可以在面板进行修改
    text: string = 'hello';
    

    // LIFE-CYCLE CALLBACKS:
    
    //初始化调用 
    start () {
    //资源动态加载
        let self = this;
        cc.loader.loadRes("test/DSCF0917",cc.SpriteFrame,function(err,sp){
        self.getComponent(cc.Sprite).spriteFrame = sp;
        });
    }
    //每帧都调用的
    update (dt) {//dt每一帧的执行时间

    }
   
}

在这里插入图片描述
加载图集
在这里插入图片描述


const {ccclass, property} = cc._decorator;

@ccclass//让编译器知道属于cocos里的类
export default class NewScript extends cc.Component {//在第二个脚本里想用第一个脚本里的类 必须加 export default关键字

    @property(cc.Label)//如果不是基本类型想让它显示括号要加类的名字
    label: cc.Label = null;

    @property//面板显示,可以在面板进行修改
    text: string = 'hello';
    

    // LIFE-CYCLE CALLBACKS:
    
    //初始化调用 
    start () {
    //资源动态加载
        let self = this;
       // cc.loader.loadRes("test/DSCF0917",cc.SpriteFrame,function(err,sp){
        //self.getComponent(cc.Sprite).spriteFrame = sp;
        //});
        
        //加载图集
        cc.loader.loadRes("test/1",cc.SpriteAtlas,function(err,atlas: cc.SpriteAtlas){//SpirtAtlas加载的是精灵图集
            self.getComponent(cc.Sprite).spriteFrame = atlas.getSpriteFrame("bg_day");
        });
    }
    //每帧都调用的
    update (dt) {//dt每一帧的执行时间

    }
   
}

在这里插入图片描述
普通加载和图集加载类型不一样

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一些可能出现在Cocos Creator面试中的问题及其答案: 1. 什么是Cocos CreatorCocos Creator是一个基于JavaScript和TypeScript的游戏开发引擎,它可以用来创建2D和3D游戏,支持多平台发布,包括Web、iOS、Android等。 2. Cocos Creator的优点是什么? Cocos Creator具有以下几个优点: - 开发效率高:Cocos Creator提供了可视化编辑器,可以快速创建游戏场景、动画和UI等,大大提高了开发效率。 - 跨平台支持:Cocos Creator支持多平台发布,包括Web、iOS、Android等,可以轻松实现跨平台开发。 - 社区活跃:Cocos Creator的社区非常活跃,有大量的开发者和用户分享经验和资源,可以帮助开发者快速解决问题。 - 开源免费:Cocos Creator是开源免费的,可以节省开发成本。 3. Cocos Creator支持哪些脚本语言? Cocos Creator支持JavaScript和TypeScript两种脚本语言,其中TypeScript是JavaScript的超集,增加了类型检查等功能。 4. Cocos Creator中如何创建场景? 可以通过Cocos Creator的可视化编辑器创建场景。在编辑器中,可以拖拽节点来创建场景中的各种元素,包括角色、道具、背景等。 5. Cocos Creator中如何创建动画? 可以通过Cocos Creator的可视化编辑器创建动画。在编辑器中,可以给节点添加动画组件,并设置动画的关键帧和属性变化,然后通过代码或事件触发动画播放。 6. Cocos Creator中如何创建UI? 可以通过Cocos Creator的可视化编辑器创建UI。在编辑器中,可以拖拽UI组件来创建各种UI元素,包括按钮、文本框、进度条等。 7. Cocos Creator中如何进行碰撞检测? 可以通过Cocos Creator提供的碰撞检测系统进行碰撞检测。在编辑器中,可以给节点添加碰撞组件,并设置碰撞形状和检测方式,然后通过代码监听碰撞事件并做出相应的处理。 8. Cocos Creator中如何进行网络通信? 可以通过Cocos Creator提供的网络模块进行网络通信。在代码中,可以使用WebSocket、HTTP等协议与服务器进行通信,并根据业务需求进行数据解析和处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值