zoukankan      html  css  js  c++  java
  • Papervision3D Proximity Grid Example

    转自:http://www.duzengqiang.com/blog/post/548.html

    效果:

    代码
    import org.papervision3d.scenes.*;
    import org.papervision3d.cameras.*;
    import org.papervision3d.objects.*;
    import org.papervision3d.materials.*;
    import caurina.transitions.*;

    // Create the container sprite
    var con:Sprite = new Sprite();
    con.x
    = stage.stageWidth * 0.5300;
    con.y
    = stage.stageHeight * 0.5 + 250;
    addChild(con);

    // Setup the scene
    var scene:Scene3D = new Scene3D(con);
    var cam:Camera3D
    = new Camera3D();
    cam.zoom
    = 11;
    cam.x
    = 250;
    cam.y
    = 250;

    // Create the planes
    var pa:Array = new Array();
    for(var i:uint=0; i<10; i++)
    {
    for(var j:uint=0; j<10; j++)
    {
    var cm:ColorMaterial
    = new ColorMaterial(Math.random()*0xFFFFFF);
    cm.oneSide
    = false;
    var p:Plane
    = new Plane(cm, 50, 50);
    p.x
    = j * 50 + 25;
    p.y
    = i * 50 + 25;
    scene.addChild(p);
    pa.push({pl:p, rotY:Math.random()
    * 360, rotZ:Math.random() * 360, z:Math.random() * 30000});
    p.rotationY
    = pa[i].rotY;
    p.rotationZ
    = pa[i].rotZ;
    p.z
    = pa[i].z;
    }
    }

    // Create the render loop
    addEventListener(Event.ENTER_FRAME, render);

    function render(e:Event):
    void
    {
    for(var i:uint; i
    {
    if(checkDist(pa[i].pl))
    {
    Tweener.addTween(pa[i].pl, {rotationY:
    0, rotationZ:0, z:0, time:0.3});
    }
    else
    {
    Tweener.addTween(pa[i].pl, {rotationY:pa[i].rotY, rotationZ:pa[i].rotZ, z:pa[i].z, time:
    3});
    }
    }
    scene.renderCamera(cam);
    }

    function checkDist(p:Plane):Boolean
    {
    var p1:Point
    = new Point(p.x, p.y);
    var p2:Point
    = new Point(con.mouseX, -con.mouseY);
    if(Point.distance(p1, p2) < 150)
    {
    return true;
    }
    else return false;
    }

  • 相关阅读:
    android 获取字体宽高
    android 渐变
    android 拖动按钮
    android 模拟器使用
    android 启动其它apk
    How to solve Error: This attribute must be localized. 两种方式
    Chirp用音频 传输文件
    android 打开指定网页
    防止apk被反编译
    iphone 滑块制作
  • 原文地址:https://www.cnblogs.com/sevenyuan/p/1755595.html
Copyright © 2011-2022 走看看