Dimensiones de Objeto Flash Embebido
Hola!
A ver si alguien me puede ayudar. Estoy desarrollando la web de un cliente para la cual el espacio destinado a interfaz y fotografias debe estar maximizado. Para ello he aplicado una apertura de ventana a pantalla completa conservando el chrome y cargo el objeto SWF ocupando todas las dimensiones de la ventana. Para forzar la compatibilidad entre resoluciones de 800x600 y 1024x768 (que son las unicas requeridas por el cliente) he confeccionado la siguiente rutina de JavaScript (a ver si cabe - comentarios mas abajo):
<SCRIPT LANGUAGE="JavaScript">
<!--
/*
Selector Dinámico de Parametros para Objeto Embebido por Resolución de Pantalla
*/
var screenWidth = screen.width;
var myClip = "myclip.swf";
// Mac - Variables Generales
if (navigator.appVersion.indexOf('Mac') >= 1) {
// Variables de impresion para usuarios de Mac a 1024x768 o superior
if (screenWidth > 800) {
var clipWidth = 950;
var clipHeight = 673;
var clipScale = "noborder";
// Variables de impresion para usuarios de Mac a 800x600
} else {
var clipWidth = 675;
var clipHeight = 525;
var clipScale = "noborder";
}
// PC - Variables Generales
} else {
// Variables de impresion para usuarios de PC a 1024x768 o superior
if (screenWidth > 800) {
var clipWidth = 1024;
var clipHeight = 716;
var clipScale = "noborder";
// Variables de impresion para usuarios de PC a 800x600
} else {
var clipWidth = 800;
var clipHeight = 548;
var clipScale = "noborder";
}
}
// Instancia general del objeto contenedor del clip Flash
document.write("<OBJECT classid=\'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\' codebase=\'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0' ID=villamar WIDTH="+clipWidth+" HEIGHT="+clipHeight+">\n");
document.write("<PARAM NAME=movie VALUE=\'"+myClip+"\'>\n");
document.write("<PARAM NAME=loop VALUE=false>\n");
document.write("<PARAM NAME=quality VALUE=high>\n");
document.write("<PARAM NAME=scale VALUE="+clipScale+">\n");
document.write("<PARAM NAME=menu VALUE=false>");
document.write("<PARAM NAME=bgcolor VALUE=#FFFFFF>\n");
document.write("<EMBED src=\'"+myClip+"\' loop=false quality=high menu=false bgcolor=#FFFFFF scale="+clipScale+" WIDTH="+clipWidth+" HEIGHT="+clipHeight+" NAME=villamar TYPE=\'application/x-shockwave-flash\' PLUGINSPAGE=\'http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\'>\n");
document.write("</EMBED>\n");
document.write("</OBJECT>\n");
//-->
</SCRIPT>
Como podeis observar, lo primero que hago es determinar la anchura de pantalla para seleccionar la resolucion a emplear y seguidamente discrimino las variables de anchura, altura y escala del clip dependiendo de si la maquina es PC o MAC. Luego aplico todas estas variables a la instancia general del objeto SWF para que esta imprima en pantalla el objeto con las dimensiones adecuadas.
Mi problema surge cuando se imprime el objeto a 800x600, en el que se provoca que als fuentes de la pelicula aparezcan picadas. Teoricamente Flash Player las trata como vectores y las deberia redimensionar limpiamente (la pelicula original es de 1024x716 px) salvaguardando su imagen. En la practica no es así, y creo que es porque no he seleccionado valores correctos de anchura y altura para el clip en las areas de la rutina que los determinan para 800x600(PCyMac). He buscado referencias al respecto por Internet y nada.
¿Que me podeis decir? Lo cierto es que estoy fatigado y desesperado con esto. Si deseais ver de lo que hablo en vivo acudid a http://villamar.deelemanonline.net y miradlo primero a 1024x768 y despues a 800x600: Se ve a simple vista (si el servidor devuelve un Error 500 refrescad y ya esta).
Gracias anticipadas por vuestra atencion.
ollorens Profesor Plus
Siento no poder ayudarte tio, solo quiero felicitarte por la web, me encanta.
deeleman
Muchas gracias, la verdad es que este es mi segundo proyecto profesional con Flash y me ilusiona mucho ver que a alguien le gusta.
Por otra parte, sigo con el problema. ¿alguien por ahi tiene alguna idea?