在scrollview中的子节点上放置横向的线看不见怎么办

在ios的手机中,有的线是完全看不到 ,能够看到的线也是粗细不一致。但是在android手机中不存在这个问题。附上一张图片。请各位大神看看如何解决?

1赞

这个是什么原因啊

1赞

虽然我从截图判断出是 iOS native 平台,不过拜托下次一定要描述清楚环境。

再不过,我还是帮不了你。。。

因为你也没说这线是怎么画的?用了什么组件?代码什么样?滚动的情况下会忽隐忽现么?如何才能重现?

你看我问了这么多问题,换位思考一下,如果你对这个项目完全陌生,是不是能提出更多问题?

还是那句话,有麻烦的话要尽量让别人能帮助到你

http://forum.cocos.com/t/topic/44211

不好意思,问题没有描述清楚。
这个问题主要是在ios native平台中的scrollview组件中出现,滚动的时候线会忽隐忽现,当滚动停止的时候就出现有的线看不到,能看到的也是粗细不一致,如下图:

上面贴出来的图片中的线是直接用的图片,下面的图片就是使用的图片:

之前我也用过Graphics组件画线,画出横向的线条,宽度为一个像素,也是出现相同的问题。使用组建画线的代码:

尝试一下把线的贴图设置一下:

line.getComponent(cc.Sprite).spriteFrame.getTexture().setAliasTexParameters();

看看结果如何

好的 我试一下

再问一下 你给的这个函数,我在API文档中没有找到,只找到setTexParameters函数,是一样的吗?如下图:


而且其中的参数该如何填写

那个函数可以用的,API 注释不完整,我添加一下

你好,我试了一下你和我说的方法,但是问题仍然存在。

能不能发一下相关的逻辑代码,或者提供一个可复现的 demo

我刚刚做了个demo 会有同样的问题 我随贴上传demoLineTest.zip (223.1 KB)

这个是demo的截图

原因是你的设计分辨率过高了,导致大多数屏幕上呈现的 Canvas 都低于你的设计分辨率。而在你 1080 * 1920 的分辨率下,你的线的高度只有一个像素,这就导致在 Canvas 分辨率比较低的时候会缩放,1 个像素高度的缩放,会变成上下顶点位置的距离很近,在 JS 不靠谱的浮点数运算加持下,你的线最终在 WebGL 渲染后就看不见了。

解决方案有二:

  1. 降低设计分辨率(这不会影响最终视效)
  2. 或者增加线的高度
1赞

好的 多谢