码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Cocos学习日记2——脚本和属性


    目录

    一、给节点添加脚本

    二、VScode编辑脚本

    2.1 配置 vscode 环境

    2.2 编写脚本

    三、有关脚本的知识

    3.1 脚本的运行原理

    3.2 生命期回调

    3.3 查看脚本执行情况

    四、事件响应处理

    五、调试 JS 代码

    六、TypeScript

    6.1 TypeScript,强类型的 JavaScript

    6.2 JavaScript 是弱类型的语言

    6.3 对比写法

    七、属性

    7.1 在引擎中显示属性

    7.2 属性的定义

    7.3 属性的应用

    7.4 引用类型属性


    一、给节点添加脚本

     

    二、VScode编辑脚本

    2.1 配置 vscode 环境

    2.2 编写脚本

    三、有关脚本的知识

    3.1 脚本的运行原理

    1、游戏引擎加载所有节点

    2、加载节点的所有的组件

    var comp = new PigScript();

    node["PigScript"]= comp;

    comp.onLoad(); 

    comp.start();

    3.2 生命期回调

    生命期回调 Life-Cycle Callback

    onLoad() 组件初始化时执行

    start() 第一次激活前执行

    update() 每帧执行

    onEnable() 组件启用时调用

    onDisable() 组件禁用时调用

    onDestroy()组件销毁时调用

    3.3 查看脚本执行情况

    1、模拟器

     

    2、控制台 

     

    四、事件响应处理

    事件处理,和 HTML 里的 JavaScript 事件类似

    点击事件 mousedown / mouseup / mousemove ...

    键盘事件 keyup / keydown

    触摸事件 touchstart / touchend / touchcancel ...

    上面的效果实现了:点击一下,图片位置就会左移 

    五、调试 JS 代码

    目前还不会,这个用来占位

    六、TypeScript

    6.1 TypeScript,强类型的 JavaScript

    https://www.typescriptlang.org

    6.2 JavaScript 是弱类型的语言

    1. var str = "shaofa"; 
    2. var a = 10;
    3. var node = this.node;

    由于没有类型标识,所以编辑器无法精确的提示

    6.3 对比写法

    1、变量

    JavaScript:

    var str = "shaofa";

    var a = 10;

    var node = this.node;

    TypeScript:

    let str : string = "shaofa";

    let a : number = 10;

    let node : cc.Node = this.node;

    2、方法的参数

    JavaScript:

    moveLeft(evt) {

    }

    TypeScript:

    moveLeft(evt : cc.Event.EventMouse) {
    }

    3、方法的返回值

    JavaScript:

    sum(x, y) {

            return x + y;

    }

    TypeScript: 

    sum(x:number, y:number):number {

            returnx + y;

    }

    七、属性

    7.1 在引擎中显示属性

     

    7.2 属性的定义

    1、在 TypeScript 添加一个类,类里可以添加属性

    形式如下:

    @property("string")

    time : string="";

    其中,@property 称为装饰器(同 Java 中的注解语法)

    2、属性的定义规则

    (1) 若无 @property 注解,则不会出现在 Cocos Creator 属性面板

    (2) @property 中, 应该指明类型

    @property("string")

    @property(cc.Node)

    (3) 基本类型,可以不指定类型

    string,number,boolean,bigint

    3、TypeScript 里有 number 和 Number 两种类型

    number 算是基本类型

    Number 算是引用类型(对象)

    7.3 属性的应用

    属体一般分为两种类型:

    1、基本类型

    string,number,boolean,bigint

    2、引用类型

    cc.Node 节点

    cc.SpriteFrame 图片帧资源

    cc.AudioClip 音频资源

    3、应用

     

     

    7.4 引用类型属性

  • 相关阅读:
    MTK手机平台充电原理
    System.gc 之后到底发生了什么 ?
    uniapp 冒泡
    WPF向Avalonia迁移(三、项目结构)
    免费SSL证书
    [实验报告]--基于端口安全
    Lesson 6 重构代码
    web server apache tomcat11-15-proxy
    CPU乱序执行基础 —— Tomasulo算法及执行过程
    RPC及Dubbo和ZooKeeper的安装
  • 原文地址:https://blog.csdn.net/HuanBianCheng27/article/details/125399717
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号