Comunidad de diseño web y desarrollo en internet online

Presentacion y Duda

Citar            
MensajeEscrito el 11 Abr 2008 03:35 pm
Como estan estimados colegas, primero presentarme me llamo javier soy chileno y estoy iniciandome en el mundo AS3 (que por lo poquisimo que llevo me ha parecido bastante interesante) bueno pero vamos al grano, les comento mi problema y como lo estoy atacando y mis dudas que son muy basicas pero que me han volado la cabeza...
partamos :
1.- Cual es el primer evento que se ejecuta cuando parte un .fla, me refiero cual deberia ser mi primer evento a programar, por una cosa de logica deberia ser Event.ACTIVATE o me equivoco???
Bueno de ser asi tengo el siguiente problema, me he metido en un proyecto donde se necesita tener una imagen de una planta de una casa y debo cambiar los colores de cada una de las salas, pero debe partir con un estado inicial, bueno mi primer problema es que estoy trabajando con Vb.net, por lo que consegui investigar no puedo traer los datos directamente por ejemplo de sqlserver 2005, por ende estoy trayendo los datos generando un XML.
Esto lo consegui asi :

import flash.geom.ColorTransform;
var arrColor:Array;

function createFracaoA(evt:Event):void {
var Fraccao:DisplayObject;
Fraccao = new Frac_B();
var colorInfo:ColorTransform = Fraccao.transform.colorTransform;
colorInfo.color = arrColor[0];
Fraccao.transform.colorTransform = colorInfo;
Fraccao.x = 79;
Fraccao.y = 16;
Fraccao.width=84;
Fraccao.height=168;
addChild(Fraccao);
}


function initData(evt:Event):void {

var plotDataXML:XML = XML(xmlLoader.data);
var numFuncs:Number = plotDataXML.fraccao.length();
arrColor = new Array(numFuncs);
for (var i=0; i < numFuncs; i++) {
arrColor[i] = plotDataXML.fraccao[i][email protected]();
}
}
var xmlString:URLRequest = new URLRequest("holanda.xml");
var xmlLoader:URLLoader = new URLLoader(xmlString);
xmlLoader.addEventListener("complete", initData);
this.addEventListener(MouseEvent.MOUSE_OVER, createFracaoA);

O sea cuando muevo el mouse sobre la pelicula va al XML y cambia el color..
intente hacer esto :
this.addEventListener(Event.ACTIVATE, createFracaoA);
pero me da el sgte error:
TypeError: Error #1009: Cannot access a property or method of a null object reference. at teste_fla::MainTimeline/createFracaoA()
Eso me ocurre porque no carga el XML cuando se activa la pelicula, alguien me puede dar indicios donde buscar para solucionar mi problema!!!
Lo otro he creado un package pero no me lo reconoce me da errores que no puede adjuntarlo a mi archivo... alguien me puede indicar algun indicio!!!
Bueno creo que para ser mi primera vez ya los deje hartos de preguntas...
Slds + Gracias
:D

Por pancelino

0 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 11 Abr 2008 10:04 pm
Muy sencillo, no puedes acceder a ningún elemento de arrColor ya que no se ha creado, porque el bucle que la llena se ejecuta hasta que carga el xml que contiene los colores. Lo mejor sería que llamaras createFracaoA(); despues de que se ha cargado el xml y se ha terminado de llenar el Array. Esto lo logras con lo siguiente:


Código :


import flash.geom.ColorTransform;
var arrColor:Array;

function createFracaoA():void
{
   var Fraccao:DisplayObject = new Frac_B();
   var colorInfo:ColorTransform = Fraccao.transform.colorTransform;
   colorInfo.color = arrColor[0];
   Fraccao.transform.colorTransform = colorInfo;
   Fraccao.x = 79;
   Fraccao.y = 16;
   Fraccao.width=84;
   Fraccao.height=168;
   addChild(Fraccao);
}


function initData(evt:Event):void
{

   var plotDataXML:XML = XML(xmlLoader.data);
   var numFuncs:Number = plotDataXML.fraccao.length();
   arrColor = new Array(numFuncs);
   for (var i=0; i < numFuncs; i++)
   {
      arrColor[i] = plotDataXML.fraccao[i][email protected]();
   }
   createFracaoA();
}
var xmlString:URLRequest = new URLRequest("holanda.xml");
var xmlLoader:URLLoader = new URLLoader(xmlString);
xmlLoader.addEventListener("complete", initData);



Aunque la verdad no entiendo mucho lo que logras hacer, no se cuando vas a cambiar los colores o como estás creando los diferentes Frac_B, pero por lo menos así no tira el error y el mc se pinta con el primer color que tienes en tu xml

Por Quantium

5 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.