1&1 Webhosting
Flashhilfe.de - Flash Community

Text3D interactive >> VectorShapeHitTest [Flash 9]

Forum > Flash 3D > Text3D interactive >> VectorShapeHitTest

 


AntwortenRegistrieren Seite1  

 12.03.2009, 17:52 
Beiträge: 154
Registriert: Jun 2005

Text3D interactive >> VectorShapeHitTest
Hi,

warum bekomme ich Text3D nicht interactive?

Ich benutze BasicView u in der Docu steht man soll so eine instance von dem wiewport erstellen.
ActionScript:
1
2
3
4
5
6
7
8
VectorShapeHitTest.instance.assignViewport(viewport);


var material:Letter3DMaterial = new Letter3DMaterial(0x9DA914);
material.interactive = true;

var txt:Text3D = new Text3D('Test', new HelveticaBold(), material);



kann mir jemand weiter helfen?
 12.03.2009, 18:01Re1
Benutzerbild von badskillFlashhilfe.de Moderator
Beiträge: 5285
Wohnort: Bernau (bei Berlin)
Registriert: Nov 2002

Kurze Nachfrage: Der Viewport ist ebenfalls interaktiv?
 12.03.2009, 18:18Re2
Beiträge: 154
Registriert: Jun 2005

Themenautor/in

jup der ist interactive
 
nicht sichtbar bei eingeloggten Mitgliedern
 12.03.2009, 23:25Re3
Benutzerbild von badskillFlashhilfe.de Moderator
Beiträge: 5285
Wohnort: Bernau (bei Berlin)
Registriert: Nov 2002

Scheinbar muss man jeden Buchstaben einzeln den Listener zuweisen. So gehts:
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package
{
   import flash.display.Sprite;
   import flash.events.Event;
   import org.papervision3d.events.InteractiveScene3DEvent;
   import org.papervision3d.materials.special.Letter3DMaterial;
   import org.papervision3d.typography.fonts.HelveticaMedium;
   import org.papervision3d.typography.Text3D;   
   import org.papervision3d.typography.VectorLetter3D;
   import org.papervision3d.view.BasicView;
   
   /**
    * ...
    * @author Mario Bartlack
    */

   public class Main extends BasicView
   {
      private var _word : Text3D;
      private var _letterMaterial : Letter3DMaterial;
      
      public function Main()
      {
         init();
      }
      
      private function init() : void
      {
         viewport.interactive = true;
         
         _letterMaterial = new Letter3DMaterial();
         _letterMaterial.interactive = true;
         
         _word = new Text3D( "Test", new HelveticaMedium(), _letterMaterial );
         
         for each ( var letter:VectorLetter3D in _word.letters )
         {
            letter.addEventListener( InteractiveScene3DEvent.OBJECT_OVER, letterHandler );
            letter.addEventListener( InteractiveScene3DEvent.OBJECT_OUT, letterHandler );
         }
         
         scene.addChild( _word );
         
         startRendering();
      }   
      
      private function letterHandler( e:InteractiveScene3DEvent ) : void
      {
         trace( VectorLetter3D( e.displayObject3D ).char );
      }
   }
}
 13.03.2009, 16:33Re4
Beiträge: 154
Registriert: Jun 2005

Themenautor/in

danke Mario!

Falls jemand dem Text3D noch irgendwelche Objecte anhängen möchte, muss man das auch mit in die for each schleife setzen.

ZB:
ActionScript:
1
2
3
4
5
6
for each ( var letter:VectorLetter3D in _word.letters )
{
      dictionary[ letter ] = xml.item[i].url;
      letter.addEventListener( InteractiveScene3DEvent.OBJECT_OVER, letterHandler );
      letter.addEventListener( InteractiveScene3DEvent.OBJECT_OUT, letterHandler );
}
 
Themen
Ähnliche Beiträge zum Thema
 

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.
Partner Webseiten: DesignerInAction.de   Designnation.de   Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   PSD-Tutorials.de   Tutorials.de

Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2012 Sebastian Wichmann - Flashhilfe.de