Flash CS5 3D立方体中心点不';行不通
我正在使用下面的动作脚本旋转我的立方体 我怎么会有这样的问题,它从错误的中心点旋转,即使我把它设置在中间 我知道这可以通过使用动作脚本来完成,只是想知道语法或任何简单的建议Flash CS5 3D立方体中心点不';行不通,flash,actionscript,3d,flash-cs5,cs4,Flash,Actionscript,3d,Flash Cs5,Cs4,我正在使用下面的动作脚本旋转我的立方体 我怎么会有这样的问题,它从错误的中心点旋转,即使我把它设置在中间 我知道这可以通过使用动作脚本来完成,只是想知道语法或任何简单的建议 function cubeRotate(e:Event){ mycube3d.rotationY = mycube3d.rotationY+1; mycube3d.rotationX = mycube3d.rotationX+1; } stage.addEventListener(Event.ENTER_F
function cubeRotate(e:Event){
mycube3d.rotationY = mycube3d.rotationY+1;
mycube3d.rotationX = mycube3d.rotationX+1;
}
stage.addEventListener(Event.ENTER_FRAME,cubeRotate);
如果您试图通过拖动白色圆圈来更改Flash IDE中的“中心点”,请尝试
将“mycube3d”(或其内容)附在另一部电影中,并将其移动到所需的中心位置
因为.rotationY
将围绕对象的零坐标旋转对象,并忽略ide的中心设置。设置点(book,book.width/2,book.height/2);
setRegPoint(book, book.width / 2, book.height / 2);
function setRegPoint(obj:DisplayObjectContainer, newX:Number, NewY:Number):void {
var bounds:Rectangle = obj.getBounds(obj.parent);
var currentRegZ:Number = obj.z - bounds.top;
var zOffset:Number = -50 - currentRegZ;
obj.z += zOffset;
for(var i:int = 0; i < obj.numChildren; i++) {
obj.getChildAt(i).z -= zOffset;
}
}
function cubeRotate(e:Event){
book.rotationY = book.rotationY+1
book.rotationX = book.rotationX+1
}
stage.addEventListener(Event.ENTER_FRAME,cubeRotate)
函数设置点(obj:DisplayObjectContainer,newX:Number,NewY:Number):void{
变量边界:矩形=obj.getBounds(obj.parent);
var currentRegZ:Number=obj.z-bounds.top;
var zOffset:Number=-50-currentRegZ;
对象z+=zOffset;
for(变量i:int=0;i
您使用什么API绘制立方体?(例如Flash Player 10的绘图API、第三方3D API:Away3D/PV3D等)您如何绘制立方体?您使用的是第三方3D API,立方体是基本体还是从文件加载的网格?你能提供定义/设置mycube3d的代码吗?我已经解决了这个问题,将在另一篇文章中发布完整的项目。