`

[转] [Flash/Flex] 支持 Molehill版本的Flare3D 应用示范

阅读更多
http://bbs.9ria.com/thread-79532-1-1.html


我已经看到很多使用Away3D新版本创建的Molehill 3D范例。但是还有很多其他的3D引擎也将支持Molehill啊。Flare3D就挺好,他们也发布了一个支持Molehill的预览版。这个引擎基于Argentina。下面的范例演示了如何动态加载位图到3D planes模型。它用到了TwitPic API。你输入Twitter ID,它会以3D显示显示这些照片。点击下面的图片来观看范例,再下面是源代码。

  
 public class MoleTest extends Sprite
    {
       
        private var scene:Scene3D;
        private var planes:Vector.<Plane> = new Vector.<Plane>();
        private var shaders:Vector.<Shader3D> = new Vector.<Shader3D>();
        private var numOfImages:int;
        private var txt:Text;
        private var images:XMLList;
       
        public function MoleTest()
        {
            Security.allowDomain("s3.amazonaws.com");
            Security.loadPolicyFile("s3.amazonaws.com/crossdomain.xml");
            var it:InputText = new InputText(this, 50, 50, "leebrimelow");
            it.setSize(130, 20);
            addChild(it);
            var butt:PushButton = new PushButton(this, 200, 50, "Submit", function():void {
                getPics(it.text);  
                removeChild(butt);
                removeChild(it);
            });
            addChild(butt);
        }
       
        private function setup3D():void
        {
            txt = new Text(this,375,280,"LOADING");
            txt.setSize(50, 20);
            addChild(txt);
            scene = new Scene3D(this);
            scene.addEventListener(Scene3D.COMPLETE_EVENT, completeEvent);
            scene.addEventListener(Scene3D.UPDATE_EVENT, updateEvent);
            scene.camera.setPosition(0, 0, -1500);
           
            for(var i:int=0; i<numOfImages; i++)
            {
                var texture0:Texture3D = scene.addTextureFromFile("http://twitpic.com/show/full/"+images[i].short_id);
                shaders[i] = new Shader3D("shader"+i);
                shaders[i].twoSided = true;
                shaders[i].layers.push(new TextureMapLayer(texture0));
                shaders[i].build();
                planes[i] = new Plane("plane"+i, images[i].width, images[i].height);
                scene.addChild(planes[i]);
            }
        }
       
        private function completeEvent(e:Event):void
        {
            removeChild(txt);
            for(var i:int=0; i<numOfImages; i++)
            {
                planes[i].setMaterial(shaders[i]);
                planes[i].x = Math.random()*2000-1000;
                planes[i].y = Math.random()*2000-1000;
                planes[i].z = Math.random()*2000-1000;
            }
        }
       
        private function getPics(tname:String):void
        {
            var loader:URLLoader = new URLLoader();
            loader.addEventListener(Event.COMPLETE, function(e:Event):void {
                var xml:XML = XML(loader.data);
                images = xml.images.image;     
                numOfImages = images.length();
                setup3D();
            });
            try {
                // TwitPic has no cross-domain file so you will need to proxy it
                loader.load(new URLRequest(YOUR_PHP_PROXY_SCRIPT));
            }
            catch(e:Error) {
                trace(e.message);
            }
        }
       
        private function updateEvent(e:Event):void
        {
            if ( Input3D.mouseDown )
            {
                scene.camera.rotateY(Input3D.mouseXSpeed, false, Vector3DUtils.ZERO );
                scene.camera.rotateX(Input3D.mouseYSpeed, true, Vector3DUtils.ZERO );
            }
           
            scene.camera.translateZ( scene.camera.getPosition().length * Input3D.delta / 20 );
           
            scene.defaultLight.rotateY( 2 );
        }
    }
分享到:
评论

相关推荐

    flash 3d 源码 (flare3d 引擎)

    《Flare3D引擎在Flash 3D游戏开发中的应用》 在当今的数字娱乐领域,3D图形技术已经成为了游戏开发的重要组成部分。Flash 3D技术,作为Web上实现3D互动体验的一种方式,凭借其跨平台和广泛的浏览器支持,受到了众多...

    FlashDevelop + FlashPlayer11(Molehill) + Away3D 4.0 Alpha配置

    随着3D技术在Web领域的应用日益广泛,Adobe Flash平台也推出了针对3D图形处理的支持。其中,FlashPlayer11通过引入代号为Molehill的新功能,为开发者提供了强大的GPU加速3D渲染能力。同时,结合Away3D这样的开源3D...

    flash3d的molehill参考资料

    Molehill是Adobe Flash Player的一个底层API,提供了对硬件加速3D图形的支持,使得开发者能够创建出更加生动、交互性更强的3D网页应用。以下是对这一技术的详细解释: 1. **Molehill API**:Molehill是Adobe发布的...

    源码Adobe Flash 11 Stage3D (Molehill) Game Programming Beginner's Guide

    《源码Adobe Flash 11 Stage3D (Molehill) Game Programming Beginner's Guide》是针对初学者的一本深入解析Adobe Flash 11中的Stage3D(Molehill)技术的游戏编程指南。这本书通过一系列章节的示例代码,旨在帮助...

    Adobe Flash 11 Stage3D (Molehill) Game Programming Beginner 书源码

    这一改进使得Flash能够支持复杂的3D游戏、应用程序和互动体验,与Unity和WebGL等其他3D技术相媲美。 源代码中包含的文件"1680_Stage3D_Code"可能是一个章节或项目的名字,这通常代表着一系列逐步构建的示例,涵盖从...

    Adobe Flash 11 Stage3D Molehill Game Programming Beginners Guide

    ### Adobe Flash 11 Stage3D (Molehill) Game Programming Beginner's Guide #### 书籍概览 《Adobe Flash 11 Stage3D (Molehill) Game Programming Beginner's Guide》是一本专为初学者设计的3D游戏编程指南。...

    Adobe Flash 11 Stage3D (Molehill) Game Programming Beginner's Guide

    Adobe Flash 11引入了一项革命性的技术,Stage3D(又称为Molehill),它为游戏开发者提供了在Flash平台上构建高性能、低延迟的3D图形应用的能力。这本书《Adobe Flash 11 Stage3D (Molehill) Game Programming ...

    Adobe Flash 11 Stage3D (Molehill) Game Programming Beginner's Guide.pdf

    ### Adobe Flash 11 Stage3D (Molehill) Game Programming Beginner's Guide #### 标题解析 **Adobe Flash 11 Stage3D (Molehill) Game Programming Beginner's Guide** 这个标题包含了几个重要的关键词:Adobe ...

    在Flash Builder中搭建Molehill的开发测试环境

    在Flash Builder中搭建Molehill的开发测试环境;在Flash Builder中搭建Molehill的开发测试环境

    [转]Flash ‘Molehill’ API上的GPU加速2D框架-M2D

    **标题解析:**“Flash ‘Molehill’ API上的GPU加速2D框架-M2D”指的是一项技术,它利用了Adobe Flash平台中的Molehill API来实现2D图形的GPU加速。M2D(可能是“Molehill 2D”的缩写)引擎是一个专门设计用于提高2...

    全新Flash 3D APIs

    此外,这一版本引入了3D支持到Flash内容中,使得2D和3D内容可以独立存在,进一步提升了用户体验。 #### 积极意义 Molehill的推出对于整个Web Game行业以及其他需要3D支持的领域来说具有重要意义: - **满足市场...

    Packt.Adobe.Flash.11.Stage3D.(Molehill).Game.Programming.Beginner's.Guide

    《Adobe Flash 11 Stage3D (Molehill) 游戏编程初学者指南》这本书是为想要利用Adobe Flash平台进行3D游戏开发的初学者准备的。Flash Stage3D,又名Molehill,是Adobe引入的一个重要的图形加速技术,它显著提升了...

    flash3d电子文件

    2008年10月,Flash版本10进一步引入了对3D属性的支持,比如z轴和rotationX,这使得开发者可以更容易地创建3D效果。此外,内置的API允许开发者直接绘制空间中的三角形,并处理透视效果,这为实现真实感的3D世界提供了...

    nd2d:Flash Molehill(Stage3D)GPU加速2D游戏引擎

    ND2D-Flash Molehill(Stage3D)GPU加速的2D引擎。 ND2D是使用Flash的新GPU硬件功能的2D框架。 要运行此引擎,您必须下载并安装最新的Flash Player: 您必须使用FP11 playerglobal.swc和编译器选项-swf-version = ...

    [转]M2D的介绍——针对Flash ‘Molehill’ API的GPU加速2D框架

    然而,随着硬件加速的需求日益增长,Flash也适时推出了'Molehill' API,为2D和3D图形渲染提供了强大的GPU支持。在这个背景下,M2D(Molehill 2D)应运而生,它是一个专门针对Molehill API设计的2D框架,旨在利用现代...

Global site tag (gtag.js) - Google Analytics