一个Java开发者学习Flash AS3的方法是什么?

5

我是一名Java开发者。我擅长学习新的编程语言,但是我无法理解AS3。它似乎有着不同的编程思维方式,我无法进入其中。

您能提供一些针对已经有编程基础的人群,能够很好地解释AS3的教程链接吗?

非常感谢。

4个回答

3
除了一些小的语法差异和它更加动态的特性外,AS3并没有什么不同。
  • 它是面向对象的
  • 它支持类和接口
  • 它有实例方法/字段和静态方法/字段之分
  • 它拥有所有可见性修饰符
  • 等等...

一些不同之处:

  • 它支持函数式编程(可以将函数作为参数传递)
  • 即使在编译时不确定对象字段是否存在,也可以引用对象字段。(如果我说错了,请有人纠正我-我上次写AS3是两年前)

我曾经处于同样的情况——具有Java背景,需要快速学习AS3。除了一些小问题,如:

  • 如果您通过接口引用对象,则需要强制转换为Object。
  • 默认组件不使用完整功能的观察者模式,有时需要使用它。
  • 异常处理一开始可能有点奇怪。

总之,对我来说,在学习过程中解决问题很顺利。


3

2
我肯定会推荐Colin Moock的书。 - duncmc
第二个链接非常有用。谢谢!我可能也会看看那本书。 - user263078
2
Colin Moock的书绝对是关于该语言实质性细节最权威的来源。 - scriptocalypse
1
获取Moock的书并阅读每一页。在宏观上,语言差异是次要的。大部分学习是要理解Flash Player的实际工作原理以及如何与标准类相关联。EAS3在这方面做得非常好。 - mpdonadio

0

如果你了解任何编程语言的基础知识 - 数据类型、函数、条件语句、循环、运算符等等,那么在AS3中编程并不难。

根据我的经验,比起教程,最好的帮助是实践。作为程序员,我们常常感到需要先自己尝试一下才能更好地学习。相信我,一旦你开始练习,它就不会那么困难了,你会开始注意到AS3与Java之间的相似之处。


0

我实际上处于相反的情况,作为长期AS3开发人员,正在学习Java。

有趣的是,你发现了很多不同之处,而我实际上发现了相似之处。最大的区别可能在于:

  • AS3具有作为一等对象的函数,因此可以传递
  • AS3中的时间测量严重依赖于ENTER_FRAME事件的概念(尽管您可以创建Timer对象,屏幕更新尽可能接近ENTER_FRAME间隔)。
  • 您不想在AS3中“睡眠”执行(无论您认为自己可能有多少),因为Flash非常希望能够继续渲染屏幕,任何阻止代码执行的事情(例如,通过一个千万次迭代的for循环)都将停止渲染器更新。如果这种情况持续超过15秒,“坏事”就会发生。
  • Flash是单线程的,但您可以使用Timer对象模拟线程(也许是个好主意,也许不是)。除非您使用计时器来分割一个极长的进程的执行,否则您不会获得任何性能优势。

至于相似之处

  • 类型系统是可选的,但鼓励使用(非常类似于Java,只是语法不同)。
  • 它们都具有单继承/多接口风格的面向对象编程。
  • 它们都具有相同的类包结构风格。
  • 它们都有异常的概念,尽管在Flash中,您可以将所有异常视为RuntimeException,并且没有所谓的已检查异常。

至于教程网站,这取决于您想要在Flash中做什么。您更关注制作游戏还是RIAs?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接