IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> cocos 游戏引擎开发过程遇到的问题 -> 正文阅读

[游戏开发]cocos 游戏引擎开发过程遇到的问题

  1. canvas背景图设置,widget:组件下top:0,bottom:0,left:0,right:0的情况下,在某些长度超出的手机,背景图会被拉伸。
    解决:背景图;bottom,top不设置,设置一个layout节点 target设置为相对canvas对齐,然后头部,底部截取,背景图片头部和底部相应底色做填充。cocos(似乎有色差),也可以截取一像素图片底色做填充,高度设为背景的50%,且放到背景图层级之下,保证背景图在底色图之前渲染,避免图片重叠带来的边框重叠。

  2. 图片帧动画,如果图片是漏空,勾选trim,会剪切图片多余的漏空部分,会导致动画在原地蠕动的样子,所以要去掉此选项,如果需要自动开始动画,勾选动画的play on Load(游戏开启默认开启动画),如果是循环播放,编辑动画clip 动画模式开启loop模式。

  3. cocos的文字会自动增加高度,所以文字的位置需要自计算 ,相对父元素,节点距离下方多少像素减去节点距离上方多少像素的差值除以2,所得就是节点的高度位置,为正代表在y的正半轴,为负代表在y的负半轴。

  4. 图片九宫格开启九宫格模式,图片被压缩时,图片的四个角,不会被往里压缩,开启九宫格模式在节点的Sprite中type选择SLICED,可以编辑图片调节你希望不被压缩的四个角。

  5. 需要做列表循环类似的一个节点多次使用,可以将该节点设置为预制体,将做好的一个节点拖动到assets,就会生成预制体,预制体,每次改动需要保存预制体才能生效,如果该预制体初始是隐藏状态,需要取消隐藏状态做保存,再隐藏,保存scene场景生效。

  6. canvas场景下,如果canvas场景下,多个节点公用一个脚本,将需要绑定的脚本,绑定给canvas节点,不要再canvas场景下的多个节点绑定同一个脚本文件,不然会导致生周期重复执行,如果在生命周期下接口等操作,会导致重复请求,所以将共用的脚本文件绑定给canvas,然后如果其他节点需要用到该脚本,就将canvas节点绑定给它clickEvents,直接将canvas拖动到clickEvents的第一个所需参数下,就可以拿到你需要的脚本,避免生命周期重复执行。

  7. canvas 进度条的使用,先给父级开启slider组件,及给父级添加slider组件,slider组件的Handle(直接将子元素的滑块按钮拖动到Handle下)设置给父级的子元素,然后给可以拖动的子元素添加按钮组件,按钮组件的target设置为该子元素,直接将该子元素拖动到按钮组件的target下面。
    :滑动条的基点应该设置到最右边,不然拖动可能导致,滑动条超出父级元素。
    设置回调事件
    栗子:

  //滚动条节点所需
   onLoad() {
         this.processFather = cc.find('Canvas/game_card/progressBar/radius-10')
         this.processBg = cc.find('Canvas/game_card/progressBar/radius-10/radius-6/radius-6-2')
         this.process.on('slide', this.callback, this);
         // 购买复活卡数量,与滚动条相对应
         this.recCardNum = cc.find('Canvas/game_card/card_num/num').getComponent(cc.Label)
}
 callback (slider) {
        // 回调的参数是 slider
        // 设置滚动条背景跟随移动, 且宽度等于进度条进度百分比乘以父级宽度
        this.processBg.width = this.processFather.width * slider.progress
        let CardNum = Math.ceil(slider.progress * 10)
        this.recCardNum.string = CardNum === 0 ? 1 : CardNum
    }
  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-08-15 15:55:11  更:2021-08-15 15:55:30 
 
开发: 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年5日历 -2024/5/20 17:42:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码