一,指导思想分层渲染:将item中各Node分到不同的父容器中,解决渲染打断问题。二,实现方案1,list是一个node节点,为list动态的创建兄弟节点容器。 2,将item中同一批的渲染节点放到相同的节点容器三,代码实现A,基类1, list基类,挂载到list节点上,如上图的content节点@ccclass export abstract class BaseListStratificat
一, 安装第三方库npm i crypto-tsimport CryptoES from "crypto-es";二, 核心代码(伪代码)import CryptoES from "crypto-es"; /** * 加解密工具 * @author Aonaufly */ export class CryptUtil { //#region AES-256 ECB /**
一,场景设计1, Plane加一个碰撞器2, player加一个刚体,加一个碰撞器二, Character.tsimport { _decorator, Camera, CapsuleCollider, Component, EventTouch, Input, input, Node, Quat, Rigi
一,创建npm库1,代码a, toolkit.jsexport class Toolkit{ public printSomething(): void{ console.log(`this is ts npm lib`); } }b, index.jsimport { Toolkit } from "./toolkit"; export {Toolkit};2,
一,注册一个npm账号网址: npmjs.com二, 开始制作npm库1,新建一个文件夹,如npmDemo2,进入npmDemo, 执行命令npm init -y这样在npmDemo中就会生成一个package.json的配置文件{ "name": "npmDemo", "version": "1.0.0", "description": "", "main": "index.js
一,index.html<body> <script src="js/model/cubeModel.js"></script> <script src="js/common/shaderUtil.js"></script> <script id="vertex-shader-2d" type="notjs"> attri
一,前言1,绘制一个正方体的数据,我们以前,上,右逆时针绘制,对面的用顺时针绘制。 2, 数据准备 cubeModel.js/** * 获得正方体所有顶点位置 * @param sideLength 边长 */ window.getCubeVertexesPosition = (sideLength) => { //前 const FRONT
一, index.html<body> <script src="js/common/shaderUtil.js"></script> <script id="vertex-shader-2d" type="notjs"> attribute vec2 a_position; attribute vec2 a_texCoord; un
一,index.html<body> <script id="vertex-shader-2d" type="notjs"> attribute vec2 a_position; attribute vec2 a_texCoord; uniform vec2 u_resolution; uniform vec2 u_translation; unifo
一, index.html二, shader.js/** * 加载图片 * @param imageName * @param pork * @param callback */ function loadImage(imageName, pork, callback) { const image = new Image(); image.src = "http://127.0.0.
一,index.html二,shader.js/** * 加载图片 * @param imageName * @param pork * @param callback */ function loadImage(imageName, pork, callback) { const image = new Image(); image.src = "http://127.0.0.1:
一, index.html二, shader.jsfunction createShader(gl, type, source) { const shader = gl.createShader(type);//shader句柄 gl.shaderSource(shader, source); //绑定着色文本 //编译着色文本 gl.compileShader(shader); //判
一, 场景设计二, SelectView.tsimport { _decorator, Component, Node, Camera, MeshRenderer, Mesh, EventTouch, input, Input, Vec2, v2, geometry, PhysicsSystem
一, 场景设计二,整体场景效果三,QuatView.ts代码import {_decorator, Component, EventTouch, Input, input, Node, Quat, v3, Vec3, Vec2} from "cc"; const {ccclass, property} = _decorator; @ccclass("QuatView") export clas
一,场景设计1,场景2, 结构3, 在CoordinateConversionView节点上挂载CoordinateConversionView.ts脚本。二, 代码import {Camera, Component, EventTouch, find, Input, input, Mat4, Node, UITransform, v3, Vec2, Vec3} from 'cc'; /**
一, 代码核心1,CommonTimer.ts/** * 通用计时器 */ import {CommonTimerModeType, ICommonTimerInfo} from "./CommomTimerDefine"; export default class CommonTimerMgr extends cc.Component { public static instanc
一, 场景设计1,ScrollViewPrefab:挂载ScrollViewPrefab脚本。2,ScrollViewPrefabItem: 挂载ScrollViewPrefabItem脚本。是内容item。二,传统做法,加入30个item三,分层处理, 加入30个item1, 代码:CommomScrollViewCD const { ccclass, property } = cc._deco
一,环境MAC二, 安装brew1,命令(不必要)/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"2,安装2.1,命令sudo npm install -g protobufjs@6.7.02.2,安装位置/usr/local/lib/node_modules/protobu
一,前景1,点击区域不是一个矩形,如下图所示二,新建一个节点(Node) 1,添加Sprite组件 2,继续添加Button组件3, 添加PolygonCollider2D组件三,核心代码import { _decorator, Component, Node, isValid, Poly
一,重构Android项目1, 新建Activity(这里是:AlexActivity)继承自AppActivity2, 编辑AndroidManifest.xml,使AlexActivity为启动Activity二,JavaScript调用Java1, 方法签名方法签名稍微有一点复杂,最简单的方法签名是 ()V,它表示一个没有参数没有返回值的方法。其他一些例子:(I)V&nb
一,前言1,Cocos Creator 5.3.22,Android Studio Dolphin | 2021.3.1 Patch 13,SDK和NDK3.1, SDK3.1, NDK二, 使用Cocos Creator构建Android工程1, 点击“构建”按钮。(注意:不用点击“生成”,我们使用Android Studio生成APK)2,生成的Android工程注意:在Cocos项目下生成了
一, 前言Cocos Creator 3.7.3二,Spineimport {Component, Node, sp, isValid, v3} from 'cc'; export class SpineView extends Component { private spineAnim: sp.Skeleton; private readonly EVENT_NAME: Arr
一, Android1,问题如下:[runCmd /Users/hz/WorkSpace/Cocos/cocos-tutorial-hot-update-below-3.5.2/build/android/proj/gradlew] java.net.ConnectException: Connection refused (Connection refused) IOException: htt
一, 前景引擎版本: 3.5.2二, 命令准备1.生成manifest文件node version_generator.js -v 1.0.0 -u http://192.168.0.103:8860/remote-assets/ -s build/android/assets -d remote-assetsPS:-v : 版本 如:1.0.0-u : 服务器远程包的地址,如: &nb
一, 情景 自适应:有时我们需要根据文本的长度来即时调节文本背景框的宽度。 但是一般情况下, 当对文本进行赋值时,我们想立即获得文本宽度来确定它的背景框的宽度。但是文本框的宽度需要在赋值后的第二帧才能得到。二, 解决方案 &n
一, 测试引擎版本 2.4.9二, Tween是在Action的基础上进行的封装.三, 代码import callFunc = cc.callFunc;const {ccclass, property} = cc._decorator;@ccclassexport default class Demo_Tween extends cc.Component { @property(cc.Nod
一, 使用2.3.2引擎版本二, 测试设计1, 场景a, 其中A_2/A_3做成Prefab, 使用A_1.ts脚本挂载到A_1节点上2, 代码设计a, 为A(包括子节点)到C(包括子节点)添加一个和节点名字一样的脚本, 如下图b, 以A.ts为例,代码如下const {ccclass, property} = cc._decorator;@ccclassexport default class
一, 每个脚本,即继承自cc.Component的都自带一个Scheduler计时器const {ccclass, property} = cc._decorator;@ccclassexport default class DemoLocalTimer extends cc.Component { start() { //永久执行 0秒后执行(立即执行) , 1S执行一次
一,环境CC3.0.1二,单资源加载①,加载SpriteFrame/Texture2D组织如下:代码如下,注意查看路径信息import{_decorator,Component,Node,Sprite,resources,SpriteFrame,Texture2D}from'cc';const{ccclass,property}=_decorator;/***动态加载单个资源(非AB包中资源)*/
一,模拟远程资源服务器Ⅰ,方案anywherenpm包使用npminstallanywhere-g安装最新的服务器包,如下启动anywhere8860a,在目录服务器目录下执行命令anywhere8860,如下b,可以在浏览器,检查是否启动成功,如下二,生成manifest文件命令准备nodeversion_generator.js-v1.0.0-uhttp://192.168.0.103:886
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号