Text3D interactive >> VectorShapeHitTest [Flash 9]
| 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:01 | Re1 | Beiträge: 5285 Wohnort: Bernau (bei
Berlin) Registriert: Nov 2002
| Kurze Nachfrage: Der Viewport ist ebenfalls interaktiv? | |
| 12.03.2009, 18:18 | Re2 | Beiträge: 154 Registriert: Jun 2005
Themenautor/in
| jup der ist interactive | |
| | | nicht sichtbar bei eingeloggten Mitgliedern |
|
| 12.03.2009, 23:25 | Re3 | 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:33 | Re4 | 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 | 10.08.2009 - derFloh 17.09.2009 - strub 07.10.2010 - kamedia 27.09.2010 - kamedia |
|
Flashhilfe.de Flash Platform Tipps & Tutorials Flash Platform Andere Programmiersprachen Jobangebote Diskussionen
Flashhilfe News 
Regeln & Bedingungen
|