为Java开发人员学习Flash AS3的方法?

时间:2011-02-14 19:02:03

标签: java actionscript-3 flash

我是一名Java开发人员。我擅长学习新语言,但我不能成为AS3的头脑或尾巴。这似乎是一种我无法理解的不同心态。

你能提供一个AS3教程的链接,这些教程可以很好地解释所有内容,对于那些已编程的人来说更有针对性吗?

非常感谢。

4 个答案:

答案 0 :(得分:3)

除了较小的语法差异外,AS3没有什么不同,事实上它是一种更动态的语言。

  • 它是面向对象的
  • 它支持类和接口
  • 它有实例与静态方法/字段
  • 它具有所有可见性修饰符
  • 等。

一些差异:

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

我处于相同的情况--Java背景,并且需要非常快速地学习AS3。没有任何问题,除了一些小事,比如

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

总结 - 即时学习对我来说很好。

答案 1 :(得分:3)

以下是一些在线链接:

A few chapters form Colin Moock's DVD series
Getting started with ActionScript3
Language reference

如果你真的认真考虑进入它,我强烈建议你选择Colin Moock的书Essential ActionScript 3.0我认为这是你能买到的最好的书。

享受!

答案 2 :(得分:0)

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

根据我的经验,不仅仅是教程,最好的帮助也是练习。作为程序员,我们经常觉得有必要先尝试自己学习更好。相信我,一旦你开始练习,就不会那么困难了,你会开始注意AS3与Java的相似之处。

答案 3 :(得分:0)

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

有趣的是,你发现了许多不同之处,因为我实际上找到了相似之处。可能最不同的是

  • AS3具有作为第一类对象的函数,因此可以传递
  • AS3中的时间测量在很大程度上取决于ENTER_FRAME事件的概念(尽管您可以创建Timer对象,但屏幕更新尽可能接近ENTER_FRAME间隔)。
  • 你不想在AS3中“睡眠”执行(无论你认为多少),因为Flash非常想要能够继续渲染屏幕,以及任何阻止代码执行的事情(例如也许)通过一个千万次迭代for循环来进行搅拌)将阻止渲染器更新。如果这持续15秒,将会发生“坏事”。
  • Flash是单线程的,虽然你可以使用Timer对象模拟线程(可能或者可能不是一个好主意。除非你使用计时器来切断执行一个非常漫长的进程,否则你不会从中获得任何性能优势)。

至于相似之处

  • 类型系统是可选的,但鼓励(和Java一样,除了语法不同)。
  • 它们都具有单继承/多接口样式OOP。
  • 它们的类都具有相同的包结构风格
  • 他们都有一个例外的概念,但是在Flash中你可以将所有异常都视为RuntimeExceptions,并且不存在被检查的异常。

就教程网站而言,这取决于你真正想要用Flash做什么。你是否更关注游戏? RIA的?