📄 plugincamerarotate.as
字号:
//class pluginCameraRotate { var cam var steps = 50 var fps = 12 var timer var pivot var aFx var aFy var aFz var aSx var aSy var aSz var stepActual var modo function pluginCameraRotate(){ } function onAdd(c){ cam = c } function onRemove(){ stop() cam = null } function start(sx,sy,p){ //aFx = ax //aFy = ay //aFz = az aSx = sx aSy = sy //aSz = aFz/steps pivot = p stepActual = 1 modo = "normal" timer = setInterval(this, "run", 1000/fps) } function startTimer(ax,ay,p,s){ aFx = ax aFy = ay //aFz = az steps = s aSx = aFx/steps aSy = aFy/steps //aSz = aFz/steps pivot = p stepActual = 1 modo = "timer" timer = setInterval(this, "run", 1000/fps) } function stop(){ clearInterval(timer) } function run(){ //var dist3d = Math.sqrt(dif.x*dif.x+dif.y*dif.y+dif.z*dif.z); // //toma la posicion del pivot //trabaja primero sobre el eje x,z //toma la distancia //rota el eje x,z de la camara // //trabaja sobre el eje y,z //toma la distancia //rota el eje z,y de la camara var pco = pivot.getCoordinates() var cco = cam.getCoordinates() var rx = aSx*Math.PI/180 var ry = aSy*Math.PI/180 var xsin = Math.sin(rx) var xcos = Math.cos(rx) var ysin = Math.sin(ry) var ycos = Math.cos(ry) var z = cco.z - pco.z var x = cco.x - pco.x var y = cco.y - pco.y //x var zT = xcos*z-xsin*y var yT = xcos*y+ xsin*z //y var xT = ycos*x-ysin*zT var zT = ycos *zT + ysin*x cam.setCoordinates(pco.x+xT,pco.y+yT,pco.z+zT) if(modo=="timer"){ stepActual++ if(stepActual>=steps){ this.stop() this.onTimer() } } } //evento function onTimer(){ }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -