Compare commits
17 Commits
v0.0.6
...
v0.0.8-hot
| Author | SHA1 | Date | |
|---|---|---|---|
| 9c0f65f420 | |||
| 118f3d9462 | |||
| acbce20e18 | |||
| 4e305599f2 | |||
| f447de7f62 | |||
| 8e7b156d19 | |||
| b9dc8b7105 | |||
| 47f1733a95 | |||
| 230e5f8892 | |||
| 4a348e578b | |||
| 2e273a782c | |||
| b5452a0a8a | |||
| 890dea326d | |||
| ec39996d7c | |||
| d2da64618a | |||
| 7bf578b6b0 | |||
| 13ecbdb246 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -3,6 +3,7 @@
|
||||
# =============================================
|
||||
*.rpyc
|
||||
*.rpyb
|
||||
*.rpymc
|
||||
game/cache/
|
||||
game/saves/
|
||||
game/temp/
|
||||
|
||||
@@ -20,11 +20,6 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
||||
|
||||
构建多平台发行版需通过 Ren'Py 启动器 GUI 操作,配置见 `project.json` 和 `android.json`。
|
||||
|
||||
## 已知语法错误(需要修复)
|
||||
|
||||
- `game/Chapters/Chapter1.rpy:31` — 引用了未定义的变换 `move_to_bottomleft`
|
||||
- `game/screens.rpy:318` — 按钮定义中存在非法中文标点符号(`。`)
|
||||
|
||||
## 项目架构
|
||||
|
||||
### 核心文件
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
"include_pil": false,
|
||||
"include_sqlite": false,
|
||||
"layout": null,
|
||||
"name": "\u8398\u6f9c\u65e5\u8bb0b0.0.6",
|
||||
"name": "\u8398\u6f9c\u65e5\u8bb0b0.0.8",
|
||||
"numeric_version": 1,
|
||||
"orientation": "sensorLandscape",
|
||||
"package": "com.rytstudio.xinlandiary",
|
||||
|
||||
@@ -3,15 +3,20 @@
|
||||
|
||||
|
||||
label Chapter1_Scene1:
|
||||
$ game_day = 1
|
||||
$ game_period = "morning"
|
||||
|
||||
scene bg classroom featryt with fade
|
||||
system_ "【Day 1·上午·七班教室】"
|
||||
|
||||
me "{cps=25}九月的风还带着夏末的燥热,那道斜切过窗台的阳光,在黑板上画出一道明晃晃的线。\n就像我的人生,被分成了两半——线的那头,是重点班;线的这头,是我。"
|
||||
me "这道光就这么直直地切过来,像是在提醒我,你就在这儿,也只能在这儿了。\n曾经唾手可得,如今遥不可及。"
|
||||
|
||||
pause 0.5
|
||||
show xingyu thinking at left
|
||||
|
||||
show xingyu thinking at left
|
||||
xingyu "涛哥,你咋又对着黑板发呆?"
|
||||
play music "audio/XinLanDiary-Part1.ogg" fadein 2
|
||||
show xingyu laughing
|
||||
xingyu "该不会是在研究光线折射角度吧?"
|
||||
hide xingyu
|
||||
@@ -35,7 +40,10 @@ label Chapter1_Scene1:
|
||||
show xingyu laughing big
|
||||
xingyu "{cps=5}哈哈哈哈哈{cps=15}!\n真是一对苦命鸳鸯!"
|
||||
|
||||
play sound "audio/xiakering.mp3"
|
||||
$ game_period = "after_school"
|
||||
stop music fadeout 1.0
|
||||
play sound "audio/AfterClassRing.ogg" noloop
|
||||
queue sound "audio/MainMenu.ogg" fadein 1.0
|
||||
scene bg black with fade
|
||||
pause 1.0
|
||||
scene bg playground twilight
|
||||
@@ -52,13 +60,17 @@ label Chapter1_Scene1:
|
||||
stop sound fadeout 1.0
|
||||
|
||||
hide xingyu with dissolve
|
||||
play music "audio/MainMenu.ogg" fadein 1.0
|
||||
|
||||
me "那声'起义'在心里荡开了一个小涟漪。"
|
||||
me "他说得对——但说出口的代价,比他想的要重得多。"
|
||||
hide ryt with dissolve
|
||||
|
||||
pause 0.8
|
||||
|
||||
|
||||
# 草稿原文:「教室里人快走空时,手机震动了」——切回空教室背景
|
||||
scene bg classroom wide afterschool with dissolve
|
||||
|
||||
lzx "画廊更新了,有惊喜。友情提示:这次可能会火。"
|
||||
|
||||
me "……“任懿涛观察日志?”"
|
||||
@@ -68,6 +80,7 @@ label Chapter1_Scene1:
|
||||
show ryt dialogue embarrass pocket at center with dissolve
|
||||
me "三张连拍……全程记录,还加了学术注释。行吧,就是个玩笑。"
|
||||
hide ryt with dissolve
|
||||
stop music fadeout 1.0
|
||||
|
||||
$ lhy_stats["affection"] += 3
|
||||
$ lhy_stats["trust"] += 2
|
||||
@@ -79,8 +92,11 @@ label Chapter1_Scene1:
|
||||
jump Chapter1_Scene2
|
||||
|
||||
label Chapter1_Scene2:
|
||||
$ game_day = 2
|
||||
$ game_period = "morning"
|
||||
scene bg classroom morning featryt with fade
|
||||
#system_ "【第二天早上】"
|
||||
play music "audio/XinLanDiary-Part1.ogg" fadein 2
|
||||
system_ "【Day 2·早自习前·七班教室】"
|
||||
|
||||
me "第二天早上,一切都不一样了。"
|
||||
me "刚踏进七班,就感觉空气里有种微妙的兴奋。"
|
||||
@@ -111,12 +127,14 @@ label Chapter1_Scene2:
|
||||
me "深吸一口气——经过八班队列时,我故意做了个跳起来打空气的动作,表情夸张。"
|
||||
hide ryt with dissolve
|
||||
tongxue "哈哈哈哈——"
|
||||
stop music fadeout 1.0
|
||||
me "果然,又是一阵笑声。"
|
||||
me "我的那层盔甲还在。 对吗?"
|
||||
|
||||
pause 0.3
|
||||
|
||||
# 关键场景:刘泓予看穿
|
||||
play music "audio/MainMenu.ogg" fadein 2.0
|
||||
show lhy dialogue normal at right with dissolve
|
||||
lhy "你刚才那个假动作,面部肌肉的紧张程度是平时的1.3倍。"
|
||||
show ryt dialogue embarrass pocket at left with dissolve
|
||||
@@ -130,6 +148,8 @@ label Chapter1_Scene2:
|
||||
me "但不知道为什么,被他这么一说……我反而松了口气。"
|
||||
me "有人看见了,但没有嘲笑。只是……记录。"
|
||||
|
||||
#stop music fadeout 1.0
|
||||
|
||||
$ lhy_stats["affection"] += 5
|
||||
$ lhy_stats["trust"] += 5
|
||||
$ lhy_stats["empathy"] += 3
|
||||
@@ -140,6 +160,7 @@ label Chapter1_Scene2:
|
||||
|
||||
label Chapter1_Scene3:
|
||||
# —— 视角A:苏雨桐·学生会会议室 ——
|
||||
$ game_period = "afternoon"
|
||||
scene bg meetingroom meeting with fade
|
||||
"{cps=20}【同日下午·学生会会议室】" # system_ "【同日下午·学生会会议室】"
|
||||
|
||||
@@ -167,6 +188,8 @@ label Chapter1_Scene3:
|
||||
yutong "我那天递给他的纸条上可不仅写了“恭喜”二字……"
|
||||
yutong "这句话,他没有回应。\n 或许他根本就没有看见……"
|
||||
|
||||
stop music fadeout 1.0
|
||||
|
||||
$ yutong_stats["affection"] += 3
|
||||
$ yutong_stats["attention"] += 5
|
||||
$ yutong_stats["h_academicSupport"] += 1
|
||||
@@ -174,6 +197,7 @@ label Chapter1_Scene3:
|
||||
pause 0.5
|
||||
|
||||
# —— 视角B:林晓薇·高二一班走廊 ——
|
||||
play music "audio/XinLanDiary-Part1.ogg" fadein 2.0
|
||||
scene bg corridor with dissolve
|
||||
"【同日下午·高二一班走廊】"
|
||||
|
||||
@@ -183,11 +207,13 @@ label Chapter1_Scene3:
|
||||
xiaowei "拍得好生动啊!你们说,要是我也这样跳起来打人,会不会也这么有效果?"
|
||||
tongxue "哈哈哈哈!"
|
||||
hide xiaowei with dissolve
|
||||
stop music fadeout 1.0
|
||||
|
||||
"{cps=20}她笑着,眼睛却没有离开屏幕。"
|
||||
"{cps=20}那种真实的活力,让她觉得……在礼貌而疏离的文科班里,有什么东西被触动了。"
|
||||
|
||||
#system_ "【切换账号:薇风拂晓】"
|
||||
play music "audio/XinLanDiary-Part1.ogg" fadein 2.0
|
||||
scene bg classroom phone closeup with dissolve
|
||||
system_ "好友列表:逍遥剑客 [[在线]"
|
||||
xiaowei_w "在吗?问个事。你们学校是不是有个挺搞笑的人?最近好像因为什么照片火了。"
|
||||
@@ -202,6 +228,7 @@ label Chapter1_Scene3:
|
||||
me "任懿涛正背对门口,和陈星宇比划着什么。大概又是游戏攻略。"
|
||||
hide ryt with dissolve
|
||||
hide xingyu with dissolve
|
||||
stop music fadeout 1.0
|
||||
|
||||
$ xiaowei_stats["affection"] += 4
|
||||
$ xiaowei_stats["interactionFrequency"] += 2
|
||||
@@ -210,6 +237,8 @@ label Chapter1_Scene3:
|
||||
jump Chapter1_Scene4
|
||||
|
||||
label Chapter1_Scene4:
|
||||
$ game_period = "after_school"
|
||||
play music "audio/MainMenu.ogg" fadein 2.0
|
||||
scene bg classroom wide afterschool with fade
|
||||
"{cps=20}【同日放学后·七班教室】" # system_ "【同日放学后·七班教室】"
|
||||
|
||||
@@ -250,6 +279,7 @@ label Chapter1_Scene4:
|
||||
hide ryt with dissolve
|
||||
|
||||
# 反侦察行动
|
||||
play music "audio/XinLanDiary-Part1.ogg" fadein 2.0
|
||||
show xingyu at left with dissolve
|
||||
xingyu "各位!我有个绝妙的主意——"
|
||||
xingyu "既然那个画廊这么喜欢拍涛哥,咱们不如搞个「反侦察行动」!"
|
||||
@@ -260,9 +290,12 @@ label Chapter1_Scene4:
|
||||
xingyu "哎呀小卡你别扫兴!就是玩嘛!涛哥,你说干不干?"
|
||||
hide lhy with dissolve
|
||||
|
||||
stop music fadeout 0.8
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "看着眼前这群人。认识不过一个多月——但他们就这么凑过来,商量这种无聊又有趣的计划。"
|
||||
me "在重点班时,从来没有过这样的时刻。"
|
||||
|
||||
play music "audio/XinLanDiary-Part1.ogg" fadein 1.0
|
||||
me "行啊!但咱们得专业!要有分工!有排班表!有应急预案!还要有——"
|
||||
hide ryt with dissolve
|
||||
hide xingyu with dissolve
|
||||
@@ -275,6 +308,7 @@ label Chapter1_Scene4:
|
||||
yh "我负责记录你们的失败过程。"
|
||||
hide yh with dissolve
|
||||
tongxue "哈哈哈哈哈!"
|
||||
stop music fadeout 1.0
|
||||
|
||||
show ryt dialogue normal at right with dissolve
|
||||
me "我也跟着笑。但眼睛不自觉地望向窗外。"
|
||||
@@ -294,6 +328,8 @@ label Chapter1_Scene4:
|
||||
pause 0.5
|
||||
|
||||
# 便利店
|
||||
$ game_period = "evening"
|
||||
play music "audio/XinLanDiary-Part2.ogg" fadein 2.0
|
||||
scene bg convenience store with fade
|
||||
system_ "【傍晚17:25·校门外便利店】"
|
||||
|
||||
@@ -347,6 +383,7 @@ label Chapter1_Scene4:
|
||||
pause 0.5
|
||||
|
||||
# 双视角结尾
|
||||
$ game_period = "night"
|
||||
scene bg black with fade
|
||||
system_ "【同夜·城市另一头】"
|
||||
|
||||
|
||||
BIN
game/audio/AfterClassRing.ogg
Normal file
BIN
game/audio/AfterClassRing.ogg
Normal file
Binary file not shown.
BIN
game/audio/MainMenu.ogg
Normal file
BIN
game/audio/MainMenu.ogg
Normal file
Binary file not shown.
BIN
game/audio/XinLanDiary-Part1.ogg
Normal file
BIN
game/audio/XinLanDiary-Part1.ogg
Normal file
Binary file not shown.
BIN
game/audio/XinLanDiary-Part2.ogg
Normal file
BIN
game/audio/XinLanDiary-Part2.ogg
Normal file
Binary file not shown.
Binary file not shown.
@@ -27,7 +27,7 @@ define gui.show_name = True
|
||||
|
||||
## 游戏版本号。
|
||||
|
||||
define config.version = "dev0.0.6"
|
||||
define config.version = "dev0.0.8"
|
||||
|
||||
|
||||
## 放置在游戏内“关于”屏幕上的文本。将文本放在三个引号之间,并在段落之间留出空
|
||||
@@ -39,7 +39,8 @@ define gui.about = _p("""
|
||||
\n 角色设计:xwhy
|
||||
\n 程序:FL
|
||||
\n 图像:FL
|
||||
\n 感谢以下人员对项目做出的贡献:yh, wjj等。
|
||||
\n 音乐:FL
|
||||
\n 感谢以下人员对项目做出的贡献:yh, Zeptyer等。
|
||||
""")
|
||||
|
||||
|
||||
@@ -69,7 +70,7 @@ define config.has_voice = False
|
||||
## 将以下语句取消注释就可以设置标题界面播放的背景音乐文件。此文件将在整个游戏中
|
||||
## 持续播放,直至音乐停止或其他文件开始播放。
|
||||
|
||||
# define config.main_menu_music = "main-menu-theme.ogg"
|
||||
define config.main_menu_music = "audio/MainMenu.ogg"
|
||||
|
||||
|
||||
## 转场 ##########################################################################
|
||||
|
||||
255
game/screens.rpy
255
game/screens.rpy
@@ -136,6 +136,149 @@ screen say(who, what):
|
||||
init python:
|
||||
config.character_id_prefixes.append('namebox')
|
||||
|
||||
## 齿轮图标 Displayable 类
|
||||
import math
|
||||
import pygame
|
||||
|
||||
class GearDisplayable(renpy.Displayable):
|
||||
"""
|
||||
创建一个现代简洁风格的齿轮图标 Displayable
|
||||
|
||||
参数:
|
||||
- size: 图标大小(像素)
|
||||
- color: 齿轮颜色(十六进制)
|
||||
- alpha: 透明度 (0.0-1.0)
|
||||
"""
|
||||
def __init__(self, size=48, color="#FFFFFF", alpha=0.85):
|
||||
super(GearDisplayable, self).__init__()
|
||||
self.size = size
|
||||
self.color = color
|
||||
self.alpha = alpha
|
||||
|
||||
def render(self, width, height, st, at):
|
||||
# 创建渲染对象
|
||||
render = renpy.Render(self.size, self.size)
|
||||
|
||||
# 创建surface
|
||||
surface = pygame.Surface((self.size, self.size), pygame.SRCALPHA)
|
||||
|
||||
# 解析颜色
|
||||
color_rgb = tuple(int(self.color.lstrip('#')[i:i+2], 16) for i in (0, 2, 4))
|
||||
color_with_alpha = color_rgb + (int(self.alpha * 255),)
|
||||
|
||||
center = self.size // 2
|
||||
outer_radius = self.size // 2 - 4 # 外圈半径
|
||||
inner_radius = int(outer_radius * 0.4) # 内圆半径
|
||||
tooth_height = int(outer_radius * 0.25) # 齿高
|
||||
num_teeth = 8 # 齿数
|
||||
|
||||
# 绘制齿轮路径点
|
||||
points = []
|
||||
for i in range(num_teeth * 2):
|
||||
angle = (i * 360 / (num_teeth * 2)) * math.pi / 180
|
||||
|
||||
if i % 2 == 0: # 齿尖
|
||||
radius = outer_radius
|
||||
else: # 齿根
|
||||
radius = outer_radius - tooth_height
|
||||
|
||||
x = center + int(radius * math.cos(angle))
|
||||
y = center + int(radius * math.sin(angle))
|
||||
points.append((x, y))
|
||||
|
||||
# 绘制齿轮外圈
|
||||
pygame.draw.polygon(surface, color_with_alpha, points, 0)
|
||||
|
||||
# 绘制内圆(镂空效果)
|
||||
pygame.draw.circle(surface, (0, 0, 0, 0), (center, center), inner_radius)
|
||||
|
||||
# 绘制中心圆(增强设计感)
|
||||
center_circle_radius = int(inner_radius * 0.5)
|
||||
pygame.draw.circle(surface, color_with_alpha, (center, center), center_circle_radius, 0)
|
||||
|
||||
# 将surface绘制到render
|
||||
render.blit(surface, (0, 0))
|
||||
|
||||
return render
|
||||
|
||||
def create_settings_gear_hover(size=96):
|
||||
"""创建hover状态的齿轮(更亮)"""
|
||||
return GearDisplayable(size=size, color="#FFFFFF", alpha=1.0)
|
||||
|
||||
def create_settings_gear_idle(size=96):
|
||||
"""创建idle状态的齿轮"""
|
||||
return GearDisplayable(size=size, color="#FFFFFF", alpha=0.9)
|
||||
|
||||
## 圆形画廊/日期图标 Displayable 类
|
||||
class PageDisplayable(renpy.Displayable):
|
||||
"""圆形画廊图标:白圆 + 深色纸张 + 白色线条"""
|
||||
def __init__(self, size=48, alpha=0.85):
|
||||
super(PageDisplayable, self).__init__()
|
||||
self.size = size
|
||||
self.alpha = alpha
|
||||
|
||||
def render(self, width, height, st, at):
|
||||
size = self.size
|
||||
a = int(self.alpha * 255)
|
||||
surface = pygame.Surface((size, size), pygame.SRCALPHA)
|
||||
center = size // 2
|
||||
radius = size // 2 - 4
|
||||
|
||||
# 白色圆形背景
|
||||
pygame.draw.circle(surface, (255, 255, 255, a), (center, center), radius)
|
||||
|
||||
# 深色纸张(圆角矩形,手动实现以兼容 renpy.pygame)
|
||||
pw = int(radius * 0.78)
|
||||
ph = int(radius * 1.05)
|
||||
px = center - pw // 2
|
||||
py = center - ph // 2
|
||||
paper_color = (32, 42, 68, min(a + 30, 255))
|
||||
cr = 4 # 圆角半径
|
||||
pygame.draw.rect(surface, paper_color, (px + cr, py, pw - 2 * cr, ph))
|
||||
pygame.draw.rect(surface, paper_color, (px, py + cr, pw, ph - 2 * cr))
|
||||
pygame.draw.circle(surface, paper_color, (px + cr, py + cr), cr)
|
||||
pygame.draw.circle(surface, paper_color, (px + pw - cr, py + cr), cr)
|
||||
pygame.draw.circle(surface, paper_color, (px + cr, py + ph - cr), cr)
|
||||
pygame.draw.circle(surface, paper_color, (px + pw - cr, py + ph - cr), cr)
|
||||
|
||||
# 三条白色横线
|
||||
lc = (210, 225, 245, int(self.alpha * 210))
|
||||
lx0 = px + int(pw * 0.16)
|
||||
lx1 = px + int(pw * 0.84)
|
||||
for i in range(3):
|
||||
ly = py + int(ph * 0.28) + i * int(ph * 0.22)
|
||||
pygame.draw.line(surface, lc, (lx0, ly), (lx1, ly), max(2, size // 48))
|
||||
|
||||
render = renpy.Render(size, size)
|
||||
render.blit(surface, (0, 0))
|
||||
return render
|
||||
|
||||
def visit(self):
|
||||
return []
|
||||
|
||||
def create_gallery_page_idle(size=96):
|
||||
return PageDisplayable(size=size, alpha=0.85)
|
||||
|
||||
def create_gallery_page_hover(size=96):
|
||||
return PageDisplayable(size=size, alpha=1.0)
|
||||
|
||||
## 游戏内日期字符串函数
|
||||
import datetime as _dt
|
||||
|
||||
def get_game_date_str():
|
||||
"""根据 game_day 和 game_period 返回完整游戏内日期字符串"""
|
||||
base = _dt.date(store.game_start_year, store.game_start_month, store.game_start_day)
|
||||
current = base + _dt.timedelta(days=store.game_day - 1)
|
||||
period_map = {
|
||||
"morning": "上午",
|
||||
"afternoon": "下午",
|
||||
"after_school": "放学后",
|
||||
"evening": "傍晚",
|
||||
"night": "深夜",
|
||||
}
|
||||
period_text = period_map.get(store.game_period, "")
|
||||
return "{}年{}月{}日 {}".format(current.year, current.month, current.day, period_text)
|
||||
|
||||
style window is default
|
||||
style say_label is default
|
||||
style say_dialogue is default
|
||||
@@ -295,6 +438,118 @@ style quick_button_text:
|
||||
properties gui.text_properties("quick_button")
|
||||
|
||||
|
||||
################################################################################
|
||||
## HUD Overlay - 游戏内浮动图标
|
||||
################################################################################
|
||||
|
||||
## 该屏幕在游戏进行时显示在左上角,提供快速访问菜单的图标按钮
|
||||
screen hud_overlay():
|
||||
|
||||
## 确保在所有UI之上
|
||||
zorder 101
|
||||
|
||||
## 只在游戏进行时显示,不在主菜单显示
|
||||
if not main_menu and not renpy.context()._menu:
|
||||
|
||||
## 桌面版 - 左上角齿轮图标
|
||||
if renpy.variant("pc") or renpy.variant("web"):
|
||||
vbox:
|
||||
xpos 40
|
||||
ypos 40
|
||||
|
||||
imagebutton:
|
||||
idle create_settings_gear_idle(96)
|
||||
hover create_settings_gear_hover(96)
|
||||
action ShowMenu()
|
||||
tooltip "游戏菜单"
|
||||
|
||||
## 右上角画廊/日期图标(1920 - 96 - 40 = 1784)
|
||||
vbox:
|
||||
xpos 1784
|
||||
ypos 40
|
||||
|
||||
imagebutton:
|
||||
idle create_gallery_page_idle(96)
|
||||
hover create_gallery_page_hover(96)
|
||||
action ToggleScreen("gallery_panel")
|
||||
tooltip "画廊 / 日期"
|
||||
|
||||
## 移动端 - 稍大的图标,更易点击
|
||||
elif renpy.variant("touch") or renpy.variant("small"):
|
||||
vbox:
|
||||
xpos 30
|
||||
ypos 30
|
||||
|
||||
imagebutton:
|
||||
idle create_settings_gear_idle(112)
|
||||
hover create_settings_gear_hover(112)
|
||||
action ShowMenu()
|
||||
## 移动端增大点击区域
|
||||
xysize (120, 120)
|
||||
|
||||
## 移动端右上角画廊/日期图标
|
||||
vbox:
|
||||
xpos 1730
|
||||
ypos 30
|
||||
|
||||
imagebutton:
|
||||
idle create_gallery_page_idle(112)
|
||||
hover create_gallery_page_hover(112)
|
||||
action ToggleScreen("gallery_panel")
|
||||
xysize (120, 120)
|
||||
|
||||
|
||||
## 注册HUD overlay为持久显示的屏幕
|
||||
init python:
|
||||
config.overlay_screens.append("hud_overlay")
|
||||
|
||||
|
||||
################################################################################
|
||||
## 画廊/日期面板
|
||||
################################################################################
|
||||
|
||||
screen gallery_panel():
|
||||
zorder 150
|
||||
modal True
|
||||
|
||||
## 全屏半透明背景,点击关闭
|
||||
button:
|
||||
xfill True
|
||||
yfill True
|
||||
background "#00000077"
|
||||
action Hide("gallery_panel")
|
||||
|
||||
## 主面板(80% 屏幕:1536×864)
|
||||
frame:
|
||||
xalign 0.5
|
||||
yalign 0.5
|
||||
xysize (1536, 864)
|
||||
background "#0d0f1eee"
|
||||
padding (30, 20, 30, 20)
|
||||
|
||||
## 右上角:日期 + 关闭按钮
|
||||
hbox:
|
||||
xalign 1.0
|
||||
yalign 0.0
|
||||
spacing 24
|
||||
|
||||
text get_game_date_str():
|
||||
color "#a8c8f0"
|
||||
size 32
|
||||
yalign 0.5
|
||||
font "fonts/AlibabaPuHuiTi-3-55-Regular.ttf"
|
||||
|
||||
textbutton "×":
|
||||
action Hide("gallery_panel")
|
||||
text_size 36
|
||||
text_color "#a8c8f0"
|
||||
text_hover_color "#ffffff"
|
||||
yalign 0.5
|
||||
|
||||
## ESC 键关闭
|
||||
key "game_menu" action Hide("gallery_panel")
|
||||
|
||||
|
||||
################################################################################
|
||||
## 标题和游戏菜单屏幕
|
||||
################################################################################
|
||||
|
||||
@@ -72,6 +72,15 @@ default lzx_stats = {
|
||||
"infoOpenness": 0, # 信息开放度
|
||||
}
|
||||
|
||||
# ====== 时间系统变量 ======
|
||||
default game_day = 1 # 游戏内日期(第几天)
|
||||
default game_period = "morning"
|
||||
# 可选值:morning / afternoon / after_school / evening / night
|
||||
|
||||
default game_start_year = 2029
|
||||
default game_start_month = 9
|
||||
default game_start_day = 3 # Day 1 = 2029年9月3日(开学周一)
|
||||
|
||||
|
||||
# ====== 可选:总字典管理(便于批量操作) ======
|
||||
'''
|
||||
@@ -113,10 +122,14 @@ transform zoom_to_upper_right:
|
||||
# 快速放大并向左下偏移(画面看起来往右上移动)
|
||||
ease 0.3 zoom 1.7 xalign 0.6 yalign 0.2
|
||||
|
||||
#label before_main_menu:
|
||||
# $ renpy.music.play("andio/MainMenu.ogg", loop=True, fadein=2.0)
|
||||
|
||||
|
||||
# 游戏在此开始。
|
||||
|
||||
label start:
|
||||
# stop music fadeout 1.0
|
||||
jump Chapter1_Scene1
|
||||
# 此处为游戏结尾。
|
||||
|
||||
|
||||
Binary file not shown.
@@ -1,7 +1,9 @@
|
||||
{
|
||||
"build_update": false,
|
||||
"packages": [
|
||||
"mac"
|
||||
"mac",
|
||||
"linux",
|
||||
"win"
|
||||
],
|
||||
"add_from": true,
|
||||
"force_recompile": true,
|
||||
|
||||
BIN
web-presplash.png
Normal file
BIN
web-presplash.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 261 KiB |
Reference in New Issue
Block a user