cocos creator 学习: 设置scrollView 中content的偏移位置

编程知识 更新时间:2023-04-05 06:47:42

最近有这样的需求,折腾了许久,在此把一些问题和解决方法写出来,欢迎大家指正,如有更好的建议记得留言哦~

使用背景: 每次结算时把当前所玩的关卡节点显示在scrollView 的最中间

思路: 移动content的位置

     scrollView 滑动的原理: 

         所有显示的内容节点 都是 content 的子节点,view 控制显示区域的大小,通过content的位置变化,显示出不同部分的内容

方法:

  1. 根据每个item的宽 itemWigth,计算出显示某个item时 content 的坐标
  2. 使用:setContentPosition: 设置当前视图内容的坐标点
scrollview.setContentPosition( position );

     3.调整content 和 item的canvas :

    我是把 x 都设置为0, 这样只需要在初始化后找到 content的起始位置startPos , 再设置位置为 startPos - n*itemWigth就可以了

        var pos = this.scrollView.getContentPosition();
        this.startPos = pos.x;
        var offset = cc.v2((this.startPos-(this.initNum-1) * this.itemWidth),pos.y) ;
        this.scrollView.setContentPosition(offset);

      到此成功实现 

问题: 开始查阅网上很多资料,让用scrollToOffset(),  我设置了偏移量,也延迟到下一帧执行了,但就是不起作用 。。。不知道为什么,还请前辈指点

    scrollToOffset: content 在规定时间内将滚动到 ScrollView 相对左上角原点的偏移位置

   使用:

scrollView.scrollToOffset(cc.v2(x,y));

 

更多推荐

cocos creator 学习: 设置scrollView 中content的偏移位置

本文发布于:2023-04-05 06:47:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/d919fc6beae84b57617974ec9c5ef208.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:位置   creator   cocos   content   scrollView

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 45363文章数
  • 14阅读数
  • 0评论数