Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.03.2011, 19:56
ZergMaster вне форума Посмотреть профиль Отправить личное сообщение для ZergMaster Найти все сообщения от ZergMaster
  № 1  
Ответить с цитированием
ZergMaster
 
Аватар для ZergMaster

Регистрация: May 2008
Адрес: Питер
Сообщений: 385
Отправить сообщение для ZergMaster с помощью ICQ Отправить сообщение для ZergMaster с помощью Skype™
Question 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;
что делать? Вроде все как в примере..
__________________
while(live()) { hope(); }


Последний раз редактировалось wvxvw; 06.03.2011 в 21:52.
Старый 07.03.2011, 10:49
willis83 вне форума Посмотреть профиль Отправить личное сообщение для willis83 Найти все сообщения от willis83
  № 2  
Ответить с цитированием
willis83
 
Аватар для willis83

Регистрация: Jan 2008
Адрес: Украина, Славутич
Сообщений: 646
Отправить сообщение для willis83 с помощью ICQ
откройте класс Group и проверьте есть ли у него такой метод

Старый 07.03.2011, 17:22
ZergMaster вне форума Посмотреть профиль Отправить личное сообщение для ZergMaster Найти все сообщения от ZergMaster
  № 3  
Ответить с цитированием
ZergMaster
 
Аватар для ZergMaster

Регистрация: May 2008
Адрес: Питер
Сообщений: 385
Отправить сообщение для ZergMaster с помощью ICQ Отправить сообщение для ZergMaster с помощью Skype™
а, ладно, пофиг, решил использовать альтернативу.. после того, как узнал, как убрать их логотип. Вставлю ссыль на них в контекстное меню.
__________________
while(live()) { hope(); }

Создать новую тему Ответ Часовой пояс GMT +4, время: 21:39.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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