[OK]をクリックします。
私はMovieAssetMaterialで動作させようとしましたが、運はありません。 MovieAssetMaterial内でステージをトレースすると、ステージはnullになります。そのため、スクロールペインが正しく動作しないのはなぜかと思います。それはコンテナなので、適切に設定する段階が必要です。
私は、スクロールペイン200x200をペーパービジョンプレーンで取得し、対処法のビットを使用して対話しました。ここに私のコードは次のとおりです。
package{
import org.papervision3d.*;
import org.papervision3d.view.*;
import org.papervision3d.cameras.*;
import org.papervision3d.materials.*;
import org.papervision3d.objects.*;
import org.papervision3d.objects.primitives.*;
import org.papervision3d.scenes.*;
import org.papervision3d.render.*;
import flash.display.*;
import flash.events.*;
import fl.controls.*;
import fl.containers.*;
public class PV3DScrollPane extends MovieClip{
private var viewport:Viewport3D;
private var camera:Camera3D;
private var scene:Scene3D;
private var renderer:BasicRenderEngine;
private var plane:Plane;
public function PV3DScrollPane(){
init3D();
}
private function init3D():void
{
//setup 3d
viewport = new Viewport3D(1024, 768, false, true);
addChild(viewport);
camera = new Camera3D();
camera.z = -500;
camera.zoom = 1;
camera.focus = 500;
camera.target = DisplayObject3D.ZERO;
scene = new Scene3D();
renderer = new BasicRenderEngine();
//setup plane
plane = makePlane();
stage.addEventListener(Event.ENTER_FRAME, loop);
}
public function makePlane():Plane
{
//setup scroll pane
var sp:ScrollPane = new ScrollPane();
addChild(sp);
sp.x = 1000;//hide it off stage, visible doesn't help much
sp.source = 'http://www.helpexamples.com/flash/images/image1.jpg';
sp.setSize(200, 200);
//setup material & plane
var mat:MovieMaterial = new MovieMaterial(sp, false, true, false);
mat.interactive = true;
var plane:Plane = new Plane(mat, 0, 0, 10, 10);
scene.addChild(plane);
return plane;
}
private function loop(evt:Event):void
{
//plane.rotationY++;
renderer.renderScene(scene, camera, viewport);
}
}
}
と説明: 私はBasicViewを使用してみましたが、私はオールドスクールシーンを作成する方法、カメラ、レンダリングされたビューポートを使用するので、私は同じ結果を得ることができませんでした。 ScrollPaneにステージが必要なので、ステージに追加してからサイズを設定しました。 私はScrollPaneを使ってMovieMaterialを作成し、対話性をtrueに設定しました。 私はステージから外すことによってコンポーネントを隠しました。表示をfalseに設定すると100x100の問題に戻ります。
私はpapervisionで使用するUIコンポーネントを思い出したので、私は少しGoogleを使いました。そしてそれは事実である、彼らはを働かせた。 Hereは私が思い出した投稿です。 Blitz Agencyにも同様の投稿があります。 InteractiveMovieMaterial.asはGoogleであれば見つかるかもしれませんが、現在のバージョンのpapervisionでは動作しません。drawFace3Dメソッドがなくなったため、少し変化しました。修正を加えた後、この問題について新しい(2008)blog post on John Grden's websiteが見つかりました。このアプローチには類似点がありますが、私はまだその問題をすべて解決しませんでした。
希望すると便利です。
ありがとうございます! John Grdenの記事は本当に助けになりました。 –
クール!あなたがそれを整理してうれしい。私はものが動作しないときにそれがあなた自身のせいではない嫌い:) –