In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

camera.zの設定?flash8での読み込み

//疑問点が2つあります。
//1.以下のソースが131行目にあるのですがこれを有効にすると最初に表示される文字が反転してしまいます。
//camera.z += (2000 * Math.cos(mouseX / stage.stageWidth * 360 * Math.PI / 360) - camera.z) * .1;
//これを反転させずに有効にする方法がわからず困っております。
//
//2.ローカルで作っているアニメーションがあります。このソースをダウンロードしてその最後に加えたいのですが
//うまくいかず困っております。loadMovieを指定しても、MCのクラスにasファイル名を指定しても、環境設定から
//クラスパスの指定をしてもうまくいきませんでした。
//環境はflash8 proです。
//
//お分かりになる方の書き込みお待ちしております。よろしくお願いいたします。
/**
 * Copyright menboyou ( http://wonderfl.net/user/menboyou )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/uXpy
 */

// forked from menboyou's forked from: forked from: forked from: forked from: forked from: forked from: forked from: forked from: forked from: forked from: flash on 2011-6-5
//疑問点が2つあります。
//1.以下のソースが131行目にあるのですがこれを有効にすると最初に表示される文字が反転してしまいます。
//camera.z += (2000 * Math.cos(mouseX / stage.stageWidth * 360 * Math.PI / 360) - camera.z) * .1;
//これを反転させずに有効にする方法がわからず困っております。
//
//2.ローカルで作っているアニメーションがあります。このソースをダウンロードしてその最後に加えたいのですが
//うまくいかず困っております。loadMovieを指定しても、MCのクラスにasファイル名を指定しても、環境設定から
//クラスパスの指定をしてもうまくいきませんでした。
//環境はflash8 proです。
//
//お分かりになる方の書き込みお待ちしております。よろしくお願いいたします。

package
{
    import flash.display.*;
    import flash.events.*;
    import flash.text.*;

    import flash.display.*;
    import flash.events.*;
    import flash.geom.*;
    import flash.text.*;
    import flash.filters.*;
    import flash.utils.getTimer;
    import org.papervision3d.core.clipping.FrustumClipping;
    import org.papervision3d.core.proto.MaterialObject3D;
    import org.papervision3d.lights.PointLight3D;
    import org.papervision3d.materials.ColorMaterial;
    import org.papervision3d.materials.MovieMaterial;
    import org.papervision3d.materials.shadematerials.FlatShadeMaterial;
    import org.papervision3d.materials.special.CompositeMaterial;
    import org.papervision3d.materials.utils.MaterialsList;
    import org.papervision3d.materials.WireframeMaterial;
    import org.papervision3d.objects.*;
    import org.papervision3d.objects.primitives.*;
    import org.papervision3d.view.BasicView;
    import org.papervision3d.cameras.*;
    import org.papervision3d.materials.special.Letter3DMaterial;
    import org.papervision3d.typography.fonts.HelveticaBold;
    import org.papervision3d.typography.Text3D;
    import org.papervision3d.core.effects.view.ReflectionView;
    import caurina.transitions.properties.CurveModifiers;
    import caurina.transitions.Tweener;

        [SWF(frameRate = "200", backgroundColor = "0xFFFFFF")]
    public class Main extends ReflectionView {        
        private var wrap:DisplayObject3D;

        public function Main()
        {
            super(0, 0, true , false, CameraType.TARGET);//デフォルトのCameraType常にTARGETの方向を移します。
            
            camera.zoom = 1.5;
            camera.focus = 200;
            camera.rotationZ = 30;
            wrap = new DisplayObject3D();//3d空間に空のムービークリップオブジェクトを生成するようなもの
            
            // refrection
            surfaceHeight = 0;
            viewportReflection.alpha = .10;

            renderer.clipping = new FrustumClipping(FrustumClipping.NEAR);//カメラが地面に近すぎると消えてしまうのを防ぐクラス

            var compMat:CompositeMaterial = new CompositeMaterial();//複数の素材を組み合わせるクラス
            compMat.addMaterial(new WireframeMaterial(0x6699FF));//WireframeMaterialはワイヤーフレームの部品を作成する
            compMat.addMaterial(new ColorMaterial(0x6699FF, 0.1, true));//一色のカラーマテリアル(部品)を作成する

            var planeB:Plane = new Plane(compMat, 4000, 4000, 6, 6);//
            planeB.pitch(90)
            scene.addChild(planeB);

            var lettermat:Letter3DMaterial = new Letter3DMaterial();//
            lettermat.fillColor = 0x666999;
            lettermat.oneSide = false;
            var word:Text3D = new Text3D("test" , new HelveticaBold() , lettermat);
                    
            word.x = 0;
            word.y = 200;
            word.z = 0;
            word.scale = 0;

            wrap.addChild(word);
            scene.addChild(wrap);

           Tweener.addTween(word,{scale : 2, time:2, transition:"easeInBounce"});
            this.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
            
            
            var lettermat2:Letter3DMaterial = new Letter3DMaterial();
            lettermat2.fillColor = 0x6699FF;
            lettermat2.oneSide = false;
            var word2:Text3D = new Text3D("test" , new HelveticaBold() , lettermat2);
                    
            word2.x = 0;
            word2.y = 450;
            word2.z = 150;
            word2.scale = 0;

            wrap.addChild(word2);
            scene.addChild(wrap);

           Tweener.addTween(word2,{scale : 2, time:2, transition:"easeInBounce"});
            this.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
            
           
            var lettermat3:Letter3DMaterial = new Letter3DMaterial();
            lettermat3.fillColor = 0x6699FF;
            lettermat3.oneSide = false;
            var word3:Text3D = new Text3D("test" , new HelveticaBold() , lettermat3);
                    
            word3.x = 0;
            word3.y = 800;
            word3.z = 300;
            word3.scale = 0;

            wrap.addChild(word3);
            scene.addChild(wrap);

           Tweener.addTween(word3,{scale : 3, time:2, transition:"easeInBounce"});
            this.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
            
            
Wonderfl.capture(stage);
        }
              
        private function enterFrameHandler(event:Event):void
        {
            camera.x += (2000 * Math.sin(mouseX / stage.stageWidth * 360 * Math.PI / 360) - camera.x) * .1;
            //camera.y += (2000 * Math.tan(mouseY / stage.stageHeight * 360 * Math.PI / 360) - camera.y) * .1;
            camera.y += (2000 * mouseY / stage.stageHeight - camera.y) * .10;
            //camera.z += (2000 * Math.cos(mouseX / stage.stageWidth * 360 * Math.PI / 360) - camera.z) * .1;

            singleRender();
        }
    }
}