Foros del Web » Creando para Internet » Flash y Actionscript »

De Flash a .exe y llamando unos AS del Servidor

Estas en el tema de De Flash a .exe y llamando unos AS del Servidor en el foro de Flash y Actionscript en Foros del Web. Hola a todos!!! Estoy intentando hacer una aplicación de clima! Pegando códigos y dandole forma ya funciona bien dentro de la carpeta que contiene los ...
  #1 (permalink)  
Antiguo 16/11/2010, 16:43
 
Fecha de Ingreso: diciembre-2008
Mensajes: 11
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta De Flash a .exe y llamando unos AS del Servidor

Hola a todos!!!

Estoy intentando hacer una aplicación de clima!
Pegando códigos y dandole forma ya funciona bien dentro de la carpeta que contiene los AS.
El problema es que este .EXE generado depende exclusivamente de estos clases.

Mi pregunta es como hago para llame estas clases e incluso el XML donde está la traducción de las Apis de Yahoo Weather.

O sea que cualquiera baje este ejecutable y estire los AS desde mi Servidor.

Muchas gracias por la atención.

Este es el código...:

Código:
//importamos las clases necesarias
import com.yahoo.webapis.weather.WeatherService;
import com.yahoo.webapis.weather.Weather;
import com.yahoo.webapis.weather.events.WeatherErrorEvent;
import com.yahoo.webapis.weather.events.WeatherResultEvent;
import fl.data.DataProvider;
//cramos el servicio
var ws:WeatherService = new WeatherService();
//var w:Weather = new Weather();

//datos posibles recoger
///////////datos de geo localizacion
//event.data.location.city -- nombre de la ciudad
//event.data.location.country -- pais
//event.data.location.latitude -- latitud
//event.data.location.longitude -- longitud
///////////datos generales
//event.data.language -- lenguaje del reporte
//event.data.date -- Mon Oct 13 23:00:00 GMT-0300 2008
//event.data.timeToLive -- tiempo de actualizacion
//event.data.units.distance -- unidad de distancia
//event.data.units.speed -- unidad de velocidad
//event.data.units.pressure -- unidad de presion
//event.data.units.temperature -- unidad de temperatura
///////////datos actuales 
//event.data.current.temperature -- indica la temperatura actual
//event.data.current.description -- descripcion del tiempo
//event.data.current.imageURL -- url de la imagen
//event.data.current.code -- estado del tiempo en referencia a su codigo
//////////datos del viento
//event.data.current.wind.chill -- temperatura del viento
//event.data.current.wind.direction -- direccion del viento en grados segun el norte
//event.data.current.wind.speed -- vlocidad segun event.data.units.speed
//////////datos asmofericos
//event.data.current.atmosphere.humidity -- humedad
//event.data.current.atmosphere.pressure -- presion
//event.data.current.atmosphere.rising -- diferencia de presion
//event.data.current.atmosphere.visibility -- visibilidad en event.data.units.distance
//////////datos astronomicos
//event.data.current.astronomy.sunrise -- fecha, hora amanecer
//event.data.current.astronomy.sunset -- fecha, hora atardecer
//////////pronostico extendido
//event.data.forecast -- devielve un array con el objeto ForecastConditions
//event.data.forecast[x].code -- estado del tiempo en referencia a su codigo
//event.data.forecast[x].date -- fecha completa
//event.data.forecast[x].high -- temperatura max
//event.data.forecast[x].low -- temperatura minima
//event.data.forecast[x].imageURL -- url de la imagen
//event.data.forecast[x].description -- descipcion

