当前位置: 首页 > news >正文

cocos creator 3.8 Node学习 3

//在Ts、js中 this指向当前的这个组件实例
//this下的一个数据成员node,指向组件实例化的这个节点
//同样也可以根据节点找到挂载的所有组件
//this.node 指向当前脚本挂载的节点//子节点与父节点的关系 
// Node.parent是一个Node,Node.children是一个Node[]
// this.node.parent //等同于
console.warn(this.node.parent.name);
// this.node.getParent()
console.warn(this.node.getParent().name);// this.node.children
this.node.children.forEach(element => {console.log("子节点")console.log(element.name);
});// 替换父节点 Node.parent = /Node.setParent(XX)
this.node.parent = this.AddBtn;
console.warn(this.node.parent.name)
// this.node.setParent(value: Node)
this.node.setParent(this.AddBtn);
console.warn(this.node.getParent().name);//添加节点 使用预制的时候@property(Node)AddBtn: Node = null!;@property(Prefab)sprite: Prefab = null!;
// addChild(child: Node)
let tempNode: Node = instantiate(this.sprite);
// addChild有可能造成内存泄露,尤其是加自己玩
this.node.addChild(tempNode);
this.node.children.forEach(element => {console.log("子节点");console.warn(element.name);
});
// siblingIndex:设置位置,等同于2.x的setIndex(index: number)
// insertChild(child: Node, siblingIndex: number)
this.node.insertChild(tempNode, 0);
this.node.children.forEach(element => {console.log("=子节点=");console.warn(element.name);
});
// getSiblingIndex()
// setSiblingIndex(index: number)//节点查找
find() //从1级节点开始查找
getChildByName(name: string)//下级节点
getChildByPath(path: string)//从下级节点开始算起,往下找
// let node = find("Canvas/Test");
// console.log(node)
// node = this.node.getChildByName("Label")
// node.getComponent(Label).string = "哈哈";
// // node = this.node.getChildByName("Label")?.getChildByName("Label"); //等同于下面这一个行代码
// node = this.node.getChildByPath("Label/Label");
// node.getComponent(Label).string = "~哈哈~";//节点移除
removeFromParent()
removeChild(child: this | Node)
removeAllChildren()
//节点判断
isChildOf(parent: this | Scene | null)
isValid
// let labelNode = this.node.getChildByPath("Label/Label");
// console.log(labelNode.isChildOf(this.node))
// 节点是否销毁
// console.log(this.node.isValid)
//组件查找
//先找节点 再找节点上挂载的组件
// 我测试的结果:挂的BoxCollider 查找Collider一样起效果
//根据类型来查找,需要引入
getComponent<T extends Component>
//根据名字来查找,不需要引入
getComponent(className: string)
getComponents<T extends Component>
getComponents(className: string)
getComponentInChildren<T extends Component>
getComponentInChildren(className: string)
getComponentsInChildren<T extends Component>
getComponentsInChildren(className: string)
//添加移除组件
addComponent<T extends Component>
addComponent(className: string)
removeComponent<T extends Component>
removeComponent(classNameOrInstance: string | Component)
//销毁节点
destroy()
destroyAllChildren()
//事件监听 常用前两
on(type: string | NodeEventType, callback: Function, target?: unknown, useCapture?: boolean)
//this.node.on(Input.EventType.TOUCH_MOVE, this.onTouch, this);
off(type: string | NodeEventType, callback: Function, target?: unknown, useCapture?: boolean)
//this.node.off(Input.EventType.TOUCH_MOVE, this.onTouch, this);
once(type: string | NodeEventType, callback: Function, target?: unknown, useCapture?: boolean)
//通常用非官方分装的EventListener.ts不用这些
emit(type: string, arg0?: any, arg1?: any, arg2?: any, arg3?: any, arg4?: any)
dispatchEvent(event: Event)
hasEventListener(type: string, callback?: Function, target?: unknown)
targetOff(target: unknown)

有时候脑袋一热就问人家,怎么样才能简简单单的组件化开发一款游戏,怎么样才能合理的把你想要的功能代码化,不知道问烦了几个家伙了,经常回复我的就是那个节点有要求,你就单独挂一个脚本,你管它那么多干啥?

