RenPy中文空间

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 181|回复: 4

[已解决] 请问怎么在游戏里设置二周目的收集要素

[复制链接]
发表于 2019-8-18 18:59:32 | 显示全部楼层 |阅读模式

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

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

x
有这样的几个问题
第1:怎么在主菜单里添加一个只有在通关一周目之后才会显示的选项/背景图等?
第2:怎么在某个界面里比如画廊模式里通过设置某个条件(比如浏览过这张CG)才能达成最后的真结局?

我试过在script里设置一个flag
但这个flag在主菜单界面似乎并不起作用
发表于 2019-8-18 19:55:04 | 显示全部楼层
本帖最后由 老司机飞飞飞 于 2019-8-26 02:35 编辑

https://www.renpy.cn/doc/persistent.html
设置个变量就行了
[RenPy] 纯文本查看 复制代码
#这是screen.rpy 里的
screen navigation():

    vbox:
        style_prefix "navigation"

        xpos gui.navigation_xpos
        yalign 0.5

        spacing gui.navigation_spacing

        if main_menu:

            textbutton _("开始游戏") action Start()

        else:

            textbutton _("历史") action ShowMenu("history")

            textbutton _("保存") action ShowMenu("save")

        textbutton _("读取游戏") action ShowMenu("load")

        textbutton _("设置") action ShowMenu("preferences")

        if _in_replay:

            textbutton _("结束回放") action EndReplay(confirm=True)

        elif not main_menu:

            textbutton _("标题界面") action MainMenu()

        textbutton _("关于") action ShowMenu("about")

        if renpy.variant("pc"):
            if persistent.hualang:
                textbutton _("画廊") action ShowMenu("hualang")

            ## “帮助”对移动设备来说并非必须或相关。
            textbutton _("帮助") action ShowMenu("help")

            ## “退出”按钮在 iOS 上被禁止使用,在安卓上也不是必需的。
            textbutton _("退出") action Quit(confirm=not main_menu)

screen hualang:
    frame:
        hbox:
            text "aaaa"

#这写在script里
define persistent.hualang = False

label start:
    "通关了"
    $ persistent.hualang = True
    "........"
    return

评分

参与人数 1干货 +1 收起 理由
龙氏 + 1 感谢解答!

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-18 22:26:59 | 显示全部楼层
老司机飞飞飞 发表于 2019-8-18 19:55
https://www.renpy.cn/doc/persistent.html
设置个变量就行了
[mw_shl_code=renpy,true]#这是screen.rpy 里 ...

感谢,问题1解决了

问题2我具体一点说是,我设置了一个music room用来播放一些用作收集要素的音频(非主线使用过的素材),现在我需要设置条件为将music room里所有的音频都播放过一次才能达成真结局的条件,我需要怎样处理?
还有就是怎么才能让我点进music room的时候不自动播放音乐_(:з」∠)_
回复 支持 反对

使用道具 举报

发表于 2019-8-18 23:59:31 | 显示全部楼层
本帖最后由 老司机飞飞飞 于 2019-8-19 14:19 编辑
zsc2015 发表于 2019-8-18 22:26
感谢,问题1解决了

问题2我具体一点说是,我设置了一个music room用来播放一些用作收集要素的音频(非主 ...
[RenPy] 纯文本查看 复制代码
init python:

    #  步骤1,创建一个MusicRoom实例。
    mr = MusicRoom(fadeout=1.0)

    # Step 2. 添加音乐文件。
    mr.add("track1.ogg", always_unlocked=True)
    mr.add("track2.ogg", always_unlocked=True)
    mr.add("track3.ogg", always_unlocked=True)

    music_dict = {
                "music1":0,
                "music2":0,
                "music3":0,
    }

    #判断是否所有的音乐都播放过
    def judge_musics():
        if 0 not in tuple(music_dict.values()):
            return True
        else:
            return False


# Step 3. 创建音乐空间界面。
screen music_room:

    tag menu

    frame:
        has vbox

        # 每条音轨的播放按钮。
        textbutton "Track 1":
            action SetDict(music_dict, "music1", 1), mr.Play("track1.ogg")
        textbutton "Track 2":
            action SetDict(music_dict, "music2", 1), mr.Play("track2.ogg")
        textbutton "Track 3":
            action SetDict(music_dict, "music3", 1), mr.Play("track3.ogg")

        null height 20

        # 切换音轨按钮。
        textbutton "Next" action mr.Next()
        textbutton "Previous" action mr.Previous()

        null height 20

        # 用户退出音乐空间的按钮。
        textbutton "退出" action Hide("music_room"), Stop("music")

    # 音乐空间的音乐播放入口。
    on "replace" action mr.Play()

    # 离开时恢复主菜单的音乐。
    on "replaced" action Play("music", "track1.ogg")

screen play_music():
    frame:
        hbox:
            textbutton "音乐房" action ShowTransient("music_room")
            textbutton "返回" action Return()

define jieju = False
define aa = 1

label start:
    call screen play_music
    $ aa = tuple(music_dict.values())
    "[aa]"
    "看看是真结局还是假结局"
    $ jieju = judge_musics()
    if jieju:
        "恭喜你达成了真结局"
    else:
        "偶,这只是个假结局"

我试了下并不会自动播放音乐啊,你看下这个吧https://www.renpy.cn/doc/rooms.html?highlight=music

回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-19 19:00:48 | 显示全部楼层
本帖最后由 zsc2015 于 2019-8-19 19:11 编辑

咦,我好像是从官方手册上直接搬的代码
[RenPy] 纯文本查看 复制代码
## 音乐播放测试

init python:

    #  步骤1,创建一个MusicRoom实例。
    mr = MusicRoom(fadeout=1.0)

    # Step 2. 添加音乐文件。
    mr.add("sound/bgm/01 - Bloodstained Ritual of the Night - Theme of Bloodstained.mp3", always_unlocked=True)
    mr.add("sound/bgm/02 - Bloodstained Ritual of the Night - Call of Eternity.mp3", always_unlocked=True)
    mr.add("sound/bgm/03 - Bloodstained Ritual of the Night - Prologue.mp3", always_unlocked=True)



# Step 3. 创建音乐空间界面。
screen music_room:

    tag menu

    frame:
        has vbox

        # 每条音轨的播放按钮。
        textbutton "Track 1" action mr.Play("sound/bgm/01 - Bloodstained Ritual of the Night - Theme of Bloodstained.mp3")

        textbutton "Track 2" action mr.Play("sound/bgm/02 - Bloodstained Ritual of the Night - Call of Eternity.mp3")

        textbutton "Track 3" action mr.Play("sound/bgm/03 - Bloodstained Ritual of the Night - Prologue.mp3")



        null height 20

        # 切换音轨按钮。
        textbutton "Next" action mr.Next()
        textbutton "Previous" action mr.Previous()

        null height 20

        # 用户退出音乐空间的按钮。
        textbutton "Main Menu" action ShowMenu("main_menu")

    # 音乐空间的音乐播放入口。
    on "replace" action mr.Play()


    # 离开时恢复主菜单的音乐。
    on "replaced" action Play("music", "sound/bgm/03 - Bloodstained Ritual of the Night - Prologue.mp3")



回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2019-11-15 21:07 , Processed in 0.093719 second(s), 28 queries , File On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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