Flash动作脚本3将代码放入时间线和使用单独的.as文件之间的区别



我是一名学生,我的老师一直告诉我要习惯将我的flash游戏单独制作成文件,而不是去flash并使用flash时间线构建我的游戏,并在那里添加所需的actionscript 3代码,靠近动作发生的地点和时间。

他坚持这样做是因为一些问题,但我真的还没有完全理解他的意思,所以有人能快速解释如果我在没有单独的.as文件的情况下构建更大结构的游戏,而使用flash时间线并分离我的代码,可能会发生的问题吗?

我在脑海中感到了顽强的抵抗,因为到目前为止,我还没有遇到太多的问题来分离我的代码,即使他说当代码在同一个地方时,我更容易弄清楚事情,但我有抽象/非理性思维的倾向,所以我至少到目前为止还没有看到它的问题,对我来说,将所有动作脚本3添加到同一个位置似乎更难。。。或者我只是个固执的傻瓜,我应该听他的。。。那么,有人能解释一下吗?

提前感谢!

结构:

就像walketokyo所说的,将代码分离成对象可以让你很容易地再次使用代码。想在你的游戏中添加另一种类型的武器到4级吗?容易的CCD_ 1。最终,您将拥有一个小的组件库,可以在所有项目中使用,从而节省大量时间。

文件大小/内存:

如果你的整个应用程序都在FLA中,用户必须下载整个FLA(假设内容在网页上可用)才能使用它。对于小程序来说,这没什么大不了的。对于有许多不同屏幕的大型程序,或者有关卡的游戏,这可能是一个问题,因为所有东西都留在内存中。只需在内存中保留所需内容,即可节省下载时间和内存使用量。

在团队中工作:

假设你正在制作一个游戏,并且你正在编写6级代码。与此同时,你的艺术家正在向图书馆添加一些艺术作品,并在舞台上进行一些调整。您将更改提交到版本控制系统,但存在冲突。你的艺术家已经做出了她的改变,现在你必须复制她在你的版本中所做的一切,浪费她和你的时间。如果您在level6.as中对级别6进行编码,就不会发生这种情况。就我个人而言,我发现这是在文本文件中编码并将FLA留给UI和艺术的最佳理由

记忆,如大象:

两个月后,你会打开你的文件,想找到你写的那个漂亮的手榴弹发射器,但你不知道从哪里开始。如果您使用包在文件中以结构化的方式进行编码,则不需要记住。只要浏览一下你的文件夹,最终你就会找到mygame.weapons.GrenadeLauncher.as

结构。随着您对AS3越来越熟悉,您会注意到,根据最佳实践构建代码会带来很多好处。它不仅提供了更多的控制和更容易阅读的代码,还使构建有用的、可重用的面向对象代码变得更容易。

尽管你可能擅长非理性思维,但你的记忆力可能不是。当一位同事将来最终接触到你的代码时,你和你的同事都会迷失方向。

我的答案与walketokyo几乎相同:代码组织和结构。一个例子可以说你正在制作一个类似小行星的游戏。把你的代码分开说:玩家移动、射击、子弹和小行星撞击检测、小行星移动,也许还有分数处理,这很有用。然后,当你(或其他人)将来重新访问它时,你的代码是更小的,更容易消化,每个部分都集中在一个特定的事情上。甚至可能重复用于其他可能具有类似行为的东西。

通过将代码分离出来,它还可以使测试和调试变得更容易,因为如果说玩家射击中有错误,与所有其他部分的代码都在一个巨大的fla/文件中相比,你不需要担心所有其他部分中的代码。它还可以简单地让浏览变得更容易,而不是必须从一个长的东西中找到它。

但我也要补充一些小问题,如果你在同一个项目中与多个人合作,将其分离也可以让人们同时处理不同的部分,如果你使用版本控制系统来处理你的文件,比较"纯文本"AS文件比比较flas容易得多。您甚至可以将fla视为"资源/资产"文件,并具有不同的版本。

最新更新