码农知识堂 - 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 引用类型属性

  • 相关阅读:
    k8s之Deployment
    计算机毕业设计Java酒店互联网平台系统(源码+mysql数据库+系统+lw文档)
    城市网吧视频智能监控方案,实现视频远程集中监控
    Linux Shell 基础语法 流程控制 逻辑运算 字符串操作详细解析
    电脑重装系统如何在 Win11查看显卡型号信息
    聚焦光量子应用开发!Quandela 发布新版量子计算云服务
    .linux常用命令
    大语言模型(LLM)漏洞爆发,AI模型无一幸免
    关于DSP C6678的另一种引导启动方法
    js中如何实现深拷贝?
  • 原文地址:https://blog.csdn.net/HuanBianCheng27/article/details/125399717
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号