简介
你是否对shinyapps.io的消息 "与服务器断开连接 "感到厌烦或恼火?这个消息的出现是因为应用程序长时间不活动(空闲状态),或者一些编程错误,可能导致R会话关闭。如果你的应用程序是在生产中,你也可能从你的客户那里得到升级或臭味。在那个时候,通过一些创造性的方法来改善用户体验是很重要的。如果你幸运的话,你可能会得到赞赏而不是升级:-)
你可以通过在应用程序关闭时在屏幕上显示游戏来使错误信息更加有趣(corona游戏怎么样?)这也适用于你的本地机器或shiny服务器(不仅仅是shinyapps.io)。请看 演示应用程序托管在shinyapps.io上的
你可以查看名为 shinyGames的软件包,它向你展示了如何在你的shiny应用中添加和播放游戏。
展示游戏的步骤
按照下面的步骤,如何在shiny中实现它。
步骤1
复制以下程序,并将其粘贴在R编辑器中,并保存为app.R
library(shiny)
# Define UI ----
ui <- fluidPage(
tags$head(tags$style("#shiny-disconnected-overlay {display: none !important}
#ss-overlay {display: none !important}
#ss-connect-dialog {display: none !important}")),
tags$script("
$(function() {$(document).on('shiny:disconnected shiny:error', function(event) {
$('.container-fluid').load('./game2.html');
}) });
"),
actionButton("disconnect", "Disconnect the app")
)
server <- function(input, output, session) {
observeEvent(input$disconnect, {
session$close()
})
}
shinyApp(ui, server)
第2步
从这里下载辅助文件,并在存放app.R
文件的同一位置创建www
文件夹。保持下面的文件夹结构。
├── app.R
└── www
└── 100-error-offline.png
└── 100-offline-sprite.png
└── 200-error-offline.png
└── 200-offline-sprite.png
└── game2.html
一旦你完成了以上两步,只需运行app.R
。在应用程序屏幕上,点击Disconnect the app
按钮即可看到游戏。
如何进行游戏
按 "空格 "开始游戏,跳过你的电晕图标。使用向下的箭头(↓)来躲避。