有时间就学一下3.x,就是没3D的素材,至于为啥?不透露了

相关文章:

cocos creator 3.8 Node学习 3

//在Ts、js中 this指向当前的这个组件实例 //this下的一个数据成员node&#xff0c;指向组件实例化的这个节点 //同样也可以根据节点找到挂载的所有组件 //this.node 指向当前脚本挂载的节点//子节点与父节点的关系 // Node.parent是一个Node,Node.children是一个Node[] // th…...

微信小程序底部button,小米手机偶现布局错误的bug

预期结果&#xff1a;某button fixed 到页面底部&#xff0c;进入该页面时&#xff0c;正常显示button 实际结果&#xff1a;小米13pro&#xff0c;首次进入页面&#xff0c;button不显示。再次进入时&#xff0c;则正常展示 左侧为小米手机第一次进入。 遇到bug的解决思路&am…...

【计组】复习题

冯诺依曼型计算机的主要设计思想是什么&#xff1f;它包括哪些主要组成部分&#xff1f; 主要设计思想&#xff1a; ①采用二进制表示数据和指令&#xff0c;指令由操作码和地址码组成。 ②存储程序&#xff0c;程序控制&#xff1a;将程序和数据存放在存储器中&#xff0c;计算…...

Apache Maven 标准文件目录布局

Apache Maven 采用了一套标准的目录布局来组织项目文件。这种布局提供了一种结构化和一致的方式来管理项目资源&#xff0c;使得开发者更容易导航和维护项目。理解和使用标准目录布局对于有效的Maven项目管理至关重要。本文将探讨Maven标准目录布局的关键组成部分&#xff0c;并…...

Android 功耗分析(底层篇)

最近在网上发现关于功耗分析系列的文章很少&#xff0c;介绍详细的更少&#xff0c;于是便想记录总结一下功耗分析的相关知识&#xff0c;有不对的地方希望大家多指出&#xff0c;互相学习。本系列分为底层篇和上层篇。 大概从基础知识&#xff0c;测试手法&#xff0c;以及案例…...

【Xbim+C#】创建圆盘扫掠IfcSweptDiskSolid

基础回顾 https://blog.csdn.net/liqian_ken/article/details/143867404 https://blog.csdn.net/liqian_ken/article/details/114851319 效果图 代码示例 在前文基础上&#xff0c;增加一个工具方法&#xff1a; public static IfcProductDefinitionShape CreateDiskSolidSha…...

IntelliJ+SpringBoot项目实战(四)--快速上手数据库开发

对于新手学习SpringBoot开发&#xff0c;可能最急迫的事情就是尽快掌握数据库的开发。目前数据库开发主要流行使用Mybatis和Mybatis Plus,不过这2个框架对于新手而言需要一定的时间掌握&#xff0c;如果快速上手数据库开发&#xff0c;可以先按照本文介绍的方式使用JdbcTemplat…...

利用oss进行数据库和网站图片备份

1.背景 由于网站迁移到香港云 服务器&#xff0c;虽然便宜&#xff0c;但是宿主服务器时不时重启&#xff0c;为了预防不可控的因素导致网站资料丢失&#xff0c;所以想到用OSS 备份网站数据&#xff0c;bucket选择在香港地区创建&#xff0c;这样和你服务器传输会更快。 oss…...

Excel - VLOOKUP函数将指定列替换为字典值

背景&#xff1a;在根据各种复杂的口径导出报表数据时&#xff0c;因为关联的表较多、数据量较大&#xff0c;一行数据往往会存在三个以上的字典数据。 为了保证导出数据的效率&#xff0c;博主选择了导出字典code值后&#xff0c;在Excel中处理匹配字典值。在查询百度之后&am…...

实验室管理平台:Spring Boot技术构建

3系统分析 3.1可行性分析 通过对本实验室管理系统实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本实验室管理系统采用SSM框架&#xff0c;JAVA作为开发语言&a…...

操作系统进程和线程——针对实习面试

目录 操作系统进程和线程什么是进程和线程&#xff1f;进程和线程的区别&#xff1f;进程有哪些状态&#xff1f;什么是线程安全&#xff1f;如何实现线程安全&#xff1f;什么是线程安全&#xff1f;如何实现线程安全&#xff1f; 进程间的通信有哪几种方式&#xff1f;什么是…...

