【问题标题】:Should I use Flash or Java?我应该使用 Flash 还是 Java?
【发布时间】:2010-06-15 05:01:02
【问题描述】:

我想制作一些 2d 游戏,我可能想提交到游戏网站,例如 newgrounds.com。即使我决定不提交,我仍然想知道哪个是更好的选择。

哪个启动时间更快? 哪个在 2d 游戏中表现更快? 我应该使用哪个 IDE?

提前致谢!

编辑:

另外,还有几个简单的问题。 我用过很多次xna,还有一点点silverlight。我从哪里开始使用闪存?我需要什么二维库?另外,flash 会不会像 xna 一样带有更新循环和绘制循环?

【问题讨论】:

    标签: java flash actionscript


    【解决方案1】:

    事实上的浏览器游戏标准是 Flash。虽然有像 ArcadePod.com 这样接受 Java 的游戏提交网站,但大多数(包括 Newgrounds)都是 Flash 专有的。

    值得注意的是,Adobe Flash Pro 和 Adob​​e Flash Builder 的价格均为 700 美元。

    在性能和部署方面,使用 JOGL 的 Java 可能是我在浏览器中看到的最好的。
    看看这个:https://jogl-demos.dev.java.net/applettest.html

    也就是说,Flash 和 HTML5 应该是硬件加速的……在未来的某个时候。我们应该很快就会看到一些非常好的 DHTML5 图形库。结合 GWT 等更多以 Javascript 为目标的编译器,我猜这就是我们未来会看到大量游戏开发的地方。

    【讨论】:

    • 虽然 Adob​​e Flash Pro 和 Builder 可能很昂贵,但您可以使用 FlashDevelop 和/或 HaXe 免费创建 SWF :)
    • 目前尚不清楚 Flash 是否会被加速。 Adobe 似乎认为大小很重要,下载 2.45 MB,其中包括 2 个 VM,其中一个具有 JIT、渲染器、I/O 层和其他东西。浏览器将来可能会包含硬件加速(但这与 HTML5 无关)。再说一次,它们大了 10 倍,对于作为开发人员的您来说,不确定您正在运行什么实现。我真的不认为 Java 是一种易于游戏开发的好语言。 Java 的伟大之处在于可用的工具,但没有用于游戏的工具。
    【解决方案2】:

    Definitley Flash over Java 用于浏览器。 Silverlight也不错。不要期望 Flash 或 Silverlight 的性能与 XNA 一样好,因为 XNA 使用带有可编程着色器等的 GPU。

    如果您不想为任何工具付费,我建议您使用 FlashDevelop。

    Flash 中的实时游戏使用循环。有两种方法可以实现这一目标。首先是创建一个 Timer 对象并为其创建一个监听器。第二个是监听一个 ENTER_FRAME 事件(这取决于你设置的帧率)。我个人使用第二种方法。由于您无法保证帧速率,因此最好使用时间增量来调整值。

    Flash 最好的一点是有很多成熟的引擎,我在这里只关注 2D 引擎。

    • 对于物理学,Box2D 是最佳选择,它是 C++ Box2D 引擎的一个端口。非常强大。
    • 对于键盘输入抓取这个类:KeyPoll
    • 根据游戏类型,as3 游戏引擎fixel 可能有用

    至于渲染,最简单的方法是使用 Sprites 和 Movieclips。您可以通过编程方式进行绘制,或者如果您使用 Adob​​e Flash Pro,您可以手动绘制它们。另一种渲染方法是创建一个位图对象并向其绘制像素。

    我认为投资一本好书是值得的。对于学习 ActionScript3.0,每个人都推荐 Colin Mook 的 Essential ActionScript 3.0

    对于游戏开发:Foundation Actionscript 3.0 动画: 让事物动起来! 和 Keith Peters 的 AdvancED ActionScript 3.0 动画 非常棒。你可以在Bit-101找到他的博客

    最后但同样重要的是,一本相当新的书The Essential Guide To Flash Games 看起来很棒,但我还没有读过。

    此外,如果您搜索 stackoverflow,您会发现有关学习 AS3 的类似问题以及在线资源的链接。

    【讨论】:

      【解决方案3】:

      JavaFx 在开发 2D/3D 游戏方面是一项非常新的技术,实际上它提供与 Flash 相同的效果。您可以在 Netbeans IDE 中拥有它的库和内置支持 IDE。

      【讨论】:

        【解决方案4】:

        我在 Java2d/swings/graphics 和 Flash 中都进行了开发。 Flash 使用VECTOR Graphics,无论屏幕分辨率如何,它的输出都非常好。此外,在 Flash 中设计对象将变得更有趣和更容易,而不是通过 Java 编码来完成所有事情。

        这并不意味着您在 Flash 中已准备就绪。你仍然必须使用 Actionscripts,这显然涉及编码,但一旦你学会了它就会非常有趣。您可以随时在community 中发布您的问题,在这里您可以很好地支持任何与 actionscript 相关的问题。

        一切顺利!

        【讨论】:

          【解决方案5】:

          如果您正在开发一款游戏,那么大众推广比列出的任何因素都更重要。安装 Flash 的人比 JRE/Java 插件多得多,所以我建议你使用 Flash。性能当然很重要,但让人们玩更重要。

          对于 Flash 游戏,您可以使用 Adob​​e creative suite 或 flex。

          顺便说一句,另一个不错的游戏开发平台是 MS silverlight,但那也是不可能的。它的市场渗透率甚至低于 Java

          【讨论】:

          • 我用过很多xna,还有一点silverlight。我从哪里开始使用闪存?我需要什么二维库?另外,flash 会不会像 xna 一样带有更新循环和绘制循环?
          • 不知道。对flash一无所知(上面列出的除外:)
          • 创建 Flash 游戏的一种方法是使用编程语言 ActionScript 3.0 和 IDE Adob​​e Flash Builder。这种语言与 ECMAScript 4.0 (~Javascript) 极为相似,后者与 C# 非常接近,因此您可以大致了解您正在阅读的内容。您无需亲自处理绘图,而是对 DisplayObject 进行高级操作,并让 Flash 为您进行渲染。
          • @Gunslinger47,对于更高级的工作,渲染是通过绘制到屏幕上的位图来完成的。
          • @Allan:这取决于。如果您的游戏主要基于动画矢量图形,那么这种优化将变得极其困难且消耗内存。
          【解决方案6】:

          Flash 更适合 2D 图形渲染,是为浏览器环境而设计的,每个人都安装了它,而且它比 Java 恕我直言更容易学习。

          【讨论】:

            【解决方案7】:

            这是开始寻找优秀库的好方法,但老实说,Flash 本身就内置了您“需要”的一切。

            22 ActionScript 3.0 API's

            另外,不要在没有API Documentation 的情况下离开家!

            我将尝试挖掘我的 API 和应用程序的历史;自从我涉足 AS3 以来已经有一段时间了,但那是一段美好的时光。

            【讨论】:

            • “另外,不要在没有 API 文档的情况下离开家!”没问题!我从不离开家!
            【解决方案8】:

            您要提交的网站很可能会采用 Java 版本的 Flash 游戏。

            我建议选择 flash its self 和 actionscript 3。

            您可能还想获得 PushButton 游戏引擎的免费副本,这将占用您大量的开发时间,让您可以更多地专注于实际构建游戏,而不是过多地关注物理和碰撞等工作。

            http://pushbuttonengine.com/

            【讨论】:

              【解决方案9】:

              在用户可访问性方面,我建议使用 Flash。我相信在 Flash 中开发 2D 游戏更容易......

              【讨论】:

                猜你喜欢
                • 2010-10-08
                • 1970-01-01
                • 2013-08-24
                • 2018-09-05
                • 2012-03-12
                • 2012-12-11
                • 1970-01-01
                • 2015-10-16
                相关资源
                最近更新 更多