2013-08-18 94 views
0

我在HTML主体中使用全局变量在<script>标记中编写画布脚本。它包括游戏代码。现在我想添加一些重启选项(例如,当玩家死亡时,重新启动游戏)。我怎样才能重新加载所有的东西/主要脚本?我试图从HTML中删除<canvas>标记并再次添加它,但游戏动画(之后)停止并显示第一个关键帧(游戏重新启动后可见)是以前游戏中的最后一个。 目前唯一的方法是location.reload(),但这是一个非常糟糕的解决方案。JavaScript重新启动画布脚本

所以问题是 - 有什么办法可以重新启动整个脚本?我想让它像页面重新加载(默认情况下)一样工作。我只能使用纯JavaScript。

谢谢你的帮助。

+0

如果您依赖全局变量,则添加一个'startGame()'函数,将所有这些全局变量设置回其默认值/起始值。然后,当页面首次加载(设置第一个游戏)和游戏结束(设置后续游戏)时,您都会调用'startGame()'。 – nnnnnn

回答

1

尝试在互相呼叫的功能中制作游戏的不同方面。你可以有例如一个init()函数,你可以调用$document.ready()(从here导入jquery库)。当玩家死亡时,用context.clearRect (x , y , w , h);清除画布并再次调用init()。