【发布时间】:2010-12-05 15:42:01
【问题描述】:
对于使用 Flex SDK 开发简单游戏,使用 Canvas 对象而不是 UIComponent 对象作为绘图表面的后果是什么?两者都存在性能问题吗?方法一般都一样吗?环顾四周,我发现的大多数示例代码似乎都使用 UIComponent。这只是习惯,还是有原因?
我已经知道一个奇怪的区别 - 我开发了一个简单的乒乓球游戏,使用:
public class MyGameCanvas extends UIComponent
然后决定用 Canvas 替换 UIComponent。这导致线路失败:
addChild(paddle);
花了太多时间搜索后,我终于发现一个 Canvas 对象需要:
rawChildren.addChild(paddle);
由于对象的继承链,Sprites 高于 Canvas。
但这似乎不是偏爱一个班级而不是另一个班级的理由。 有什么具体原因吗?谢谢。
更新: 好吧,我猜 Canvas 出局了,而 UIComponent 入局了。我什至尝试使用 Canvas 对象的唯一原因就是名称。我的意思是,它是一个 Canvas - 这不是你应该画的地方吗? :)
所以弹出的第二个问题是关于使用 Flex SDK 的(我不知道这是否应该是一个全新的问题,或者这里还可以)。
但是,我必须确认一些事情,即对 Flex 和各种术语不熟悉。我假设人们的意思是我不应该将MXML用于游戏,当他们说Flex SDK时。因为我认为 Flex SDK 提供了生成 .swf 文件的编译器。否则,我什至会在哪里/如何编译 AS3?
假设是这种情况,那么我的问题是关于将 MXML 和 AS3 用于(简单)游戏的适用性。根据我对这两者的了解,似乎它们的预期用途是 MXML 用于界面元素,而 AS3 用于其他一切。开销对 MXML 有那么糟糕吗?
约翰 C>
【问题讨论】:
标签: apache-flex