使用 cnpm 安装 Electron,才是正确快速的方法

当然&#xff0c;下面是总结的几种安装 Electron 的方法&#xff0c;包括使用 npm 和 cnpm&#xff0c;以及一些常见的问题解决技巧。 ### 1. 使用 npm 安装 Electron #### 步骤 1: 初始化项目 在你的项目目录中初始化一个新的 Node.js 项目&#xff1a; bash npm init -y …...

【人工智能】PyTorch、TensorFlow 和 Keras 全面解析与对比:深度学习框架的终极指南

文章目录 PyTorch 全面解析2.1 PyTorch 的发展历程2.2 PyTorch 的核心特点2.3 PyTorch 的应用场景 TensorFlow 全面解析3.1 TensorFlow 的发展历程3.2 TensorFlow 的核心特点3.3 TensorFlow 的应用场景 Keras 全面解析4.1 Keras 的发展历程4.2 Keras 的核心特点4.3 Keras 的应用…...

【第八课】Rust中的函数与方法

目录 前言 函数指针 函数当作另一个函数的参数 函数当作另一个函数的返回值 闭包 方法 关联函数 总结 前言 在前面几课中&#xff0c;我们都或多或少的接触到了rust中的函数&#xff0c;rust中的函数和其他语言的并没有什么不同&#xff0c;简单的语法不在这篇文章中赘…...

c语言学习25二维数组

1 二维数组 1.1二维数组认识 二维数组本质是一个数组。 举例&#xff1a; int a[10][3] 数组名 a&#xff1b; 元素个数10&#xff1b; 数组元素类型&#xff1a;int [3]; 数组元素下标&#xff1a;0~9 这是一个数组&#xff0c;有十个元素&#xff0c;每个元…...

如何理解Lua 使用虚拟堆栈

虚拟堆栈的基本概念 Lua使用虚拟堆栈来实现Lua和C&#xff08;或其他宿主语言&#xff09;之间的交互。这个虚拟堆栈是一个数据结构&#xff0c;用于存储Lua的值&#xff0c;如数字、字符串、表、函数等。它在Lua状态机&#xff08;lua_State&#xff09;内部维护&#xff0c;为…...

【倍数问题——同余系】

题目 代码 #include <bits/stdc.h> using namespace std; const int N 1e5 10, M 1e3 10; int maxx[M][4]; void consider(int r, int x) {if(x > maxx[r][1]){maxx[r][3] maxx[r][2];maxx[r][2] maxx[r][1];maxx[r][1] x;}else if(x > maxx[r][2]){maxx[…...

「San」监听DOM变化的方法

在 San框架 中监听组件内部字体大小并调整宽度&#xff0c;可以结合 自定义事件 或 数据绑定 来实现动态调整。San 框架没有直接的监听 DOM 尺寸变化的内置方法&#xff0c;但可以通过以下步骤实现&#xff1a; 方法一&#xff1a;使用 ResizeObserver 监听字体变化 在组件的 …...

如何选择服务器

如何选择服务器 选择服务器时应考虑以下几个关键因素&#xff1a; 性能需求。根据网站的预期流量和负载情况&#xff0c;选择合适的处理器、内存和存储容量。考虑网站是否需要处理大量动态内容或高分辨率媒体文件。 可扩展性。选择一个可以轻松扩展的服务器架构&#xff0c;以便…...

嵌入式驱动面试总结

操作系统&#xff1a; 中断的处理流程&#xff0c;中断处理需要注意些什么 软中断和硬中断区别 linux驱动用过那些锁&#xff0c;信号量&#xff0c;互斥锁 自旋锁和互斥锁的区别 二值信号量和互斥信号量有什么区别 进程锁怎么实现的&#xff0c;说一下流程&#xff1b; …...

Webflux fromXXX对比

Mono.fromFuture和Mono.fromSupplier 刚开始尝试使用 Spring WebFlux 的时候&#xff0c;很多人都会使用 Mono.fromFuture() 将异步请求转成 Mono 对象&#xff0c;或者 Mono.fromSupplier() 将请求转成 MOno 对象&#xff0c;这两种方式在响应式编程 中都是不建议的&#xff0…...

