Problema con script de pendulo
Publicado por Hugo (1 intervención) el 05/01/2007 12:44:32
hola gente, tengo un problema con este script, si alguien me puede ayudar... gracias!:
//funcion arrastrar
arrastrar = function(MX, MY, CX, CY){
var DX:Number = MX - CX;
var DY:Number = MY - CY;
var AT:Number = Math.atan(DY/DX)*180/Math.PI;
//comportamiento
if(DX >= 0){
if(DY >= 0){
angulo = AT;
}else{
angulo = AT + 360;
};
};
if(DX < 0){
if (DY > 0){
angulo = AT + 180;
}else{
angulo = AT + 180;
};
};
return angulo;
};
arrastra01;
arrastra02;
//empezar y parar el arrastre
menuSup_mc.menu_sup_btn.onPress = function(){
_parent.menu_mc.startDrag(false, 30, 20, 520, 380);
};
menuSup_mc.menu_sup_btn.onRelease = function(){
_parent.menu_mc.stopDrag();
};
//script guiaM
guiaM_mc.onLoad = function(){
var punto = new Object();
this._visible = 0;
};
guiaM_mc.onEnterFrame = function(){
punto.x = menuInf_mc.xypos_mc._x;
punto.y = menuInf_mc.xypos_mc._y;
menuInf_mc.localToGlobal(punto);
this._x = punto.x;
this._y = punto.y;
};
//script guiaC01 cuerda frontal
guiaC01_mc.onLoad = function(){
var punto = new Object();
this._visible = 0;
};
guiaC01_mc.onEnterFrame = function(){
punto.x = cordon_ant_mc.xypos_mc._x;
punto.y = cordon_ant_mc.xypos_mc._y;
cordon_ant_mc.localToGlobal(punto);
this._x = punto.x;
this._y = punto.y;
};
//script guiaC02 cuerda dorsal
guiaC02_mc.onLoad = function(){
var punto = new Object();
this._visible = 0;
};
guiaC02_mc.onEnterFrame = function(){
punto.x = cordon_post_mc.xypos_mc._x;
punto.y = cordon_post_mc.xypos_mc._y;
cordon_post_mc.localToGlobal(punto);
this._x = punto.x;
this._y = punto.y;
};
//················································································
//script cordon anterior
cordon_ant_mc.onLoad = function(){
var nuevaX:Number;
var viejaX:Number = _x;
var altura:Number = _height;
var arrastre;
var punto = new Object();
};
cordon_ant_mc.onEnterFrame = function(){
_x = menuSup_mc._x;
_y = menuSup_mc._y;
//comportamiento
if(arrastra01 == 1){
CX = menuSup_mc._x;
CY = menuSup_mc._y;
MX = _root._xmouse;
MY = _root._ymouse;
_rotation = arrastrar(MX, MY, CX, CY) - 90;
}else{
var nuevaX:Number = _x;
var nuevaY:Number = _y;
var veloX:Number = (viejaX/nuevaX)/20;
var veloY:Number = (viejaY/nuevaY)/20;
viejaX = nuevaX;
viejaY = nuevaY;
punto.x = cordon_ant_mc.xypos_mc._x;
punto.y = cordon_ant_mc.xypos_mc._y;
localToGlobal(punto);
friccion = 0.99;
var xPos:Number = punto.x - menuSup_mc._x;
var g:Number = -9.8;
var a:Number = xPos/altura*g;
var veloRot = (veloX/10 + veloRot + a)*friccion;
_rotation -= veloRot;
};
};
//script cordon posterior
cordon_post_mc.onLoad = function(){
var nuevaX:Number;
var viejaX:Number = _x;
var altura:Number = _height;
var arrastre;
var punto = new Object();
};
cordon_post_mc.onEnterFrame = function(){
_x = menuSup_mc._x;
_y = menuSup_mc._y;
//comportamiento
if(arrastra01 == 1){
CX = menuSup_mc._x;
CY = menuSup_mc._y;
MX = _root._xmouse;
MY = _root._ymouse;
_rotation = arrastrar(MX, MY, CX, CY) - 90;
}else{
var nuevaX:Number = _x;
var nuevaY:Number = _y;
var veloX:Number = (viejaX/nuevaX)/20;
var veloY:Number = (viejaY/nuevaY)/20;
viejaX = nuevaX;
viejaY = nuevaY;
punto.x = cordon_post_mc.xypos_mc._x;
punto.y = cordon_post_mc.xypos_mc._y;
localToGlobal(punto);
friccion = 0.99;
var xPos:Number = punto.x - menuSup_mc._x;
var g:Number = -9.8;
var a:Number = xPos/altura*g;
var veloRot = (veloX/10 + veloRot + a)*friccion;
_rotation -= veloRot;
};
};
//script menu inferior
menuInf_mc.onLoad = function(){
var nuevaX:Number;
var viejaX:Number = _x;
var altura:Number = _height;
var punto = new Object();
};
menuInf_mc.onEnterFrame = function(){
_x = guiaM_mc._x;
_y = guiaM_mc._y;
//comportamiento
if(arrastra02 == 1){
CX = guiaM_mc._x;
CY = guiaM_mc._y;
MX = _root._xmouse;
MY = _root._ymouse;
_rotation = arrastrar(MX, MY, CX, CY) - 90;
}else{
var nuevaX:Number = menuInf_mc.xypos_mc._x;
var nuevaY:Number = menuInf_mc.xypos_mc._x;
localToGlobal(punto);
friccion = 0.99;
var xPos:Number = punto.x - guiaM_mc._x;
var g:Number = -9.8;
var a:Number = xPos/altura*g;
var veloRot = (veloX/10 + veloRot + a)*friccion;
_rotation -= veloRot;
};
};
//funcion arrastrar
arrastrar = function(MX, MY, CX, CY){
var DX:Number = MX - CX;
var DY:Number = MY - CY;
var AT:Number = Math.atan(DY/DX)*180/Math.PI;
//comportamiento
if(DX >= 0){
if(DY >= 0){
angulo = AT;
}else{
angulo = AT + 360;
};
};
if(DX < 0){
if (DY > 0){
angulo = AT + 180;
}else{
angulo = AT + 180;
};
};
return angulo;
};
arrastra01;
arrastra02;
//empezar y parar el arrastre
menuSup_mc.menu_sup_btn.onPress = function(){
_parent.menu_mc.startDrag(false, 30, 20, 520, 380);
};
menuSup_mc.menu_sup_btn.onRelease = function(){
_parent.menu_mc.stopDrag();
};
//script guiaM
guiaM_mc.onLoad = function(){
var punto = new Object();
this._visible = 0;
};
guiaM_mc.onEnterFrame = function(){
punto.x = menuInf_mc.xypos_mc._x;
punto.y = menuInf_mc.xypos_mc._y;
menuInf_mc.localToGlobal(punto);
this._x = punto.x;
this._y = punto.y;
};
//script guiaC01 cuerda frontal
guiaC01_mc.onLoad = function(){
var punto = new Object();
this._visible = 0;
};
guiaC01_mc.onEnterFrame = function(){
punto.x = cordon_ant_mc.xypos_mc._x;
punto.y = cordon_ant_mc.xypos_mc._y;
cordon_ant_mc.localToGlobal(punto);
this._x = punto.x;
this._y = punto.y;
};
//script guiaC02 cuerda dorsal
guiaC02_mc.onLoad = function(){
var punto = new Object();
this._visible = 0;
};
guiaC02_mc.onEnterFrame = function(){
punto.x = cordon_post_mc.xypos_mc._x;
punto.y = cordon_post_mc.xypos_mc._y;
cordon_post_mc.localToGlobal(punto);
this._x = punto.x;
this._y = punto.y;
};
//················································································
//script cordon anterior
cordon_ant_mc.onLoad = function(){
var nuevaX:Number;
var viejaX:Number = _x;
var altura:Number = _height;
var arrastre;
var punto = new Object();
};
cordon_ant_mc.onEnterFrame = function(){
_x = menuSup_mc._x;
_y = menuSup_mc._y;
//comportamiento
if(arrastra01 == 1){
CX = menuSup_mc._x;
CY = menuSup_mc._y;
MX = _root._xmouse;
MY = _root._ymouse;
_rotation = arrastrar(MX, MY, CX, CY) - 90;
}else{
var nuevaX:Number = _x;
var nuevaY:Number = _y;
var veloX:Number = (viejaX/nuevaX)/20;
var veloY:Number = (viejaY/nuevaY)/20;
viejaX = nuevaX;
viejaY = nuevaY;
punto.x = cordon_ant_mc.xypos_mc._x;
punto.y = cordon_ant_mc.xypos_mc._y;
localToGlobal(punto);
friccion = 0.99;
var xPos:Number = punto.x - menuSup_mc._x;
var g:Number = -9.8;
var a:Number = xPos/altura*g;
var veloRot = (veloX/10 + veloRot + a)*friccion;
_rotation -= veloRot;
};
};
//script cordon posterior
cordon_post_mc.onLoad = function(){
var nuevaX:Number;
var viejaX:Number = _x;
var altura:Number = _height;
var arrastre;
var punto = new Object();
};
cordon_post_mc.onEnterFrame = function(){
_x = menuSup_mc._x;
_y = menuSup_mc._y;
//comportamiento
if(arrastra01 == 1){
CX = menuSup_mc._x;
CY = menuSup_mc._y;
MX = _root._xmouse;
MY = _root._ymouse;
_rotation = arrastrar(MX, MY, CX, CY) - 90;
}else{
var nuevaX:Number = _x;
var nuevaY:Number = _y;
var veloX:Number = (viejaX/nuevaX)/20;
var veloY:Number = (viejaY/nuevaY)/20;
viejaX = nuevaX;
viejaY = nuevaY;
punto.x = cordon_post_mc.xypos_mc._x;
punto.y = cordon_post_mc.xypos_mc._y;
localToGlobal(punto);
friccion = 0.99;
var xPos:Number = punto.x - menuSup_mc._x;
var g:Number = -9.8;
var a:Number = xPos/altura*g;
var veloRot = (veloX/10 + veloRot + a)*friccion;
_rotation -= veloRot;
};
};
//script menu inferior
menuInf_mc.onLoad = function(){
var nuevaX:Number;
var viejaX:Number = _x;
var altura:Number = _height;
var punto = new Object();
};
menuInf_mc.onEnterFrame = function(){
_x = guiaM_mc._x;
_y = guiaM_mc._y;
//comportamiento
if(arrastra02 == 1){
CX = guiaM_mc._x;
CY = guiaM_mc._y;
MX = _root._xmouse;
MY = _root._ymouse;
_rotation = arrastrar(MX, MY, CX, CY) - 90;
}else{
var nuevaX:Number = menuInf_mc.xypos_mc._x;
var nuevaY:Number = menuInf_mc.xypos_mc._x;
localToGlobal(punto);
friccion = 0.99;
var xPos:Number = punto.x - guiaM_mc._x;
var g:Number = -9.8;
var a:Number = xPos/altura*g;
var veloRot = (veloX/10 + veloRot + a)*friccion;
_rotation -= veloRot;
};
};
Valora esta pregunta
0