//escuchador cuando recivimos los datos
ws.addEventListener(WeatherResultEvent.WEATHER_LOADED, resultTiempo);
//si hay un error al recibir los datos
function xmlError(event:WeatherErrorEvent):void {
	//weather_txt.text = event.data.toString();
}
//error al leer el xml
ws.addEventListener(WeatherErrorEvent.XML_LOADING, xmlError);
//
//ACTION PARA ESTE EJEMPLO
//
var periodo:String;
var codigoEstado:int;
var miLoader:Loader = new Loader();
var miReq:URLRequest=new URLRequest();
var mes:Array;
var dia:Array;
var contImgGde:Sprite = new Sprite();
//estados del tiempo en español
var xmlData:XML;
var xmlLoader:URLLoader = new URLLoader();
var urlRequest:URLRequest = new URLRequest("clima-es.xml");
xmlLoader.load(urlRequest);
xmlLoader.addEventListener(Event.COMPLETE, this.iniciarXML);
var xmlList:XMLList = new XMLList();
function iniciarXML(e:Event):void {
	xmlData = new XML(xmlLoader.data);
	xmlList = XMLList(xmlData.clima);
	init();
}
//datos para el combo
var ciudades:Array = new Array({label:"Paraguay",data:"PAXX0001"},);
var dp:DataProvider = new DataProvider(ciudades);
cb.dataProvider=dp;
cb.addEventListener(Event.CHANGE, cbSelect);
function cbSelect(o:Event):void {
	ws.getWeather(cb.selectedItem.data, "metric");
}

function init() {
	mes = new Array("Enero","Febrero","Marzo","Abril","Mayo","Junio","julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
	dia = new Array("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sabado");
	time_txt.autoSize = TextFieldAutoSize.LEFT ;
	contImgGde.y = time_txt.y+15;

	var defaud:Object = new Object();
	defaud = cb.getItemAt(0);

	ws.getWeather(defaud.data, "metric");
	formatFecha();
}

function formatFecha() {
	var date:Date = new Date();
	var minutos:String;
	if (date.getMinutes()<10) {
		minutos = "0"+String(date.getMinutes());
	} else {
		minutos = String(date.getMinutes());
	}
	if (date.getHours()<12) {
		periodo ="am";
	} else {
		periodo ="pm";
	}
	time_txt.text = dia[date.day]+" "+String(date.getDate() +" de "+mes[date.getMonth()]+" - "+date.getHours()+":"+minutos+" "+periodo);

	var contDay:int = date.day;
	switch (date.day) {
		case 5 :
			estado1_txt.text = dia[6];
			estado2_txt.text = dia[0];
			break;
		case 6 :
			estado1_txt.text = dia[0];
			estado2_txt.text = dia[1];
			break;
		default :
			estado1_txt.text = dia[date.day+1];
			estado2_txt.text = dia[date.day+2];
	}
}

function resultTiempo(event:WeatherResultEvent):void {
	codigoEstado = event.data.current.code;
	if (codigoEstado==0) {
		codigoEstado = 3200;
		temperatura_txt.text = "";
		estado_txt.text = "";
		dtosEx_txt.text ="";
	} else {
		temperatura_txt.text = event.data.current.temperature+"º";
		estado_txt.text = xmlList.@value[codigoEstado];
		dtosEx_txt.text = "Viento: "+event.data.current.wind.direction+" "+event.data.current.wind.speed+" "+event.data.units.speed+"\n"+"Humedad: "+event.data.current.atmosphere.humidity+"%"+"\n"+"Visibilidad: "+event.data.current.atmosphere.visibility+" "+event.data.units.distance+"\n"+"Presión atmosférica: "+event.data.current.atmosphere.pressure+" "+event.data.units.pressure;
		esttemp1_txt.text  = event.data.forecast[0].high+"º   "+ event.data.forecast[0].low+"º";
		esttemp2_txt.text  = event.data.forecast[1].high+"º   "+ event.data.forecast[1].low+"º";
	}
	var urlImagen:String = "imgactual/"+codigoEstado+".png";
	miReq = new URLRequest(urlImagen);
	miLoader.load(miReq);
	contImgGde.addChild(miLoader);
	this.addChild(contImgGde);
	formatFecha();
}
Es este pedazo el que tiene que ser transformado y llamado desde el servidor:

//importamos las clases necesarias
import com.yahoo.webapis.weather.WeatherService;
import com.yahoo.webapis.weather.Weather;
import com.yahoo.webapis.weather.events.WeatherErrorEvent ;
import com.yahoo.webapis.weather.events.WeatherResultEven t;
import fl.data.DataProvider;


y Este....

//estados del tiempo en español
var xmlData:XML;
var xmlLoader:URLLoader = new URLLoader();
var urlRequest:URLRequest = new URLRequest("clima-es.xml");

Última edición por usherjm; 16/11/2010 a las 16:46 Razón: Faltaba detallar!

Etiquetas: exe, flash, servidores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:11.