Skip to content

有了骨架代码后,本步骤将查看游戏的第一个元素,即记忆卡片。它是构成视觉构建块的元素,由底层填充的矩形背景和图标图像组成。后续步骤将添加一个充当帘幕的覆盖矩形。

你将背景矩形声明为 64 个逻辑像素宽和高,并填充为舒缓的蓝色调。

Slint 中的长度具有单位,这里使用 px 后缀。 这使得代码更易于阅读,并且编译器能够检测到你意外混合了具有不同单位的值。

将以下代码复制到 ui/app-window.slint 文件中,替换当前内容:

slint
component MemoryTile inherits Rectangle {    width: 64px;    height: 64px;    background: #3960D5;
    Image {        source: @image-url("icons/bus.png");        width: parent.width;        height: parent.height;    }}
export component MainWindow inherits Window {    MemoryTile {}}

这会导出 MainWindow 组件,以便稍后游戏逻辑代码可以访问它。

在 Rectangle 内部放置一个使用 @image-url() 宏加载图标的 Image 元素。该路径相对于 ui/app-window.slint 的位置。

你需要先安装此图标以及稍后使用的其它图标。你可以将预先准备好的 Zip 归档 下载到 ui 文件夹。

如果你使用的是 Linux 或 macOS,请使用以下命令下载并解压:

如果你使用的是 Windows,请使用以下命令:

PowerShell

cd uipowershell curl -Uri https://slint.dev/blog/memory-game-tutorial/icons.zip -Outfile icons.zippowershell Expand-Archive -Path icons.zip -DestinationPath .cd ..

powershell

这将解压出一个包含多个图标的 icons 目录。

Terminal

bash
cd uicurl -O https://slint.dev/blog/memory-game-tutorial/icons.zipunzip icons.zipcd ..

这将解压出一个包含多个图标的 icons 目录。

Bash

bash
cd uicurl -O https://slint.dev/blog/memory-game-tutorial/icons.zipunzip icons.zipcd ..

这将解压出一个包含多个图标的 icons 目录。

使用 cmake --build build 编译程序并使用 ./build/my_application 运行,会打开一个窗口,在蓝色背景上显示一个公共汽车图标。

使用 npm start 运行程序,会打开一个窗口,在蓝色背景上显示一个公共汽车图标。

使用 cargo run 运行程序,会打开一个窗口,在蓝色背景上显示一个公共汽车图标。

使用 uv run main.py 运行程序,会打开一个窗口,在蓝色背景上显示一个公共汽车图标。

Screenshot of the first tile

基于 MIT 协议发布