【发布时间】:2022-07-27 22:37:57
【问题描述】:
此问题的代码已更改和减少!
我有一个名为“游戏”的类,我想在组合骰子值中显示。并且我想在每次新回合开始和回合结束时使用新值更新可组合。
class Game (val board: Board, var player1: Player, var player2: Player) {
var dices = Dices()
}
class Dices (var first: Int = 0, var second: Int = 0) {
fun rollDices() {
first = rollDice() //Returns a value between 1 and 6
second = rollDice()
}
fun resetDices() {
first = 0
second = 0
}
fun areEqual() = first == second
}
我有一个可组合函数“gameView”,它调用“diceView”,这是一个可组合函数,它制作 2 个盒子并将骰子值放在它们上面。 因为“骰子”是一个对象,它没有获得新的引用,它也不会自我更新,我也不能更改值,因为它在函数内部。
@Composable
fun gameView(game: Game) {
paintBoard(game.board)
val dices by remember {mutableStateOf(game.dices)}
diceView(dices = dices, onClick = { game.newTurn()})
}
关于如何解决这个问题的任何想法?
【问题讨论】:
标签: kotlin view android-jetpack-compose