快速开始
安装与运行示例
在仓库根目录执行:
powershell
go test ./...
go run ./example示例入口在 example/main.go,展示了背景、立绘、输入名字、气泡台词、拖放、成就、分支、启动页和画廊配置。
最小游戏
go
package main
import (
"log"
"github.com/WindyPear-Team/galgo"
"github.com/WindyPear-Team/galgo/style"
)
func main() {
engine, err := galgo.NewEngine(galgo.Config{
ScreenWidth: 1280,
ScreenHeight: 720,
Title: "My Galgo Game",
FontSize: 18,
TypewriterSpeed: 2,
SaveDir: "./saves",
Style: style.DefaultUIStyle(),
}, nil)
if err != nil {
log.Fatal(err)
}
script := galgo.NewScript()
script.AddNode("start", []galgo.Step{
galgo.Bg("room", "assets/bg_room.png"),
galgo.Sprite("heroine", "heroine_smile", "assets/heroine.png", galgo.PosCenter),
galgo.Text("heroine", "你好,欢迎来到 Galgo。"),
})
if err := engine.Run(script, "start"); err != nil {
log.Fatal(err)
}
}核心对象
galgo.Engine 是运行时主体,内部管理:
ResourceManager:图片、音频、字体和 DLC 资源根。AudioManager:BGM、SE、Voice。ScriptPlayer:节点和 Step 执行。SaveSystem:存档读写。Preferences:玩家偏好。Cursor:鼠标样式。Steam:可选 Steamworks 管理器。
galgo.Config 是初始化入口,常用字段包括窗口尺寸、标题、字体、存档目录、UI 样式、翻译器、画廊、成就、启动页、光标、Steam 和存档配置。
资源路径
默认会先尝试从传入的 embed.FS 打开资源,再尝试本地文件路径,最后尝试 DLC 或其他外部资源根。
go
//go:embed assets/*
var assets embed.FS
engine, err := galgo.NewEngine(config, &assets)不使用 embed.FS 时传 nil,资源会从工作目录读取。