智慧 + 毅力 = 无所不能

正确性、健壮性、可靠性、效率、易用性、可读性、可复用性、兼容性、可移植性...
随笔 - 991, 文章 - 0, 评论 - 27, 阅读 - 341万

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

Papervision3D Proximity Grid Example

Posted on   Bill Yuan  阅读(779)  评论(0编辑  收藏  举报

转自: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;
}
复制代码

 

 

 

(评论功能已被禁用)
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示