使用Flare3D在FB中搭建第一個Molehill項目

  本文介紹如何使用第三方開發框架Flare 3D 2.0在Flash Builder中創建一個基於Molehill 3D的項目
  需要做的準備如下: 1,Flex SDK Hero
  2,Flash Player 11,0,0,58 Incubator
  3,playerglobal.swc
  4,Flare 3D 2.0 然後按照下面的幾步創建項目:
  安裝Flex SDK Hero
  請到 這裏下載Hero build 19786
  配置Flex SDK
  將下載後的Hero(版本19786)拷貝到Flash Builder的安裝目錄中並命名:
  [Flash Builder安裝目錄]/sdks/4.5_incubator
  到 這裏下載用來開發Incubator項目的playerglobal.swc,然後按照這個地址把playerglobal.swc放進去:
  [Flash Builder安裝目錄]/sdks/4.5_incubator/frameworks/libs/player/11.0/p layerglobal.swc
  安裝Incubator
  請到 這裏瞭解Incubator的相關信息並下載安裝,它是Flash Player 11的一個預覽版,安裝方法等同於歷次Flash Player的更新。
  新建項目
  打開Flash Builder,新建一個ActionScript項目。
  
  右鍵點擊項目名稱後進入Properties面板,在左邊的列表中選擇ActionScript Compiler。然後在右上角點擊"Configure Flex SDKs"
  
  點擊Add增加一個Flex SDK,填入剛纔新建的SDK路徑後確定。
  
  同樣是在ActionScript Compiler,在上面的Flex SDK Version中選擇剛剛添加的SDK,然後在下面的Additional compiler arguments裏填入一項新的參數:-swf-version=13
  
  下載安裝Flare 3D開發框架
  請到 這裏註冊申請,便可以免費獲得Flare 3D 2.0的開發框架
  將bin文件夾裏所有內容拷到剛纔新建的項目中的bin-debug文件夾,這裏包括範例所使用的貼圖和3D模型文件,將examples文件夾裏所有內容(一堆AS文件和兩個包)拷到項目的default package下:
  
  測試範例 OK,現在我們就可以打開Flare 3D下載包中自帶的範例了,在src/default package中Test01-Test14每一個都是一個小例子,包括瞭如何導入DAE和UV貼圖建模,如何創建動畫、粒子以及如何增加鼠標控制和碰撞檢測等等。一定要試試啊,由於啓用了硬件加速,體驗非常的流暢。
  從代碼上看也非常的簡單,這裏我舉一個導入模型和貼圖的代碼,竟然只有短短的幾行:
  //指定貼圖的路徑
  ColladaLoader.texturesFolder = "textures";
  //導入模型
  scene = new Viewer3D( this, "car.dae" );
  scene.camera.setPosition( 0, 0, -150 );
  導入DAE和貼圖後的效果圖:
  
  對於碰撞檢測的情況也不復雜:
  private function completeEvent(e:Event):void
  {
  // 定義一個碰撞檢測集
  collisions = new SphereCollision( player, 15, new Vector3D( 0, 15, 0 ) );
  //設定碰撞級別
  collisions.addCollisionWith( level );
  //添加刷新事件偵聽
  scene.addEventListener( Scene3D.UPDATE_EVENT, updateEvent );
  }
  private function updateEvent(e:Event):void
  {
  //鍵盤控制小人移動
  if ( Input3D.keyDown( Input3D.RIGHT ) ) { player.rotateY( 5 ); player.frameSpeed = 1; }
  if ( Input3D.keyDown( Input3D.LEFT ) ) { player.rotateY( -5 ); player.frameSpeed = 1; }
  if ( Input3D.keyDown( Input3D.UP ) ) { player.translateZ( 4 ); player.frameSpeed = 1; }
  if ( Input3D.keyDown( Input3D.DOWN ) ) { player.translateZ( -4 ); player.frameSpeed = -1; }
  //鍵盤按下後,小人兒播放走路的動畫
  if ( Input3D.keyDown( Input3D.UP ) ||
  Input3D.keyDown( Input3D.DOWN ) ||
  Input3D.keyDown( Input3D.LEFT ) ||
  Input3D.keyDown( Input3D.RIGHT ) )
  player.play();
  else
  player.stop();
  //添加重力加速度
  player.y -= 3
  //碰撞檢測
  collisions.slider();
  /****控制攝像頭跟蹤 ****/
  //設置攝像頭位置尾隨小人兒.
  Pivot3DUtils.setPositionWithReference( scene.camera, 0, 600, -600, player, 0.1 );
  //設置攝像頭鏡頭對準小人兒.
  Pivot3DUtils.lookAtWithReference( scene.camera, 0, 0, 0, player );
  }
  碰撞檢測範例貼圖
  
  下載的Flare 3D包中還包括一套API開發文檔,雖然全英文且不夠詳細,但應該可以滿足第一步的需要,相信隨着框架的不斷完善,這些開發文檔以及社區中的熱心羣衆們會給我們提供更爲詳盡的資料。
  最後,有一點特別重要,請在發佈之前修改一個值,打開html-template/index.template.html,
  在調用params.allowfullscreen = "true"的下一行添加一行代碼
  params.wmode="direct";
  如果你不設置這個,那麼硬件加速的功能就不會開啓,如果你使用的是Flash Develop或者Flash Pro來測試Incubator,也一定不要忘記這一項。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章