flare 3D 黄色星球案例

目标:在完成本教程之后,你将了解在Flash中开发一个完整 3D 游戏所需的基本概念。 在本范例中,你将使用 Stage3D 和 Flare3D 处理用于创建一个名称为 Yellow Planet 的游戏的文件

目录:

  • 设置 Flash Builder 以便于使用 Stage3D 和 Flare3D 库
  • 步骤1:将 3D 模型加载到 Flash
  • 步骤2:使用 ActionScript 将行为应用于对象
  • 步骤 3:放置相机
  • 步骤 4:添加互动功能和定义光线方向
  • 步骤5: 检测与障碍物之间的冲突
  • 步骤 6:添加粒子效果以仿真着火和烟雾
  • 步骤7:控制角色运动状态
  • 步骤 8:将惊险理念融入游戏逻辑
  • 步骤9:将声音文件与 2D 元素进行集合
        • 步骤10:设立游戏目标及实现最终调整

           

           

           

           

          2.添加编译器参数

           

           

          3.更新 HTML 设置以满足 Stage3D 兼容性要求

              在 project 文件夹中,找到该html-模板文件,然后在配置玩家的每个位置上添加下面代码:

                 

            params.wmode = "direct";


          4.项目资源
          assets 文件夹之中:
          • 3D Max文件:所有用于本游戏的模型均使用 3D Max 进行建模。你可以根据需要编辑这些文件以及修改这些模型。 模型文件均有描述性的名称,以便它们能够方便地与相应的游戏组件一一对应。
          • 纹理:如果你查看 assets 文件夹,你可以验证用于游戏模型的各种纹理。
          • Assets.fla:该 Flash Professional 文件包含所有用于游戏用户界面的 2D 元素。 名称为 Assets.swc 的文件是一个由该文件生成的组件。
          • Flare3D files: 文件 astronaut.f3d、planet.f3d 和 shadow.f3d 是使用 Flare3 插件从 3D Max 直接导入的。这些文件放置于 bin 文件夹中。


          步骤一:将 3D 模型加载到 FLASH

          1.创建一个保存3d对象的容器(Scene3D,Viewer3D),
            var scene:Scene3D = new Scene3D(container);
          2.将3d模型加入项目中
            var astronaut:Pivot3D=scene.addChildFromFile("astronaut.f3d");
          Pivot3D 是 Flare3D 中最基本的对象。 它与空影片剪辑相似,因为你可以对它进行移动、旋转和转换以及将其它 3D 对象添加到其中。
          View Code
          package  
          {
          import flare.basic.*;
          import flare.core.*;
          import flash.display.*;
          import flash.events.*;

          [SWF(frameRate = 60, width = 800, height = 450, backgroundColor = 0x000000)]

          /**
          * Starting the project.
          */
          public class YellowPlanet_01 extends Sprite
          {
          private var scene:Scene3D;
          private var planet:Pivot3D;
          private var astronaut:Pivot3D;

          public function YellowPlanet_01()
          {
          // stage setup.
          stage.scaleMode = StageScaleMode.NO_SCALE;
          stage.align = StageAlign.TOP_LEFT;

          // In this first steps, just change the scene by a Viewer3D to be able to look around the scene.
          scene = new Viewer3D(this);
          scene.addEventListener( Scene3D.PROGRESS_EVENT, progressEvent );
          scene.addEventListener( Scene3D.COMPLETE_EVENT, completeEvent );

          // Loads the external files and stores the references into planet and astronaut objects.
          planet = scene.addChildFromFile( "planet.f3d" );
          astronaut = scene.addChildFromFile( "astronaut.f3d" );
          }

          private function progressEvent(e:Event):void
          {
          trace( scene.loadProgress );
          }

          private function completeEvent(e:Event):void
          {
          trace( "load complete!" );
          }

          }

          }



posted on 2011-11-14 10:19 lzosi 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/xiaowai/archive/2011/11/14/2247990.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值