| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| ° Registriert seit: Aug 2002 Ort: Baden-Baden
Beiträge: 3.962
| [PV3D] Sphäre mit PhongMaterial klickbar machen
Hi, ich hab mir eine Sphäre auf die Bühne geholt und ein PhongMaterial drüber gelegt. Leider bin ich bis jetzt daran gescheitert das Ding klickbar zu machen. Interactive hab ich auf true gesetzt, Event Listener und Handler sind gesetzt, aber irgendwie möchte das Ding nicht. Irgendjemand eine Idee? Lässt sich das Material überhaupt anklicken, oder muss ich mir einen Workaround suchen? Danke echo |
| | |
| | #3 (permalink) |
| ° Registriert seit: Aug 2002 Ort: Baden-Baden
Beiträge: 3.962
|
das ist jetzt grade blöd, sitz auf arbeit und hab das script nicht hier. aber es ist wirklich nur eine simple sphere innerhalb eines 3D Containers, innerhalb eines 3D Containers, innerhalb eines 3D Containers. Auf der Sphere ist wirklich nur ein PhongMaterial. Den event listener hab ich auf die Sphere gepackt, also _mySphere.addEventListener(Interactive3D......, meineFunktion); Muss ich den aufs PhongMaterial packen? Geändert von echo5-7 (04-02-2009 um 09:26 Uhr) |
| | |
| | #4 (permalink) |
| {flasher} Registriert seit: Mar 2003 Ort: on water
Beiträge: 2.823
| http://papervision3d.googlecode.com/...ocs/index.html damit kannst du jedes 3dObject interactiv machen, auch eine sphere....das hat nix mit dem verwendeten material zu tun
__________________ hang loose |
| | |
| | #6 (permalink) |
| {flasher} Registriert seit: Mar 2003 Ort: on water
Beiträge: 2.823
|
du kannst die sphere auch nicht auf interactive=true setzen, ich hab grad gesehen, dass mein link nicht richtig funktioniert und nur auf die Dokumentation verlinkt such da mal nach InteractiveScene3DEvent
__________________ hang loose |
| | |
| | #7 (permalink) | |
| ° Registriert seit: Aug 2002 Ort: Baden-Baden
Beiträge: 3.962
| Zitat:
Muss ich jetzt eine extra Instanz dieses Events erzeugen und ihm als Parameter container3D meine Sphere übergeben um sie interaktiv zu machen? Was macht der Sprite Parameter? Ich steh grade auf dem Schlauch und die Doku ist ja auch nicht grade detailiert... | |
| | |
| | #10 (permalink) |
| {flasher} Registriert seit: Mar 2003 Ort: on water
Beiträge: 2.823
|
hier mal ein kleines Beispiel als Dokumentklasse Code: package {
import org.papervision3d.objects.primitives.Sphere;
import org.papervision3d.view.BasicView;
import org.papervision3d.materials.shadematerials.PhongMaterial;
import org.papervision3d.events.InteractiveScene3DEvent;
import org.papervision3d.lights.PointLight3D;
public class SphereDemo extends BasicView {
private var sphere:Sphere;
public function SphereDemo(viewportWidth:Number=600,viewportHeight:Number=400,scaleToStage:Boolean=true,interactive:Boolean=true, cameraType:String = "Free") {
super(viewportWidth,viewportHeight,scaleToStage,interactive, cameraType);
iniObjects();
startRendering();
}
private function _ROLL_OVER(e:InteractiveScene3DEvent):void {
trace("ROLL_OVER");
viewport.buttonMode = true;
}
private function _ROLL_OUT(e:InteractiveScene3DEvent):void {
trace("ROLL_OUT");
viewport.buttonMode = false;
}
private function _CLICK(e:InteractiveScene3DEvent):void {
trace("Clicked: " + e.target);
}
private function iniObjects():void {
var pm:PhongMaterial = new PhongMaterial(new PointLight3D , 0x333333, 0x000000, 10);
pm.interactive = true;
sphere = new Sphere(pm);
scene.addChild(sphere);
sphere.addEventListener(InteractiveScene3DEvent.OBJECT_CLICK, _CLICK);
sphere.addEventListener(InteractiveScene3DEvent.OBJECT_OVER, _ROLL_OVER);
sphere.addEventListener(InteractiveScene3DEvent.OBJECT_OUT, _ROLL_OUT);
}
}
}
__________________ hang loose |
| | |
| | #11 (permalink) |
| ° Registriert seit: Aug 2002 Ort: Baden-Baden
Beiträge: 3.962
|
hi, also ich hab verstanden, das ich einfluss auf den viewport nehmen muss... wenn ich das allerdings mache, dann zeigt er mir gar nichts mehr an. edit: ist das eigentlich normal das der cursor zwischen hand und pfeil hin und her flackert? PHP-Code: Geändert von echo5-7 (04-02-2009 um 20:32 Uhr) |
| | |
| | #12 (permalink) |
| {flasher} Registriert seit: Mar 2003 Ort: on water
Beiträge: 2.823
|
in deinem package so: _view.viewport.buttonMode = true; warum erbt deine klasse von sprite? versuch mal deine klasse nach meinem beispiel aufzubauen, da funktioniert ja alles. wenn sich die maus über einem 3dobjekt befindet siehst du die hand, sonst den pfeil muss jetzt leider ins bett weil ich morgen früh raus muss, kann daher dein beispiel nicht ausprobieren
__________________ hang loose |
| | |
| | #13 (permalink) |
| ° Registriert seit: Aug 2002 Ort: Baden-Baden
Beiträge: 3.962
|
sodala, jetzt hab ich den fehler. ich dackel hab den viewport zuerst auf interactive gestellt und dann die BasicView instanziert. Nur mich wundert warum er da keinen NullObjektverweis gebracht hat. Das mit dem Viewport wusste ich aber vorher noch nicht, insofern, vielen Dank für deine Hilfe |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |