RenPy中文空间

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 39|回复: 3

[已解决] 拖拽赋予有关的问题。

[复制链接]
发表于 2022-1-13 21:02:48 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 怀念丶落樱 于 2022-1-14 21:36 编辑

[RenPy] 纯文本查看 复制代码
define kacang_1 = "100000"
image kacang_1:
    "[kacang_1]"
define kacang_2 = "100000"
image kacang_2:
    "[kacang_2]"
    
### 定义一个界面(screen)###
screen send_detective_screen:
    # 作为背景的地图。
    add "europe.jpg"
    draggroup:
        drag:
            drag_name "10000"

             # 调用图像
            child "ivy.png"

            # 若为False,其他Drag对象不能放在该Drag对象上。
            droppable False

            # 一个回调函数(或回调函数列表),当Drag对象被拖拽时被调用。
            dragged detective_ivy

             # 人物图位置。
            xpos 700 ypos 600

        drag:
            drag_name "1000" # Zack 扎克。

             # 调用图像
            child "zack.png"

            # 若为False,其他Drag对象不能放在该Drag对象上。
            droppable False

            # 一个回调函数(或回调函数列表),当Drag对象被拖拽时被调用。
            dragged detective_zack
             # 人物图位置。
            xpos 900 ypos 600

        # 可选择城市。
        drag:
            drag_name "卡位1" # 伦敦

             # 调用图像
            child "london.png"

             # 若为False,此Drag对象无法被鼠标拖拽。
            draggable False
             # 城市位置。
            xpos 0 ypos 0

        drag:
            drag_name "卡位2" # 巴黎

             # 调用图像
            child "paris.png"

            # 若为False,此Drag对象无法被鼠标拖拽。
            draggable False

             # 城市位置。
            xpos 200 ypos 0
    fixed:
        textbutton "确定":
            xpos 150 ypos 450
            text_size 25 text_outlines [(absolute(2),"#000",absolute(0),absolute(0))]
            text_color "BBBABB"
            text_hover_color "99F9FF"
            action Jump ("b1")
########################################

# 游戏在此开始。
label start:
    call screen send_detective_screen
    return


#两张卡的初始位置
init python:

    def detective_ivy(drags, drop):
 # 如果drop为False,即没有任何触碰交互,drags没有放到任何drop上。
        if not drop:
 # 没有任何触碰交互,0.1秒返回原位置。
            drags[0].snap(700 , 600, 0.1)
            return

        store.kacang_1 = drags[0].drag_name
        return

    def detective_zack(drags, drop):
 # 如果drop为False,即没有任何触碰交互,drags没有放到任何drop上。
        if not drop:
 # 没有任何触碰交互,0.1秒返回原位置。
            drags[0].snap(900 , 600, 0.1)
            return

        store.kacang_2 = drags[0].drag_name
        return

label b1:
    jump b2
    return

label b2:
    scene europe
    with dissolve
    show kacang_1:
        xalign 0.0
        yalign 0.85
    show kacang_2:
        xalign 0.75
        yalign 0.85
    call screen b2
    screen b2:
        fixed:
            textbutton "确定":
                xpos 150 ypos 450
                text_size 25 text_outlines [(absolute(2),"#000",absolute(0),absolute(0))]
                text_color "BBBABB"
                text_hover_color "99F9FF"
                action Jump ("start")
    return

理想图

理想图
 楼主| 发表于 2022-1-13 21:14:16 | 显示全部楼层
本帖最后由 怀念丶落樱 于 2022-1-13 21:41 编辑

我发现 卡位只是触发的作用,卡1碰到谁都会将卡1=卡位1.如何使他辨别出来我碰的是卡位1还是卡位2呢?

回复 支持 反对

使用道具 举报

发表于 7 天前 | 显示全部楼层
纸上谈兵式回答一下……
文档中关于拖放组件的内容有这样一段话:“当拖放发生时,作为同一个DragGroup内的一部分,组内所有Drag对象都需要做出响应。”
按照楼主的需求,设置2个draggroup。把卡位1和卡1设为同draggroup,卡位2和卡2设为同draggroup,大概就可以了……(不过我没测试,可能不行)
回复 支持 反对

使用道具 举报

 楼主| 发表于 7 天前 | 显示全部楼层
好的,我研究研究
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2022-1-21 14:12 , Processed in 0.090622 second(s), 12 queries , File On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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