找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 10309|回复: 5

[原创] 跟随鼠标位置的ToolTips

[复制链接]
发表于 2018-4-17 11:38:58 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 法海叔叔 于 2018-4-17 11:46 编辑

一个可以跟随鼠标位置的ToolTips。

                               
登录/注册后可看大图

[RenPy] 纯文本查看 复制代码
init python: 
    def fl(pic, b = 0.2):
        return im.MatrixColor(pic, im.matrix.brightness(b))

screen scrtt(x=100, y=100, tt="ToolTips", ttime=0.5, htime=0, mpos=renpy.get_mouse_pos(), m=True):
    zorder 999
    if m:
        $ x = mpos[0]
        $ y = mpos[1]
    if ttime == 0:
        $ ttime = 0.1
    timer ttime action Show("scrtt_text", x = x, y = y, tt = tt)
    on "hide" action Hide("scrtt_text")
    if htime > 0:
        timer htime action Hide("scrtt")

screen scrtt_text(x, y, tt):
    zorder 999
    if x < 720:
        $ xa = 0.0
        if (1280 - x) < 640:
            $ xm = 1280 - x
        else:
            $ xm = 640
    else:
        $ xa = 1.0
        $ xm = 640

    if y < 360:
        $ ya = 0.0
        if (720 - y) < 360:
            $ ym = 720 - x
        else:
            $ ym = 360
    else:
        $ ym = 360
        $ ya = 1.0
    frame xanchor xa yanchor ya xpos x+10 ypos y+10 xmaximum xm ymaximum ym padding (20,10,20,10) background Frame("gui/tooltip_bg.png",20,10,tile = False):
        #style_group "invstyle"
        text tt color "#111" size 16
screen ccc:
    #ToolTip
    $ tooltip = GetTooltip()
    if tooltip:
        text "[tooltip]" pos (100,0)
    textbutton (_("名称1")):
      action NullAction()
      tooltip "{color=fff}{b}名称1:{/b}\n介绍介绍介绍介绍介绍介绍介绍介绍{/color}"


    #跟随鼠标的ToolTips
    textbutton (_("名称2")):
        xpos 1200
        action NullAction()
        hovered Show("scrtt",tt="{b}名称2:{/b}\n介绍介绍介绍介绍介绍介绍介绍介绍介绍介绍")
        unhovered [Hide("scrtt")]
    textbutton (_("名称2")):
        yalign .5
        xalign .5
        action NullAction()
        hovered Show("scrtt",tt="{b}名称2:{/b}\n介绍介绍介绍介绍介绍介绍介绍介绍介绍介绍")
        unhovered [Hide("scrtt")] 
    imagebutton:
        idle "gui/button/slot_idle_background.png"
        hover fl("gui/button/slot_idle_background.png")
        yalign 1.0
        xalign 1.0
        action NullAction()
        hovered Show("scrtt",tt="{b}名称2:{/b}\n介绍介绍介绍介绍介绍介绍介绍介绍介绍介绍")
        unhovered [Hide("scrtt")]
label start:
    scene black
    call screen ccc
    "雪变大了"




 楼主| 发表于 2018-4-17 11:49:09 | 显示全部楼层
个人感觉比不比renpy的Tooltips系统差
回复 支持 抱歉

使用道具 举报

发表于 2018-4-17 12:01:19 | 显示全部楼层
哈,不就我给的思路吗
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2018-4-17 21:10:30 | 显示全部楼层
龙氏 发表于 2018-4-17 12:01
哈,不就我给的思路吗

对啊~~~
回复 支持 抱歉

使用道具 举报

发表于 2019-8-26 15:40:22 | 显示全部楼层
call screen ccc 和 show screen ccc 有什么区别么?我目前都用show screen
回复 支持 抱歉

使用道具 举报

发表于 2020-7-21 14:05:32 | 显示全部楼层
稍微修改一下RenPy自带的choice就能直接用menu写了 省了写textbottom的事
[RenPy] 纯文本查看 复制代码
screen choice(items,tip):
    style_prefix "choice"

    vbox:
        $ c = 0
        for i in items:
            textbutton i.caption:
                action i.action, Hide("scrtt")
                if tip[c] != "":
                    hovered Show("scrtt",tt=tip[c])
                    unhovered [Hide("scrtt")] 
            $ c += 1



给screen choice加个新入参tip就可以直接在menu的选项上加楼主这个tooltips了
在实际写码时只需要
[RenPy] 纯文本查看 复制代码
menu (tip=["这是第一个tip的内容","这是第二个tip的内容","以此类推"]):

就能直接加在menu上了
回复 支持 抱歉

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-18 13:14 , Processed in 0.055797 second(s), 12 queries , File On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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