问题描述
我正在阅读 Flame 游戏引擎中的示例游戏代码。
代码:
MyGame() {
add(Square()
..x = 100
..y = 100);
}
这是存储库中的代码(第 59-63 行):https://github.com/flame-engine/flame/blob/master/example/lib/main.dart
我之前见过这个符号,但我一直不明白 (..x
和 ..y
) 是什么意思。
..
在这里代表什么?
解决方法
这在 Dart 中被称为级联操作符(它实际上不是一个操作符,只是 Dart 语法糖的一部分),而不是像 .
那样只是设置值,它还返回您正在工作的对象
因此,由于这里的 add
想要一个 Component
,因此首先创建 Square
(它是一个组件),然后将 x 设置为 100 并返回相同的正方形,然后设置 y到 100 并再次返回相同的正方形,然后将其发送到 add
。
https://dart.dev/guides/language/language-tour#cascade-notation-