将内容重用于多个设备通常称为“移植”。 通常对于移动内容, 如 Java 游戏或应用程序, 您需要为不同的运行时引擎移植原始内容。 这会显著增加您的开发周期的时间数量, 并会最终增加创建应用程序的总体成本。 Flash 极好的一个方面是只需要进行很少的移植, 因为该播放器非常普及, 且您最终真正仅需要关心设备规格 (如屏幕尺寸或 UI 考虑事项)。 甚至在那时, 您有时也可以通过使用一些更加聪明的窍门使内容在多个设备上展开。
谈到为不同的手机移植内容时, 并不存在许多需要担心的因素。 您可能更多需要考虑的是, 您是否要提取用于独立播放器的内容以使它在浏览器中运行, 对于此练习来说, 您提取为 Symbian S60 手机开发的内容并将它移植到 Nokia 40 系列版本中。
此示例中 (以及将 Flash 移植到不同手机中的许多情况下) 的主要差异是屏幕尺寸的不同。 屏幕尺寸差异主要存在于不同制造商之间和不同的手机型号之间, 屏幕可能更大、更小、更宽, 甚至可能是纵向的, 也可能是横向的。 根据您创建的内容类型, 您可以通过在与最小的最终屏幕尺寸匹配的“工作区”尺寸上创建内容来允许这些变化, 然后允许这一事实:显示在电影的“工作区”之外的内容可能在其他屏幕尺寸上是可见的 (参见图 1)。 当然, 您的内容将需要“出血”到原始电影的“工作区”之外, 达到一个足够大的程度, 以便按将查看您的内容的最大屏幕尺寸进行查看。

图 1.扩展内容超出最小屏幕尺寸的“工作区”尺寸以便在更大的屏幕尺寸上查看内容
但是, 在我所描述的这种情况下, 我利用该机会对游戏屏幕进行了一些布局更改以适应更大的屏幕尺寸。 对于我们的游戏, 我们从 Nokia S60 上的 176 x 208 像素变为 Nokia 40 系列上的 240 x 320 像素 (参见图 2)。

图 2.对布局进行更改, 以使您的内容的外观适合新的尺寸
以下是您解决该问题的方法:
对背景和游戏元素重新调整大小和重新定位, 并对使用绝对 _x 或 _y 值的任何 ActionScript 进行更改。
仅仅为了这一原因, 在可能的情况下最好不要使用绝对“工作区”位置。 例如, 如果存在一个位于“工作区”上的树, 且您需要它的 _x 值, 请不要通过像 treeX = 75 那样的语句引用它。而是使用 treeX = _level0.tree._x , 这样如果您移动该树, 您的变量的值会随之移动。
此任务相当容易, 因为两个手机都是 Nokia 设备, 因此手机上的用户界面几乎相同。 两个手机都有软按键和一个常见的用户体验。 如果手机的制造商和型号不同, 则情况会变得更复杂。