当前位置:   article > 正文

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

scollview contente item设置位置

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

使用背景: 每次结算时把当前所玩的关卡节点显示在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就可以了

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

      到此成功实现 

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

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

   使用:

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

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/152673
推荐阅读
相关标签
  

闽ICP备14008679号