代码之家  ›  专栏  ›  技术社区  ›  LiamB

简单的游戏转换到Silverlight,渲染什么?

  •  2
  • LiamB  · 技术社区  · 14 年前

    我有一个小游戏(用C#编写)随着时间的推移(从vb6/bitblt开始),我想把它转换成Silverlight,基本上是为了给我一个很好的有趣的项目来学习这个平台。

    我的问题很简单,(游戏是一个基于平铺的游戏)我需要渲染一些东西。这是如何在Silverlight中执行的,根据目前的情况,我有许多雪碧和瓷砖床单,我们将每个瓷砖贴到表面(Picturebox)

    silverlight中的概念是否相同,是否需要使用Picturebox作为表面?渲染功能是什么?外部Libs?我看到了writeablebmp函数,有人能告诉我正确的方向吗?

    谢谢你的回复,关于游戏的更多信息。

    它是一个单人的,基于平铺的RPG。我需要渲染平铺,然后将字符和对象渲染到平铺(或多个平铺)上,考虑到这一点,什么是实现此目的的最佳方法?表现是关键,每个人都讨厌忽闪忽闪、紧张不安的游戏。

    话虽如此,是否有人知道有任何样本可以模拟我们所说的?

    2 回复  |  直到 14 年前
        1
  •  2
  •   Rune Grimstad    14 年前

    你应该使用 WriteableBitmap . 它是专为这种情况而设计的。

    关于如何使用它的例子,你可以看看我简单的基于精灵的游戏库, SilverTile . Is使用WriteableBitmap作为其渲染表面,并且执行得相当好。

    WriteableBitmapExtensions 项目。它为您提供了扩展方法,简化了对WriteableBitmap的操作。

    编辑:哦,这提醒我需要更新Codeplex上的代码。如果您需要更新版本的代码和一些示例,请与我联系。

        2
  •  2
  •   Judah Gabriel Himango    14 年前

    如果你需要控制屏幕上的每个像素,你可以 . 您将创建一个包含一行和一个单元格的网格,向该单元格添加一个图像元素,并将Image.Source设置为可写的位图。

    如果不需要控制每个像素,但需要使用绝对坐标定位对象(图像、文本等),请使用 帆布 .

    如果不需要对绝对坐标进行控制,只希望用户界面将平铺按行和列进行布局,请使用 统一管理 ,每个单元格中都有一个平铺。

    在旧世界,要绘制东西,你需要重写一些绘制方法,然后调用一个API在X,Y绘制它。

    相比之下,在新世界中,您声明性地说,“使用此容器显示此数据”。不同的模式,不同的思维方式。


    好的,在看到你的更新后,我建议你使用Canvas。可以使用{X,Y}坐标在画布中定位任何内容。我认为这将很好地工作为一个基于瓷砖的二维游戏。例如,搜索Silverlight平铺游戏, Silverlight Tile Engine

    推荐文章