大约一年前,我在Silverlight中创建了一个纸牌游戏,以便对silverlight有所了解。
我现在想做一个游戏的HTML5版本,努力学习更多关于这方面的知识。
我正在考虑利用Knockout.js和WebSockets以及canvas元素之类的东西。
现在我困惑的是如何在屏幕上布置卡片。
使用Silverlight,我可以创建一个“手”控件,它由两个子控件组成--玩家手中的牌和桌上的牌。它们又是由卡片控件组成的。
现在我不相信javascript中有关于用户控件的概念。因此,我可能以完全错误的方式思考这个问题。
所以我的问题是--我怎样才能把一些牌放在桌上,也许能为每个玩家重用一些东西呢?
我有一个名为game的客户端JSON对象,它包含一个玩家数组。每个玩家都有一张牌,由一系列手牌和桌上牌组成。理想情况下,我希望使用Knockout.js将这些绑定到某个东西上--但我不知道我可以绑定到什么。
我会简单地在画布上定位(卡片的)图像吗?有没有一种方法可以制作一种手对象,每个玩家都可以拥有,而我可以绑定到它上?
有什么建议吗?或者你在其他地方见过的示例代码?
发布于 2011-08-29 22:25:20
画布中没有像XAML或DOM这样的视图构造。使用canvas,您可以使用真正的基本功能来绘制线条、填充、图像等。您将需要一个画布库来查找或更有可能构建您提到的控件类型。有关可能的canvas库候选,请参阅Processing.js。
发布于 2011-08-29 22:24:02
而不是使用单一的画布来渲染游戏,我可能会使用每个卡片的画布,然后使用CSS对它们进行布局。
如果你决定选择这条路线,你将需要弄清楚如何排序选择,可能的拖拽等。这应该比在单一画布上做所有这些容易,因为在这种情况下,你可以依靠普通的JS和CSS。
如果你能提供一些可视化的模型,我可能会给你一些更具体的提示。
https://stackoverflow.com/questions/7231319
复制相似问题