这个项目展示了如何用Julia编写一个点击类的游戏,GUI是由Gtk4.jl创建的,可执行文件是用PackageCompiler.jl打包的。
Gtk4.jl可以做到一些简单的GUI布局,例如创建信息栏和选项卡。
win = GtkWindow("秋名山豆腐店v1.1", 600, 440)
win[] = paned = GtkPaned(:v)
paned.position = 70
statsBox = GtkBox(:v) # GtkBox()是一维布局,GtkGrid()是二维布局
statsBox.valign = Gtk4.Align(3) # 1-靠左 2-靠右 3-居中
statsBox.vexpand = true
paned[1] = statsBox # 上方统计信息栏
paned[2] = notebook = GtkNotebook() # 下方选项卡
中间省略,可以查看源码,最后是计数器,每隔一段时间刷新一下豆腐数:
# 更新计数器的函数,每秒增加drate的值
function update_counter()
counter += 0.1 * car_rate
Gtk4.markup(toulable, "<span font='14'>" * string(round(Int64, counter), " 块豆腐") * "</span>")
update_button_states() # 刷新按钮激活状态
return true # 返回 true 以保持循环
end
g_timeout_add(update_counter, 100) # 每0.1秒更新一次计数器
文件目录看起来像这样:
Toufu
├─ Manifest.toml
├─ precompile_app.jl
├─ Project.toml
└─ src
└─ Toufu.jl
在precompile_app.jl中写入
using Toufu
Toufu.julia_main()
最后用PackageCompiler.jl打包
using PackageCompiler
create_app("Toufu", "ToufuCompiled", force=true)
这样就完成了一个桌面应用程序的创建。学会之后就可以自己做游戏了。
源码:Toufu-game