4

大约一年前,我在 Silverlight 中创建了一个纸牌游戏,以便了解一点关于 Silverlight 的知识。

我现在想制作一个 HTML5 版本的游戏,以便更多地了解这一点。

我想我想利用像 Knockout.js 和 WebSockets 和canvas元素这样的东西。

现在我很困惑的是如何在屏幕上布置卡片。

使用 Silverlight,我能够制作一个“手”控件,它由两个子控件组成——玩家手中的牌和桌上的牌。它们又由卡片控件组成。

现在我不相信 javascript 中的用户控件有这个概念。所以我可能以完全错误的方式思考这个问题。

所以我的问题是——我怎样才能在桌子上布置一些牌,并为每个玩家重复使用一些东西?

我有一个名为 game 的客户端 JSON 对象,其中包含一组玩家。每个玩家都有一手牌,由一系列手牌和桌上牌组成。理想情况下,我想使用 Knockout.js 将这些绑定到某些东西上——但我不知道我可以绑定到什么。

我会简单地将图像(卡片)放在画布上吗?有没有办法制作每个玩家都可以拥有并且我可以绑定的某种手对象?

有什么建议吗?或者您在其他地方看到的示例代码?

4

2 回答 2

2

而不是使用单个画布来渲染游戏,我可能会为每张卡片使用一个画布,然后使用 CSS 对其进行布局。

如果你决定选择这条路线,你需要弄清楚如何整理选择,可能的拖动等。与在单个画布上完成所有这些相比,这应该很容易,尽管在这种情况下你可以依赖 vanilla JS 和 CSS .

如果你能提供某种视觉模型,我可能会给你一些更具体的指示。

于 2011-08-29T14:24:02.050 回答
0

画布中没有诸如 XAML 或 DOM 之类的视图构造。使用画布,您实际上是在绘制具有真正基本功能的线条、填充、图像等。您将需要一个画布库来查找或更可能构建您提到的控件类型。有关可能的画布库候选者,请参阅Processing.js 。

于 2011-08-29T14:25:20.367 回答