将 OnePlus 手机备份到云服务

丢失 OnePlus 设备上的珍贵照片、重要联系人、短信或应用数据可能会令人非常沮丧&#xff0c;无论是意外删除、设备损坏、被盗&#xff0c;甚至是恢复出厂设置。这时&#xff0c;云备份就派上了用场。它提供了一种简单可靠的数据保护方式&#xff0c;确保您可以随时随地在新 On…...

OpenClaw权限管理:Qwen3-VL:30B飞书助手分级控制方案

OpenClaw权限管理&#xff1a;Qwen3-VL:30B飞书助手分级控制方案 1. 为什么需要权限管理 当我第一次在团队内部署OpenClaw飞书助手时&#xff0c;很快就遇到了一个现实问题&#xff1a;不同部门的同事对AI助手的操作需求差异巨大。财务组需要处理报销单据识别&#xff0c;研发…...

ESFT-gate-summary-lite:AI快速提炼文本关键信息

ESFT-gate-summary-lite&#xff1a;AI快速提炼文本关键信息 【免费下载链接】ESFT-gate-summary-lite ESFT-gate-summary-lite模型&#xff0c;基于DeepSeek-ai的开源项目&#xff0c;专注于提升基础模型摘要能力。源自ESFT-vanilla-lite&#xff0c;强化文本摘要&#xff0c;…...

MultiHighlight插件完全指南:5步提升代码阅读效率300%

MultiHighlight插件完全指南&#xff1a;5步提升代码阅读效率300% 【免费下载链接】MultiHighlight Jetbrains IDE plugin: highlight identifiers with custom colors &#x1f3a8;&#x1f4a1; 项目地址: https://gitcode.com/gh_mirrors/mu/MultiHighlight 在当今快…...

后端/全栈/架构师转战AI大模型开发:可落地规划(建议收藏)

如果你本身是后端、全栈或架构师出身&#xff0c;就意味着你已经手握一套扎实的“确定性系统”构建能力——分布式部署、高并发处理、数据库事务管控、系统稳定性保障&#xff0c;这些都是你转型AI大模型开发的核心底牌&#xff0c;也是纯算法出身从业者难以快速补齐的短板。 而…...

AI Agent 的动态知识更新:保持 LLM 知识的实时性

AI Agent 的动态知识更新:保持 LLM 知识的实时性 关键词:AI Agent、动态知识更新、大语言模型(LLM)、实时性、知识图谱 摘要:本文聚焦于 AI Agent 的动态知识更新,旨在探讨如何保持大语言模型(LLM)知识的实时性。首先介绍了相关背景,包括目的、预期读者等。接着阐述了…...

基于YOLOv11姿态检测的AI健身助手具备实时姿态识别、运动计数与反馈、训练记录和计划制定功能

基于YOLOv11姿态检测的AI健身助手 ✨ 功能特点 实时运动计数 - 自动计算您的健身次数多种运动支持 - 包括深蹲、俯卧撑、仰卧起坐、哑铃运动等十多种先进的姿态检测 - 采用YOLOv11实现精准跟踪模型切换功能 - 可以在小型(更快)和大型(更精确)YOLOv11模型之间轻松切换可视化反馈…...

百川2-13B-4bits量化版精度测试:OpenClaw自动化任务准确率对比

百川2-13B-4bits量化版精度测试&#xff1a;OpenClaw自动化任务准确率对比 1. 测试背景与实验设计 上周在部署OpenClaw自动化工作流时&#xff0c;我遇到了一个现实问题&#xff1a;本地显卡只有12GB显存&#xff0c;跑不动原版13B模型。于是尝试了百川2-13B的4bits量化版本&…...

多项式朴素贝叶斯

多项式朴素贝叶斯&#xff08;二分类&#xff09; 题意 实现一个 Multinomial Naive Bayes 二分类器。 train&#xff1a;二维列表&#xff0c;每行最后一列为标签 y \in \{0,1\}&#xff0c;其余列为非负整数词频test&#xff1a;二维列表&#xff0c;仅包含词频特征&#xff…...