| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> 龙骨动画 采用外部图片换装 -> 正文阅读 |
|
[游戏开发]龙骨动画 采用外部图片换装 |
/** * 静态图片修改插槽内图片 * @param arm 龙骨动画数据,通过 dragon.armature()获得 * @param slotName 插槽名称 , 龙骨动画里插槽的名字 * @param sprite 需要更换的图片 : 此图片需要消除周围的透明像素填充 (图集会自动消除,如果是单个图片需要处理) * @param isAtlas 是否是图集 * @param slotIndex 插槽的displayIndex */ private changeLocalSpriteFrame(arm: dragonBones.ArmatureDisplay, slotName: string, sprite: cc.SpriteFrame, isAtlas: boolean = false, slotIndex = 0): void { if (!arm) { console.log('changeLocalSpriteFrame 换装ArmatureDisplay为空') return } let armature = arm?.armature(); if (!armature) { console.log('changeLocalSpriteFrame 换装armature为空') return; }; let slot = armature.getSlot(slotName); if (!slot) { console.log('changeLocalSpriteFrame 换装slot为空') return; }; let newHeight = isAtlas ? sprite.rect.height : sprite.texture.height; let newWidth = isAtlas ? sprite.rect.width : sprite.texture.width; let imageData = arm?.armature()._skinData.displays[slotName][slotIndex]; let oldRegion = imageData.texture.region; //修改图片的裁剪区域 // let reg = dragonBones.TextureData.createRectangle(); if (isAtlas) { let rect = sprite.rect; imageData.texture.region.x = rect.x; imageData.texture.region.y = rect.y; imageData.texture.region.height = rect.height; imageData.texture.region.width = rect.width; } else { imageData.texture.region.x = 0; imageData.texture.region.y = 0; imageData.texture.region.height = newHeight; imageData.texture.region.width = newWidth; } // imageData.texture.region = reg; imageData.texture.spriteFrame = sprite; //修改图片的位置 imageData.transform.x -= (newWidth - oldRegion.width) / 2; //这里与x轴正对 imageData.transform.y -= (newHeight - oldRegion.height) / 2; //与 y 轴相反 //将骨骼动画实时刷新 slot.display._updateDisplayData() slot._transformDirty = true; slot._displayDirty = true; } |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 21:00:06- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |