我大约一年前在silverlight中创建了一个纸牌游戏,以便了解一下Silverlight。
我现在想要制作一个HTML5版本的游戏,以便更多地了解它。
我想我想利用Knockout.js和WebSockets以及canvas
元素之类的东西。
现在我很困惑的是如何在屏幕上布置卡片。
使用Silverlight,我能够制作一个“手动”控制,它由两个子控制组成 - 玩家手中的牌和他们桌上的牌。而他们又由卡片控件组成。
现在我不相信javascript中的用户控件有这个概念。所以我可能完全以错误的方式思考这个问题。
所以我的问题是 - 我怎么能在桌子上摆放一些卡片,也许会为每个玩家重复使用某些牌?
我有一个名为game的客户端JSON对象,其中包含一系列玩家。每个玩家都有一只手,由一系列手中的牌和桌上牌组成。理想情况下,我想将这些绑定到使用Knockout.js的东西 - 但我不知道我能绑定到什么。
我会简单地将图片(卡片)放在画布上吗?有没有办法制作某种Hand对象,每个玩家可以拥有并且我可以绑定?
有什么建议吗?或者你在其他地方见过的示例代码?
答案 0 :(得分:2)
不是使用单个画布渲染游戏,我可能会使用每张卡片的画布,然后使用CSS进行布局。
如果您决定选择此路线,您需要弄清楚如何整理选择,可能的拖动等。与在单个画布上完成所有操作相比,这应该很容易,因为在这种情况下您可以依赖香草JS和CSS。
如果你能提供某种视觉模型,我可以给你一些更具体的指示。
答案 1 :(得分:0)
画布中没有XAML或DOM等视图构造。使用画布,您可以使用真正基本的功能绘制线条,填充,图像等。您将需要一个画布库来查找或更可能构建您提到的控件类型。有关可能的画布库候选项,请参阅Processing.js。