如何在 QML 中创建随机数量的元素

如何在 QML 中创建随机数量的元素

我正在尝试使用 QML 为 Ubuntu Touch 制作一个类似于游戏的应用程序雪崩,并且不确定如何插入不同数量的下落方块。所有方块都是相同的图片,但大小和 ID 不同。当方块离开屏幕时,它们也会被删除(因此当它们不再需要时,它们不会占用更多 RAM 来存储它们的大小、ID 等)。以下是我想要使用的方块的模板:

Image {
    id: block0 //The first block will be 0, the second 1, the third 2, and so on
    source: "block.png"
    height: units.gu(Math.floor(Math.random) * 5 + 1)
    width: height
    x: units.gu(Math.floor(Math.random() * (75 - width)))
}

那么,我怎样才能在玩游戏时将此代码片段写入 QML 文件并从中删除?我想使用 JavaScript 来执行此操作,这样可以更轻松地创建 ID 并将其存储在数组中,以便轻松访问信息。如果这很难理解,我很抱歉,感谢您的帮助!

答案1

您可以从代码中动态创建元素。看看这个:

http://qt-project.org/wiki/QML-Dynamic-Objects

答案2

我在我的一个游戏中做过类似的事情。简化的代码在以下帖子中解释

http://kunalmaemo.blogspot.com/2011/04/creating-qml-element-dynamically-on.html

相关内容