TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
at EfectoProfundidad2_fla::MainTimeline/frame1()
Estoy intentando hace un efecto de profundidad de la web http://www.sargentoweb.com/as3/?doc=16
Lo he puesto tal y como me pone, total que ahora despues de unas modificaciones lo tengo asi:
Código ActionScript :
import fl.transitions.Tween;
import fl.transitions.easing.*;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.display.StageDisplayState;
var Flor:MovieClip;
var M1:MovieClip;
var M2:MovieClip;
var M3:MovieClip;
var M4:MovieClip;
var M5:MovieClip;
var profundidad:Number;
Flor.origenX=Flor.x;
Flor.origenY=Flor.y;
M1.origenX=M1.x;
M1.origenY=M1.y;
M2.origenX=M2.x;
M2.origenY=M2.y;
M3.origenX=M3.x;
M3.origenY=M3.y;
M4.origenX=M4.x;
M4.origenY=M4.y;
M5.origenX=M5.x;
M5.origenY=M5.y;
//VALORES DE PROFUNDIDAD
Flor.profundidad=10;
M1.profundidad=24;
M2.profundidad=54;
M3.profundidad=145;
M4.profundidad=90;
M5.profundidad=35;
var arrObjetos:Array = new Array();
arrObjetos.push({name:"Flor", profundidad:"10"});
arrObjetos.push({name:"M1", profundidad:"24"});
arrObjetos.push({name:"M2", profundidad:"54"});
arrObjetos.sortOn("profundidad", Array.NUMERIC);
for (var i:int = 0; i < arrObjetos.length; ++i) {
arrObjetos[i].addEventListener(Event.ENTER_FRAME.fmover);
addChild(arrObjetos [ i ] );
//trace(poets[i].name, poets[i].born);
}
/* output:
Wang 701
Dante 1265
Blake 1757
cummings 1894
Angelou 1928
*/
//CREAMOS UN ARRAY CON LOS OBJETOS QUE VAMOS A ORDENAR
//var arrObjetos:Array=new Array(Flor,M1,M2,M3,M4,M5);
//REORDENAMOS EL ARRAY, TOMANDO "PROFUNDIDAD" COMO PARAMETRO DEL ORDEN
//arrObjetos.sortOn( "profundidad", Array.NUMERIC );
//ITERAMOS ENTRE EL ARRAY REORDENADO
//for (var i:int = 0; i < arrObjetos.length; i++) {
//arrObjetos[i].addEventListener(Event.ENTER_FRAME.fmover);
//AGREGAMOS LOS OBJETOS POR SU ORDEN DE PROFUNIDAD
//addChild(arrObjetos [ i ] );
//}
var ratonX:Number;
var ratonY:Number;
var destX:Number;
var destY:Number;
function fmover(event:Event):void {
//OBTENEMOS LA POSICION EN X ( -1 <= x <= 1 )
ratonX = ((stage.stageWidth / 2) - stage.mouseX) / (stage.stageWidth / 2);
ratonY = ((stage.stageHeight / 2) - stage.mouseY) / (stage.stageHeight / 2);
//OBTENEMOS EL DESTINO X FINAL DEL OBJETO
destX = event.target.origenX + (ratonX * event.target.profundidad);
//EVALUAMOS LA DIFERENCIA ACTUAL Y AUMENTAMOS UNA FRACCION
event.target.x += (destX - event.target.x)/8;
//OBTENEMOS EL DESTINO Y FINAL DEL OBJETO
destY = event.target.origenY + (ratonY * event.target.profundidad);
//EVALUAMOS LA DIFERENCIA ACTUAL Y AUMENTAMOS UNA FRACCION
event.target.y += (destY - event.target.y)/8;
//AJUSTAMOS LA POSICION DEL OBJETO
event.target.x = event.target.origenX + (ratonX + event.target.profundidad);
event.target.y = event.target.origenY + (ratonY + event.target.profundidad);
}A ver si alguien me puede echar un cable y si es de Barna le invito a unas Birras...
Saludos
