我的目标是更好地了解C#的特征,并变得更加自在地创建简单的应用程序。我对Flash(ActionScript 3)非常有能力,并找到了我写的一款旧的TIC-TAC-TOE游戏。我开始想知道将此代码移植到C#应用程序中。我不知道C#,我想知道迁移会多么困难。

一方面,基础游戏逻辑在句法上是相似的,因此很容易移植。

但是,就图形而言,我什至不知道从哪里开始。到目前为止,我只接触了C#中的Windows表单和控制台应用程序。

我想知道这些Flash概念在C#中是否具有相似的类似物,或者这些过程和语法是否完全不同:

  • 将图形元素放在舞台上
  • 从开始/结束坐标渲染线
  • 电影剪辑上的活动听众
  • 将图像在图形元素内交换(或者在我的flash版本中,在电影剪辑中)
有帮助吗?

解决方案

您可能需要尝试使用Silverlight开发小游戏。使用C#和XAML编码的Silverlight应用程序与Flash应用程序的形式非常相似,您应该找到所需的一切毫无麻烦。

因此,我建议您下载Silverlight SDK(免费)并尝试一下。

其他提示

首先,Flash是wpf(足够接近),因为ActionScript是到C#。

WPF/Silverlight型号与FLEX更相似,比Flash。所有内容都添加到UI树中作为对象,甚至线条。

同样,将事件处理程序添加到控件中(例如单击按钮)可以在“背后的代码”(持有视图的代码)中完成,但建议是使用MVVM模式。如果您是分离问题和单位测试的概念的新手,请随时从简单的“代码”方法开始。

尽管WPF和Silverlight非常相似,但我建议您从Silverlight开始,因为SDK和可用样品更丰富。稍后,您可以轻松地转到WPF(尽管将应用程序从Silverlight到WPF并非自动移植)。

正如您提到的,交换图像将通过Silverlight中的“视觉状态”完成(或可能更改图像参考,这更“ hacky”)。

看看以下链接以开始:

如果您专门打算做游戏之类的游戏,则可能希望研究免费的XNA框架。但是,由于Flash为您提供了更多的“设置”事物并修改它们的能力,因此会有差异。

  • 将图形元素放在舞台上

    如果您走XNA路线,您将使用SpriteBatch绘制Sprites,您告诉他们在哪里以及如何绘制,这就是他们将要去的地方

  • 从开始/结束坐标渲染线

    在Windows表单中,您可以通过简单的系统进行此操作。但是,如果您想在XNA中进行此操作,则必须制作1像素正方形并将其拉伸/旋转到您想要的内容,或者使用3D Primitives(虽然这会将您限制在1像素线上)

  • 电影剪辑上的活动听众

    研究代表,但据我所知,电影剪辑的确没有等同于

  • 将图像在图形元素内交换(或者在我的flash版本中,在电影剪辑中)

    这很简单,具体取决于您的意思。如果您愿意,例如,为精灵制作动画。您可以通过移动源矩形或更改SpriteSheet的纹理来做到这一点。如果您是说整个屏幕,那么这主要是为您处理的,只要您使用SpriteBatch即可。在Windows表单中,您必须自己执行更多操作,但是基本概念是相同的。

总的来说,这还不错,但是如果听起来不吸引人,请检查Silverlight。它基本上是C#样式的闪光灯,因此您可能会发现过渡更容易。

祝你好运,希望这能帮到你。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top