celelas吧 关注:1贴子:56
  • 3回复贴,共1

【renpy】screen.rpy

只看楼主收藏回复

一楼喂度娘


IP属地:北京1楼2016-07-01 09:12回复
    # 此文件属于公共领域,
    # 请为属于您的游戏屏幕内容自由地定制。
    ## file:///D:/GalGame/Ref/renpy/doc/screens.html
    ## 菜单切换动画定义
    transform main_menu_zoomout:
    Fixed(
    Image("ui/button/button_startgame.png", anchor=(0.5,0.5), pos=(0.5,0.598)),
    Image("ui/button/button_continuegame.png", anchor=(0.5,0.5), pos=(0.5,0.668)),
    Image("ui/button/button_preference.png", anchor=(0.5,0.5), pos=(0.5,0.736)),
    ## conditionswitch(条件,语句,条件,语句,条件,语句......),找到第一个条件为真的地方,执行后面的语句
    ConditionSwitch("persistent.lastending","ui/button/button_extra.png","True",At("ui/button/button_extra.png",Transform(alpha=0.5)), anchor=(0.5,0.5), pos=(0.5,0.805)),
    Image("ui/button/button_exitgame.png", anchor=(0.5,0.5), pos=(0.5,0.874)),
    align=(0.5,0.74),
    zoom=1.0,
    alpha=1.0
    )
    parallel:
    easeout 0.2 zoom 1.3
    parallel:
    easeout 0.2 alpha 0.0
    transform main_menu_zoomin:
    Fixed(
    Image("ui/button/button_startgame.png", anchor=(0.5,0.5), pos=(0.5,0.598)),
    Image("ui/button/button_continuegame.png", anchor=(0.5,0.5), pos=(0.5,0.668)),
    Image("ui/button/button_preference.png", anchor=(0.5,0.5), pos=(0.5,0.736)),
    ConditionSwitch("persistent.lastending","ui/button/button_extra.png","True",At("ui/button/button_extra.png",Transform(alpha=0.5)), anchor=(0.5,0.5), pos=(0.5,0.805)),
    Image("ui/button/button_exitgame.png", anchor=(0.5,0.5), pos=(0.5,0.874)),
    align=(0.5,0.74),
    alpha=0.0
    )
    parallel:
    zoom 1.3
    easein 0.2 zoom 1.0
    parallel:
    easein 0.2 alpha 1.0
    # transform load_zoomout:
    # transform load_zoomin:
    screen invisible:
    modal True
    key "K_ESCAPE" action NullAction()
    key "K_SPACE" action NullAction()
    key "K_KP_ENTER" action NullAction()
    key "mouseup_1" action NullAction()
    button:
    background None
    action NullAction()


    IP属地:北京2楼2016-07-01 09:15
    回复
      ##############################################################################
      # Say
      #
      # 用于显示ADV模式对话的屏幕。
      # http://www.renpy.org/doc/html/screen_special.html#say
      screen say:
      # 侧边图(side image)与双文本框的默认值。
      default side_image = None
      default two_window = True
      # 决定单文本框或双文本框的变量:
      if not two_window:
      ## 单文本框。narrate在此显示
      ## 本游戏不会在单文本框中显示名字,因此who的设定忽略
      window:
      id "window"
      background "ui/message_bg.png"
      ## 设定window的高度为250(等于上面图片的高度)
      ysize 250
      ## 设定window内文字的左右padding
      xpadding 200
      ## 设定window内文字的上padding
      top_padding 100
      has vbox:
      style "say_vbox"
      if who:
      text who:
      id "who"
      language "eastasian"
      size 28
      color "#ffffff"
      outlines [(1,"#000000",0,0)]
      text what:
      id "what"
      line_spacing 7
      first_indent 15
      newline_indent True
      language "eastasian"
      size 28
      color "#ffffff"
      outlines [(1,"#000000",0,0)]
      else:
      ## 双文本框。如two_window=true,dialog在此显示
      ## 名字显示在who的window中,对白显示在screen的window中
      # vbox:
      # style "say_two_window_vbox"
      ## 先定义的window显示在下方
      window:
      id "window"
      background "ui/message_bg.png"
      ysize 250
      xpadding 200
      top_padding 100
      has vbox:
      style "say_vbox"
      text what:
      id "what"
      line_spacing 7
      first_indent 15
      newline_indent True
      language "eastasian"
      size 28 color "#ffffff"
      outlines [(1,"#000000",0,0)]
      if who:
      window:
      style "say_who_window"
      ## 隐藏姓名栏的背景
      background None
      pos 30,571
      ## 设定window内文字的左右padding
      left_padding 170
      text who:
      id "who"
      language "eastasian"
      size 28 color "#ffffff"
      outlines [(1,"#000000",0,0)]
      bold False
      #若播放bgm时播放voice,则bgm音量降为50%
      # if renpy.music.get_playing(channel="voice"):
      # $renpy.music.set_volume(0.5,channel="music")
      # else:
      # $renpy.music.set_volume(1,channel="music")
      # 如果存在侧边图,将其显示于文字上方。
      if side_image:
      add side_image
      else:
      add SideImage() xalign 0.0 yalign 1.0
      # 使用快速菜单。
      use quick_menu
      screen saywithoutbg:
      # 侧边图(side image)与双文本框的默认值。
      default side_image = None
      default two_window = True
      # 决定单文本框或双文本框的变量:
      if not two_window:
      ## 单文本框。narrate在此显示
      ## 本游戏不会在单文本框中显示名字,因此who的设定忽略
      window:
      id "window"
      background None
      ## 设定window的高度为250(等于上面图片的高度)
      ysize 250
      ## 设定window内文字的左右padding
      xpadding 200
      ## 设定window内文字的上padding
      top_padding 100
      has vbox:
      style "say_vbox"
      if who:
      text who:
      id "who"
      language "eastasian"
      size 28
      color "#ffffff"
      outlines [(1,"#000000",0,0)]
      text what:
      id "what"
      line_spacing 7
      first_indent 15
      newline_indent True
      language "eastasian"
      size 28
      color "#ffffff"
      outlines [(1,"#000000",0,0)]
      else:
      ## 双文本框。如two_window=true,dialog在此显示
      ## 名字显示在who的window中,对白显示在screen的window中
      # vbox:
      # style "say_two_window_vbox"
      ## 先定义的window显示在下方
      window:
      id "window"
      background "ui/message_bg.png"
      ysize 250
      xpadding 200
      top_padding 100
      has vbox:
      style "say_vbox"
      text what:
      id "what"
      line_spacing 7
      first_indent 15
      newline_indent True
      language "eastasian"
      size 28 color "#ffffff"
      outlines [(1,"#000000",0,0)]
      if who:
      window:
      style "say_who_window"
      ## 隐藏姓名栏的背景
      background None
      pos 30,571
      ## 设定window内文字的左右padding
      left_padding 170
      text who:
      id "who"
      language "eastasian"
      size 28 color "#ffffff"
      outlines [(1,"#000000",0,0)]
      bold False
      #若播放bgm时播放voice,则bgm音量降为50%
      if renpy.music.get_playing(channel="voice"):
      $renpy.music.set_volume(0.5,channel="music")
      else:
      $renpy.music.set_volume(1,channel="music")
      # 如果存在侧边图,将其显示于文字上方。
      if side_image:
      add side_image
      else:
      add SideImage() xalign 0.0 yalign 1.0
      # 使用快速菜单。
      use quick_menu


      IP属地:北京3楼2016-07-01 09:15
      回复
        ##############################################################################
        # Yes/No Prompt
        #
        # 用于询问用户确定与否的屏幕。
        # http://www.renpy.org/doc/html/screen_special.html#yesno-prompt
        screen yesno_prompt(message, yes_action, no_action):
        tag yesno
        modal True
        window:
        xpadding 0.0
        ypadding 0.0
        if not in_game or _in_replay:
        if message == layout.QUIT:
        add "ui/black_bg.png"
        else:
        if message == layout.QUIT:
        add "ui/black_bg.png" alpha 0.2
        add "ui/dialog/dialog_bg_full.png":
        align 0.5,0.5
        text _(message):
        align 0.5,0.43
        imagebutton:
        xalign 0.42
        yalign 0.55
        idle "ui/dialog/dialog_yes.png"
        hover "ui/dialog/dialog_yes_on.png"
        selected_idle "ui/dialog/dialog_yes.png"
        selected_hover "ui/dialog/dialog_yes_on.png"
        hovered Play("sound","sound/se_ButtonHover.ogg")
        action yes_action
        imagebutton:
        xalign 0.58
        yalign 0.55
        idle "ui/dialog/dialog_no.png"
        hover "ui/dialog/dialog_no_on.png"
        selected_idle "ui/dialog/dialog_no.png"
        selected_hover "ui/dialog/dialog_no_on.png"
        hovered Play("sound","sound/se_ButtonHover.ogg")
        action no_action
        # 右键单击进行回避并回答“否”。
        key "mouseup_3" action no_action
        key "game_menu" action no_action
        ##############################################################################
        # Quick Menu
        #
        # 包含在默认的say屏幕中的屏幕,
        # 用于快速访问某些实用功能。
        # 译注:游戏内快速访问菜单,也就是文本框下方的存档、读档等按钮。
        define LeftPosition = 185
        define TopPosition = 700
        define PositionStep = 300
        screen quick_menu:
        imagebutton:
        anchor 0,0
        pos LeftPosition,TopPosition
        idle "ui/sysbutton/sysbutton_hide.png"
        hover "ui/sysbutton/sysbutton_hide_on.png"
        selected_idle "ui/sysbutton/sysbutton_hide.png"
        selected_hover "ui/sysbutton/sysbutton_hide_on.png"
        hovered Play("sound","sound/se_ButtonHover.ogg")
        action ShowMenu("hide_say")
        imagebutton:
        anchor 0,0
        pos LeftPosition+PositionStep,TopPosition
        idle "ui/sysbutton/sysbutton_qsave.png"
        hover "ui/sysbutton/sysbutton_qsave_on.png"
        selected_idle "ui/sysbutton/sysbutton_qsave.png"
        selected_hover "ui/sysbutton/sysbutton_qsave_on.png"
        hovered Play("sound","sound/se_ButtonHover.ogg")
        action QuickSave()
        imagebutton:
        anchor 0,0
        pos LeftPosition+PositionStep+85,TopPosition
        idle "ui/sysbutton/sysbutton_qload.png"
        hover "ui/sysbutton/sysbutton_qload_on.png"
        selected_idle "ui/sysbutton/sysbutton_qload.png"
        selected_hover "ui/sysbutton/sysbutton_qload_on.png"
        hovered Play("sound","sound/se_ButtonHover.ogg")
        action QuickLoad()
        imagebutton:
        anchor 0,0
        pos LeftPosition+PositionStep+160,TopPosition
        idle "ui/sysbutton/sysbutton_save.png"
        hover "ui/sysbutton/sysbutton_save_on.png"
        selected_idle "ui/sysbutton/sysbutton_save.png"
        selected_hover "ui/sysbutton/sysbutton_save_on.png"
        hovered Play("sound","sound/se_ButtonHover.ogg")
        action ShowMenu('save')
        imagebutton:
        anchor 0,0
        pos LeftPosition+PositionStep+220,TopPosition
        idle "ui/sysbutton/sysbutton_load.png"
        hover "ui/sysbutton/sysbutton_load_on.png"
        selected_idle "ui/sysbutton/sysbutton_load.png"
        selected_hover "ui/sysbutton/sysbutton_load_on.png"
        hovered Play("sound","sound/se_ButtonHover.ogg")
        action ShowMenu("load")
        imagebutton:
        focus_mask None
        anchor 0,0
        pos LeftPosition+PositionStep+295,TopPosition
        idle "ui/sysbutton/sysbutton_auto.png"
        hover "ui/sysbutton/sysbutton_auto_on.png"
        selected_idle "ui/sysbutton/sysbutton_auto_on.png"
        selected_hover "ui/sysbutton/sysbutton_auto_on.png"
        hovered Play("sound","sound/se_ButtonHover.ogg")
        action Preference("auto-forward", "toggle")
        imagebutton:
        focus_mask None
        anchor 0,0
        pos LeftPosition+PositionStep+355,TopPosition
        idle "ui/sysbutton/sysbutton_skip.png"
        hover "ui/sysbutton/sysbutton_skip_on.png"
        selected_idle "ui/sysbutton/sysbutton_skip_on.png"
        selected_hover "ui/sysbutton/sysbutton_skip_on.png"
        hovered Play("sound","sound/se_ButtonHover.ogg")
        action Skip()
        imagebutton:
        focus_mask None
        anchor 0,0
        pos LeftPosition+PositionStep+410,TopPosition
        idle "ui/sysbutton/sysbutton_log.png"
        hover "ui/sysbutton/sysbutton_log_on.png"
        selected_idle "ui/sysbutton/sysbutton_log.png"
        selected_hover "ui/sysbutton/sysbutton_log_on.png"
        hovered Play("sound","sound/se_ButtonHover.ogg")
        # action Rollback()
        action [ShowMenu("text_history")]
        imagebutton:
        focus_mask None
        idle "ui/sysbutton/sysbutton_menu.png"
        anchor 0,0
        pos LeftPosition+PositionStep+470,TopPosition
        hover "ui/sysbutton/sysbutton_menu_on.png"
        selected_idle "ui/sysbutton/sysbutton_menu.png"
        selected_hover "ui/sysbutton/sysbutton_menu_on.png"
        hovered Play("sound","sound/se_ButtonHover.ogg")
        action ShowMenu("navigation")
        init -2:
        style quick_button:
        is default
        background None
        xpadding 10
        style quick_button_text:
        is default
        font "font/SourceHanSansCN_Regular.ttf"
        size 15
        idle_color "#92009f" #8888
        hover_color "#d52bd5" #ccc
        selected_idle_color "#cc08"
        selected_hover_color "#cc0"
        insensitive_color "#4448"
        ##############################################################################
        # Hide Say
        #
        # Quick Menu中隐藏Say按钮后的左右键显示功能实现,
        # 用于使得Say隐藏后可通过左右键恢复显示。
        screen hide_say:
        key "mouseup_3" action Return()
        key "mouseup_1" action Return()
        key "game_menu" action Return()
        ##############################################################################
        # Music Room
        #
        # 显示音乐播放界面,
        # 用于使得Say隐藏后可通过左右键恢复显示。
        init python:
        # Step 1. Create a MusicRoom instance.
        mr = MusicRoom(fadeout=1.0)
        # Step 2. Add music files.
        mr.add("music/bgm_LyricalDecision.ogg", always_unlocked=True)
        mr.add("music/bgm_ImpossibleDays.ogg", always_unlocked=True)
        mr.add("music/bgm_WhisperingExchange.ogg", always_unlocked=True)
        # Step 3. Create the music room screen.
        screen music_room:
        tag menu
        frame:
        has vbox
        # The buttons that play each track.
        textbutton "Track 1" action mr.Play("music/bgm_LyricalDecision.ogg")
        textbutton "Track 2" action mr.Play("music/bgm_BlueOpinion.ogg")
        textbutton "Track 2" action mr.Play("music/bgm_ImpossibleDays.ogg")
        textbutton "Track 3" action mr.Play("music/bgm_WhisperingExchange.ogg")
        null height 20
        # Buttons that let us advance tracks.
        textbutton "Next" action mr.Next()
        textbutton "Previous" action mr.Previous()
        null height 20
        # The button that lets the user exit the music room.
        textbutton "Main Menu" action ShowMenu("main_menu")
        # Start the music playing on entry to the music room.
        on "replace" action mr.Play()
        # Restore the main menu music upon leaving.
        on "replaced" action Play("music", "music/bgm_BlueOpinion.ogg")


        IP属地:北京8楼2016-07-01 09:27
        回复