| |||||||
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) |
| Neuer User Registriert seit: Sep 2005
Beiträge: 28
| Objekt drehen und färben (Flex und Papervision)
Ich habe ein Tutorial gemacht, um einen Gegenstand mit verschiedenen Farben zu versehen. Leider klappt das ganze nicht so wie ich mir das gedacht habe. Wie ich es auch anstelle, das "Cycle" bleibt schwarz. Es hat nicht mal die rote Ausgangsfarbe. Habt ihr vielleicht ne Ahnung, woran das liegen könnte? Was mir auch noch ein Rätsel ist ist, wie ich das Objekt drehen kann. Im Idealfall will ich auch daran vorbeigehen, zoomen usw. Aber eins nach de anderen. Link zum Tutorial: http://www.sitepoint.com/article/cre...-viewer-flex-3 Code: <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal"
creationComplete="onInit(event);">
<mx:Script>
<![CDATA[
import org.papervision3d.materials.shadematerials.FlatShadeMaterial;
import mx.utils.ColorUtil;
import mx.core.UIComponent;
import org.papervision3d.materials.utils.MaterialsList;
import mx.core.UIComponent;
import org.papervision3d.cameras.FreeCamera3D;
import org.papervision3d.render.BasicRenderEngine;
import org.papervision3d.objects.parsers.DAE;
import org.papervision3d.objects.DisplayObject3D;
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.view.Viewport3D;
import org.papervision3d.lights.PointLight3D;
private var renderer:BasicRenderEngine = new BasicRenderEngine();
private var scene:Scene3D = new Scene3D();
private var camera:FreeCamera3D = new FreeCamera3D();
private var viewport:Viewport3D = new Viewport3D( 200, 200, true, true );
private var model:DisplayObject3D = null;
[Embed(source="assets/cycle.dae", mimeType="application/octet-stream")] private var MyModel:Class;
protected function onInit( event:Event ) : void {
var flexComp:UIComponent = new UIComponent();
cnvUnderneath.addChild( flexComp );
flexComp.addChild( viewport );
loadModel();
camera.y = -2700;
camera.x = 0;
camera.z = 2000;
camera.zoom = 50;
camera.lookAt( model );
addEventListener(Event.ENTER_FRAME,onEnterFrame);
}
private function loadModel() : void {
if ( model != null )
scene.removeChild( model );
var light:PointLight3D = new PointLight3D( true,true );
light.z = -2000;
light.x = 500;
light.y = 500;
var lightColor:uint = 0x111111;
var modelCol:DAE = new DAE();
modelCol.scale = 1.1;
modelCol.load( XML( new MyModel() ), new MaterialsList( {
material0:new FlatShadeMaterial( light, 0x000000, lightColor ),
ForegroundColor:new FlatShadeMaterial( light, 0x000000, lightColor ),
material1:new FlatShadeMaterial( light, clrPicker.selectedColor,
lightColor ),
material2:new FlatShadeMaterial( light,
mx.utils.ColorUtil.adjustBrightness(clrPicker.selectedColor,-20), lightColor ),
FrontColor:new FlatShadeMaterial( light, 0xFFFFFF, lightColor ),
material3:new FlatShadeMaterial( light, 0x000099, lightColor ),
material4:new FlatShadeMaterial( light,
mx.utils.ColorUtil.adjustBrightness(clrPicker.selectedColor,-200), lightColor )
} ) );
modelCol.roll( 28 );
model = scene.addChild( modelCol );
light.lookAt(model);
}
private function onEnterFrame( event : Event ):void
{
renderer.renderScene(scene,camera,viewport);
}
]]>
</mx:Script>
<mx:Panel title="Properties">
<mx:Form>
<mx:FormItem label="Color">
<mx:ColorPicker id="clrPicker" selectedColor="#8888DD"
change="loadModel();" />
</mx:FormItem>
</mx:Form>
</mx:Panel>
<mx:Canvas id="cnvUnderneath" width="100%" height="100%" />
</mx:Application> |
| | |
| | #2 (permalink) |
| Neuer User Registriert seit: Sep 2005
Beiträge: 28
|
Hab inzwischen herausgefunden, dass das Licht zu dunkel war. var lightColor:uint = 0x111111; Wenn man hier die Werte in 0xFFFFFF ändert, sieht man wenigstens ein schwarz-weiß-Bild des Ganzen. Nur leider wird es immer noch nichts mit dem Farbe ändern über den ColorPicker und mit dem Drehen und Zoomen klappt leider auch noch nix. Hat niemand eine Idee? Über modelCol.rotationZ = 0; lässt sich ja schon was drehen, aber leider nicht direkt im swf mit der Mouse. |
| | |
| | #3 (permalink) |
| Flash addicted Registriert seit: Sep 2003 Ort: München
Beiträge: 371
|
Hi lila, hier ien kleines "dreh" Beispiel: PHP-Code: Das ist nur ein kleines Beispiel wie man die verwendete(n) Kamera drehen kann. Grüßend, tm2003
__________________ Der Optimist glaubt in der besten aller Welten zu leben und der Pessimist fürchtet, dass es wahr ist! Wer nicht alles weiß, kann alles noch immer lernen! |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Sep 2005
Beiträge: 28
|
Mache ich irgendwas grundsätzlich falsch? Ich hab mir jetzt mal ein einfacheres Beispiel gesucht (hier aus dem Forum), aber jetzt sehe ich das Objekt (Ebene) gar nicht mehr. Anbei der Code, vielleicht findet ja jemand den Fehler. Langsam bin ich deprimiert. PHP-Code: |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |