Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   Flash и Sandy3D (http://www.flasher.ru/forum/showthread.php?t=151829)

ZergMaster 06.03.2011 19:56

Flash и Sandy3D
 
добрый день!

помогите пожалуйста разобраться с Sandy. Начинаю изучать 3д flash, пользуюсь уроками silirena. Пытаюсь импортировать объект из 3Dmax во флеш через файл *.ASE.
Вот код:

Код AS3:

package
{
  import flash.display.Sprite;
  import flash.events.*;
  import sandy.core.Scene3D;
  import sandy.core.data.*;
  import sandy.core.scenegraph.*;
  import sandy.materials.*;
  import sandy.materials.attributes.*;
  import sandy.primitive.*;
  import sandy.parser.*;
 
  public class tea3d extends Sprite
  {
      private var scene:Scene3D;
      private var camera:Camera3D;
      private var pot:Shape3D;
 
      public function tea3d()
      {
        var parser:IParser = Parser.create("forMenu.ASE",Parser.ASE );
 
        parser.addEventListener( ParserEvent.FAIL, onError );
        parser.addEventListener( ParserEvent.INIT, createScene );
        parser.parse();
      }
 
      private function onError( pEvt:ParserEvent ):void
      {
            trace("there is an error il loading you stuff");
      }
 
 
      // Create the scene graph based on the root Group of the scene
      private function createScene(p_eEvent:ParserEvent ):void
      {
        camera = new Camera3D( 300, 300 );
        camera.y = 30;
        camera.z = -200;
 
        // Create the root Group
        var g:Group = Group( p_eEvent.group);
 
        pot = g.getChildFromId(1) as Shape3D;
        pot.x = 0;
 
        var materialAttr:MaterialAttributes = new MaterialAttributes(new LightAttributes( true, 0.2 ) );
        var material:Material = new ColorMaterial( 0xE0F87E, 0.9, materialAttr);
        material.lightingEnable = true;
        var app:Appearance = new Appearance( material);
 
        pot.appearance = app;
 
        scene = new Scene3D( "scene", this, camera, g );
 
        // Listen to the heart beat and render the scene
        addEventListener( Event.ENTER_FRAME, enterFrameHandler );
      }
 
      // The Event.ENTER_FRAME event handler tells the world to render
      private function enterFrameHandler( event : Event ) : void
      {
        pot.pan +=3;
        scene.render();
      }
  }
}

при компиляции почему-то пишет "D:\JJJob\3D Sandy\tea3d.as, Line 44 1061: Call to a possibly undefined method getChildFromId through a reference with static type sandy.core.scenegraph:Group.
"

то есть ругается на эту строку
Код AS3:

pot = g.getChildFromId(1) as Shape3D;

что делать? Вроде все как в примере..

willis83 07.03.2011 10:49

откройте класс Group и проверьте есть ли у него такой метод

ZergMaster 07.03.2011 17:22

а, ладно, пофиг, решил использовать альтернативу.. после того, как узнал, как убрать их логотип. Вставлю ссыль на них в контекстное меню.


Часовой пояс GMT +4, время: 03:47.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.