我如何学习Flash游戏开发?

时间:2010-05-18 13:38:25

标签: flash actionscript

我目前是一名PHP程序员,我儿时的梦想之一就是创造一款游戏。

问题是我不知道Flash。我不擅长画画,甚至不艺术。我可以使用JavaScript进行一些编程,我可以认为自己是JQuery的中间人。

问题

如何开始使用Flash游戏开发?我先读了哪些书?

游戏类型是关于印第安纳琼斯类型角色的侧卷轴,设置在丛林中,树木和蛇以及许多动物。

8 个答案:

答案 0 :(得分:14)

两年半前我到了你的位置。我已经学习了Flash并发布了几款热门游戏。这是我在此过程中发现的:

  • Flash CS不是编程人员编写Flash游戏的好工具。使用Flash Develop(免费)或Flash Builder(Adobe的IDE具有更好的集成和调试功能,但不是免费的。)
  • 我发现Colin Moock的“Essential Actionscript 3.0”是对AS3的精彩介绍和概述。
  • AS3是一种与PHP完全不同的语言。它更像面向对象,与Java非常相似。此外,它的事件系统起初可能看起来很混乱。
  • 我发现Tony Pa的tile based game tutorials非常有用,即使没有创建基于图块的游戏。
  • 阅读this thread AS3提示中的每篇文章。
  • 从小处开始,用最简单的游戏实际完成并释放。

答案 1 :(得分:10)

欢迎来到Flash游戏开发的精彩世界!

我会给你一些提示:

  • 您来自编程环境。这很好,因为你会发现当你想要做一些严肃的编码时,Flash CS *是一个非常恶劣的IDE,就像你在游戏中所做的那样。推荐的IDE:Flash Builder(以前称为Flex Builder)是一个很棒的IDE,基于Eclipse,但你需要付出一些代价,它带有你在ActionScript 3中开始开发所需的一切。如果你是FlashDevelop在Windows中,它也是一个非常好的IDE,尽管你需要安装免费的Flex SDK才能开始。

  • “等等,ActionScript 3?WTF,我只想在Flash中制作游戏!”。嗯,是的,你可以在Flash中制作游戏,但这是一个很难编写代码的地方,所以你只需保留ActionScript 3,这是底层编程语言,并使用更好的IDE来保持代码在一起。话虽如此,你仍然可以使用Flash:制作插图。您可以在Flash中执行插图并将其插入到代码中。

  • 您可能希望首先使用AS3学习绳索。它与PHP非常不同,但你会做得很好,它与Javascript!非常相似,因为它们来自相同的ECMA标准。

  • 一旦您了解了基本AS3的方法,您就会想知道如何发送和监听事件。 AS3中的事件是类之间通信的主要方式。事件允许您提供加载文件的指令,然后仅在下载文件后处理该文件。它们对于使用图形库Flex也很重要。

  • “但它是Flex的SDK?”是的,这是一个组合:它是SDK,你下载的整个软件包,它是AS3编译器,它接收你的代码并将其输出到SWF文件中,它是图形库,你可以用它来快速构建UI。但是你可能不想在你的游戏项目中使用它。

  • 一旦你了解了AS3和事件,你可能想要下载一个像Flixel(http://flixel.org/)或FlashPunk(http://flashpunk.net/)这样的AS3游戏库,它们有一些类可以让你轻松你对游戏的看法。

  • 制作一个乒乓球,制作俄罗斯方块。这两款游戏都拥有游戏所需的所有功能,如游戏循环,碰撞检测,声音等等。这些游戏相对简单。

  • 在您知道如何制作 A 游戏后,您应该开始制作您的游戏。您还希望与其他游戏开发者分享您的目标。我建议你去独立游戏源http://www.tigsource.com,它有一些最好的游戏开发者论坛,你会发现很多游戏,古怪,怪异和好游戏。

    < / LI>
  • 重要的是你发布你的游戏,无论它们对你来说有多么未完成或不好。这是一个常见的问题,游戏开发人员有点过于完美主义,这是一个问题,当你走了2年左右,你仍在制作游戏。仙人掌(http://cactusquid.com/)是瑞典游戏开发商,两年内很容易开发40场比赛,但他主要使用Game Maker进行编程。你会喜欢他。

  • 我已经没有提示了,所以是时候开始学习了;-)祝你好运!

答案 2 :(得分:4)

有一个类似的问题,What technology should I use to write my game?

我的建议是考虑Unity 3d Game Engine。除了是一个相当强大的开发工具之外,它还有几个cross-platform deployment options。您可以构建独立的可执行文件(适用于Windows和Mac,还不适用于Linux)和Web浏览器版本。

它还为scripting languages使用Javascript和C#(以及Boo,Python的变体)。这些基于Mono,.NET的开源版本,所以它不仅仅是一个游戏平台,而且可以访问所有.NET的功能(好吧,无论如何都是在Mono中实现的)。

请参阅Licensing page以获取Unity的一长串功能(基本版本是免费的)。并查看电子艺术的Unity-based games列表,其中第一个是Tiger Woods PGA Tour Online。

答案 3 :(得分:3)

使用JavaScript游戏引擎可能会更好。随着主流浏览器采用HTML5技术,这些技术越来越受欢迎(并且已经成熟)。

如果您已经了解一些JavaScript(尽管actionscript非常相似),这对您来说会更容易。此外,您掌握创建游戏的技能将在其他领域为您提供帮助,因为基于标准的HTML5游戏将使用Web开发所需的相同技术以及使用Web标准作为平台的任何开发。

Effect Games,一个示例游戏引擎。 (请参阅谷歌获取更完整的清单;))

答案 4 :(得分:3)

Flash是一个糟糕的编程接口,创建动画真的很不错, 您可以将其导出到已编译的SWC。 所以,在另一个工具中进行编程,比如Flashbuilder(转到纯AS项目,而不是Flex)。

你会想要使用一个库,我没有使用任何引擎来进行像印第安纳琼斯这样的平台游戏。 所以我不知道哪个好。

答案 5 :(得分:2)

你可以找到一些非常好的游戏开发教程 http://www.makeflashgames.com

这些教程将引导您通过一些简单但标志性的游戏进入更高级的游戏,如塔防。

提供了所有源代码,您将逐步找到所发生情况的逐行说明。 =)

答案 6 :(得分:1)

尝试

http://www.kirupa.com/developer/flash/index.htm(游戏开发)部分。

你需要通过动作脚本。

获取动作书和flash ide。

ActionScript: The Definitive Guide

答案 7 :(得分:1)