学习ActionScript 3.0+Flash与C#
我有Python的基础,现在想学一门新语言。我的兴趣几乎只在于制作游戏。
我考虑了两种语言:C#和Action Script。选择C#是因为微软允许你用C#来制作独立的XBLA游戏。选择Action Script是为了能制作Flash游戏,比如在Newgrounds上发布。
你觉得长期来看学哪种语言更好呢?
5 个回答
我对C#完全没有经验,但我想说说AS3/Flash最大的一个优点:
在学习游戏开发方面,Flash让你可以非常快速地制作游戏,更重要的是,它能让你比其他环境(可能Ajax除外)更快地从大量用户那里获得反馈。我大约在两年前开始学习Flash编程。在最开始的三个月里,我学会了AS3,并制作了一个塔防风格的游戏,最终这个游戏被超过一百万人玩过。在测试阶段和发布后,我不断收到反馈,并且每天都对游戏的机制和界面进行多次调整。
虽然并不是每个游戏都能获得那么多的玩家,但用Flash制作游戏后,确实更容易让很多人来玩,并告诉你他们喜欢什么、不喜欢什么。学习如何制作好的游戏比学习另一种编程语言要难得多。
我觉得C#比较好。你可以先学一些基础知识,然后就能用它来写桌面游戏(用XNA),也可以写XBox游戏(同样是XNA),还可以为手机设备(用XNA和iPhone的XNA Touch)开发游戏,甚至可以在网上(通过Silverlight)做一些东西。
而Flash的话,能接触到的内容就比较有限了。
来对比一下这两种语言:
Action Script 只能在Flash游戏中使用(大多数通过网页浏览器运行),虽然玩起来可能挺有意思,但它限制了你能做的事情。另一方面,它可能是开发网页游戏的最佳选择。
C#和.NET 让你可以编写各种不同类型的游戏(而且这个语言在其他领域也很有用,比如如果你想从游戏开发转到网站开发或其他商业应用)。关于游戏,你可以在以下平台上使用它:
- 使用Silverlight开发网页游戏(类似于Flash)
- 使用XNA Game Studio开发桌面/XBox/Zune游戏
- 使用MonoTouch开发iPhone游戏(不过最近有一些许可问题)
学习C#的同时,你也会了解.NET框架(一般来说),我觉得这是一项在很多情况下都能派上用场的知识(比如找工作的时候 :-))