找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 388|回复: 11

[求助] 关于bar与滑块的对齐问题

[复制链接]
发表于 2024-6-30 23:30:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
问题:滚动条的滑块一旦大于条的宽度,那么条和滑块总是左上角对齐,样式设置并没有单独设置滑块对齐方式的样式,那怎么才能设置滑块中心在bar上?



[RenPy] 纯文本查看 复制代码
        bar:
            xoffset -25
            value YScrollValue("log_dialog")
            bar_vertical True
            bar_resizing False
            bar_invert True
            base_bar "gui/frame/bar/00.png"
            thumb "gui/frame/bar/vslide.png"
            unscrollable None
            xysize (115, 733)
            mouse "button"



QQ图片20240630231103.jpg

本帖被以下淘专辑推荐:

发表于 2024-7-1 10:37:33 | 显示全部楼层
本帖最后由 烈林凤 于 2024-7-1 10:39 编辑

@blackpineapple 在此之前确实没有通过代码改变滑块位置的方法,可现在我已经有了一个不用改变素材就能够调整滑块位置的方法了,那就是使用布局框Fixed()
例如:
[RenPy] 纯文本查看 复制代码
thumb Fixed(Frame("#ffffff",xsize=100,ysize=60,xalign=0.5,yalign=0.5))
这样滑块会显示在bar的中央,如果不使用Fixed()的话,滑块只会出现在bar的下方/右侧,这是一个非常好的解决方法。
楼主只需要将这个"#ffffff"替换成你自己需要的素材,然后将后方的size换成你需要的大小,用align来调整滑块的位置就好了

点评

正解!!!只是我去掉了frame,原因是使用frame后出现滑块在bar内最多拉到一半,去掉了frame之后完美符合要求  发表于 2024-7-1 23:26
回复 支持 1 抱歉 0

使用道具 举报

发表于 2024-7-1 06:23:16 | 显示全部楼层
这是因为你图没做好。bar的透明部分要多一点。
具体请看这个,4分钟之后
回复 支持 0 抱歉 1

使用道具 举报

 楼主| 发表于 2024-7-1 23:18:48 | 显示全部楼层
blackpineapple 发表于 2024-7-1 06:23
这是因为你图没做好。bar的透明部分要多一点。
具体请看这个,4分钟之后
https://www.bilibili.com/video/B ...

错误的,设计就是滑块的宽度(110px)远远大过bar(20px),如果bar的宽度跟滑块一样就太大了
回复 支持 抱歉

使用道具 举报

发表于 2024-7-1 23:28:49 | 显示全部楼层
这个问题之前也困扰过我和很多人,说到底还是对gui编辑能力有限,还有很多部分有待开发)
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2024-7-1 23:47:16 | 显示全部楼层
烈林凤 发表于 2024-7-1 23:28
这个问题之前也困扰过我和很多人,说到底还是对gui编辑能力有限,还有很多部分有待开发) ...

啊,刚刚太着急,测试有些仓促,现在又发现问题了

不能去掉frame,否则又会左上角对齐,如果使用,就会导致滑块只能拉一半左右,搞了一会没弄清原理,又很晚了,希望明天大佬再帮帮
回复 支持 抱歉

使用道具 举报

发表于 2024-7-1 23:48:50 来自手机 | 显示全部楼层
Ca清 发表于 2024-7-1 23:47
啊,刚刚太着急,测试有些仓促,现在又发现问题了

不能去掉frame,否则又会左上角对齐,如果使用,就会 ...

尝试用一下Image()代替Frame(),毕竟你用的是图片,用这个的话就不用带size了
回复 支持 抱歉

使用道具 举报

发表于 2024-7-2 07:01:06 | 显示全部楼层
Ca清 发表于 2024-7-1 23:18
错误的,设计就是滑块的宽度(110px)远远大过bar(20px),如果bar的宽度跟滑块一样就太大了 ...

有没有一种可能,你的bar除了有颜色的20px,还有透明的部分。
看来你没有看视频。
回复 支持 抱歉

使用道具 举报

发表于 2024-7-2 07:04:13 | 显示全部楼层
烈林凤 发表于 2024-7-1 23:28
这个问题之前也困扰过我和很多人,说到底还是对gui编辑能力有限,还有很多部分有待开发) ...

说到底还是PS能力有限 (确信
回复 支持 抱歉

使用道具 举报

发表于 2024-7-2 12:55:43 | 显示全部楼层
Ca清 发表于 2024-7-1 23:47
啊,刚刚太着急,测试有些仓促,现在又发现问题了

不能去掉frame,否则又会左上角对齐,如果使用,就会 ...

尝试使用了黑凤梨大大提供的素材进行测试,发现确实有这样的问题,不过解决方法也很简单,去调整bar的xysize、top_bar和bottom_bar就好
[RenPy] 纯文本查看 复制代码
        bar:
            xycenter(0.5,0.9)
            xysize(741,166)
            value VariableValue("im_mo_xpos",range=1.0)
            bar_invert False
            bar_vertical False
            top_bar Fixed(Frame("images/测试用图/bar.png",xsize=741,ysize=71,xalign=0.5,yalign=0.5))
            bottom_bar Fixed(Frame("images/测试用图/bar.png",xsize=741,ysize=71,xalign=0.5,yalign=0.5))
            thumb Fixed(Frame("images/测试用图/bb.png",xsize=210,ysize=166,xalign=0.5,yalign=0.8))
            thumb_offset 35

将ysize的大小调整成滑块一样的高度,然后将top和bottom的大小调整成和原本需要的大小,这样就算拖动的是超出bar高度的部分滑块也可以进行拖动了。
回复 支持 抱歉

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|RenPy中文空间 ( 苏ICP备17067825号|苏公网安备 32092302000068号 )

GMT+8, 2024-9-8 09:49 , Processed in 0.142852 second(s), 31 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表