纳金网

标题: 【Flare3D创建黄色星球】将声音文件与 2D 元素进行集合_步骤9 [打印本页]

作者: 铁锹    时间: 2013-3-3 10:49
标题: 【Flare3D创建黄色星球】将声音文件与 2D 元素进行集合_步骤9
步骤9:将声音文件与 2D 元素进行集合
YellowPlanet_09.as 包含本节描述的代码。
在本节中,你将使用 Flash Professional 将声音和 2D 内容集成到3D Flash 游戏中。
声音和 2D 对象的添加为游戏增添了引人入胜的新外观,因此使得游戏玩起来更赏心悦目。
你可以使用许多不同的方法将 Flash 内容带入游戏。 在本范例中,为了保持简洁,你可以通过将你的游戏部件作为组件导出(SWC 文件)。
按照下列步骤将一个 FLA 文件作为一个组件导出:
1.打开一个 Flash 文件,然后使用 Property inspector 将链接名称设置为你希望导出的对象和影片。
2.在 Library 面板上右击需要的元素。 在显示的 context 菜单中,选中选项:Export SWC File。
在导出 SWC 文件之后,你可以将相应的库添加到你的项目中,然后使用其中包含的组件创建它们新的实例。
这部分过程与处理基本影片剪辑符号和声音非常相似。
建立 2D 界面范例游戏的 2D 界面包含于 assets.swc 文件。 你可以使用下列代码为该对象创建一个实例:// MovieClip and Sound objects.private var loadingoading = new Loading(); private var gui:GUI = new GUI();private var sndMusic:MusicSound = newMusicSound();private var sndCoin:CoinSound = new CoinSound();private var sndDeadeadSound = new DeadSound();…// Adds the MovieClips to the stage.addChild( gui );addChild( loading );
与图形用户界面元素互动在用户玩游戏的过程中,需要跟踪三种不同的分数。 用户的个人游戏点数(game points)、对象收集的能量数(number of energy)和总体最高分数(overall highest score)均可以计算和跟踪,以便于在游戏界面上显示出来。 相应的分数信息可以在 gameGUI() 函数中更新。 该函数能够修改 2D UI 元素中的文本字符以便显示当前游戏信息(参见图17)。
图17. 游戏界面显示用户的分数以及能量点数
// Updates the interface of the game.private function gameGUI():void{    // Gets the best score.    if ( score > bestScore ) bestScore = score;    gui.points.score.text = score.toString();    gui.best.score.text = bestScore.toString();    gui.energy.content.count.text =energyCount.toString();    gui.total.score.text = score.toString();}
啪、轰、砰!
游戏包含当宇航员死亡或摧毁地雷时显示的信息。 这些信息也是由2D 图形元素构成的(参见图18)。
图18. 当地雷被摧毁或宇航员死亡时,图形元素能够为用户提供报警信息
核查一下下面的代码,看看信息是如何放置于 scene 的正确位置,在此我们使用宇航员的位置作为参考位置。private function newPop():void{    var pos:Vector3D =container.getScreenCoords();    var popop = new Pop();    pop.x = pos.x;    pop.y = pos.y;    addChild( pop );}方法 getScreenCoords() 将 3D 容器的坐标转换为 2D 坐标(以便返回一个 Point 对象)。





欢迎光临 纳金网 (http://rs.narkii.com/club/) Powered by Discuz! X2.5