Hola, que tal, mucho gusto de conocerlos ^_^, Soy un estudiante de Dis. Gráfico. No soy muy experto en lo q es flash y AS 3.. pero eb verdad me gusta mucho, sobretodo a la hora de hacer minijuegos ^^
Bueno, esta pregunta es para completar mi proyecto final de este semestre.
Lo que pasa es q desde un fla principal quiero llamar a un swf (el cual trabaje en un fla aparte, con su archivo .as respectivo.. lo que pasa es q cada nivel tendrá su swf distinto, y en el fla principal se llaman a los respectivos)
Pero cuando quiero colocar el primer swf en mi fla principal, recib este error:
TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
at cuarto$iinit()
Pero cuanto trato con otros swf (unos q no hice yo, y q supongo no tienen mucho código o no cuentan con él..) estos cargan de forma normal (es mñas, llegué a cargar uno que hasta contaba con un botón y su función respectiva).. asi q supongo q mi problema está en el swf "cuarto"
Les copiaré los .as tanto del principal como el de "cuarto"
.as de Principal:
package{
import flash.display.MovieClip
import flash.events.Event
import flash.display.Loader
import flash.net.URLRequest
public class principal extends MovieClip {
var miRuta:URLRequest= new URLRequest()
var miLoader:Loader=new Loader()
public function principal() {
miRuta.url="cuarto.swf"
miLoader.load(miRuta)
addChild(miLoader)
}
}
}
.as de "Cuarto"
package{
import flash.display.MovieClip
import flash.text.TextField
import flash.events.Event
import flash.events.MouseEvent
import flash.display.SimpleButton
import flash.display.Loader
import flash.net.URLRequest
import flash.media.Sound;
public class cuarto extends MovieClip{
var nChico:chico
var tareas:Number
var finalX:Number
var finalY:Number
var aproximacion:Number
var posicion:int
public function cuarto(){
var rutaMusic:URLRequest=new URLRequest()
rutaMusic.url="background.mp3"
var musicaFondo:Sound=new Sound()
musicaFondo.load(rutaMusic)
musicaFondo.play()
crearChico()
aproximacion=5
tareas=0
stage.addEventListener(Event.ENTER_FRAME, girar)
zona_btn.addEventListener(MouseEvent.CLICK, caminar)
}
function crearChico(){
nChico=new chico()
addChild(nChico)
nChico.x=250
nChico.y=200
}
function girar(event:Event){
var anguloR:Number
var anguloS:Number
anguloR=Math.atan2(stage.mouseY-nChico.y, stage.mouseX-nChico.x)
anguloS=anguloR*180/Math.PI
posicion=Math.ceil((anguloS-22.5)/45)
nChico.girar(posicion)
}
function caminar(event:MouseEvent){
var anguloR:Number
finalX=stage.mouseX
finalY=stage.mouseY
anguloR=Math.atan2(stage.mouseY-nChico.y, stage.mouseX-nChico.x)
nChico.mover(anguloR)
stage.removeEventListener(Event.ENTER_FRAME, girar)
addEventListener(Event.ENTER_FRAME, llegoFinal)
addEventListener(Event.ENTER_FRAME, detectarColision)
}
function llegoFinal(event:Event){
if(Math.abs(nChico.x-finalX)<aproximacion &&
Math.abs(nChico.y-finalY)<aproximacion){
stage.addEventListener(Event.ENTER_FRAME, girar)
zona_btn.addEventListener(MouseEvent.CLICK, caminar)
removeEventListener(Event.ENTER_FRAME, llegoFinal)
nChico.detener()
}
}
function detectarColision(event:Event){
if(cama_mc.hitTestPoint(nChico.x, nChico.y, true)||
esquina1_mc.hitTestPoint(nChico.x, nChico.y, true)||
esquina2_mc.hitTestPoint(nChico.x, nChico.y, true)){
stage.addEventListener(Event.ENTER_FRAME, girar)
removeEventListener(Event.ENTER_FRAME, llegoFinal)
removeEventListener(Event.ENTER_FRAME, detectarColision)
nChico.detener()
}
}
}
}
espero puedan ayudarme, y mil gracias por todo :)