Я делаю очень простую игру в Shiny. По сути, каждый игрок играет в своем собственном сеансе, но у него есть одна глобальная переменная для отслеживания результатов каждого игрока.
Я думаю, что мне удается, чтобы сеансы обновляли глобальную переменную «показателей», но по какой-то (вероятно, глупой) причине я не могу заставить глобальную переменную действовать как реактивное значение (то есть автоматически вызывая updateActionButton). Минимальный код ниже:
рабочий пример:
score <- c(100)
ui <- fluidPage(
titlePanel("Hello Shiny!"),
mainPanel(
actionButton("increase_score", label = " increase score player 1 "),
verbatimTextOutput("show_score_p1")
)
)
# Server logic
server <- function(input, output){
observeEvent(input$increase_score,{
score[1] <- score[1]+10
})
output$show_score_p1 <- renderText({paste(score[1])})
}
shinyApp(ui,server)
Я попробовал несколько методов, чтобы попытаться сделать мою глобальную «оценку» реактивной, то есть makeReactiveBinding (оценка), но безрезультатно. Есть идеи? Определенно кажется, что я упускаю что-то супер-очевидное