Paises Bajos garantiza por ley la neutralidad en la red

Publicado por Iván Gajate el 9 de junio de 2011 en Sin categoría | No hay comentarios »

Muy buena noticia!

A ver si por aquí se aplican el cuento…

http://alt1040.com/2011/06/confirmado-paises-bajos-se-convierte-en-el-primer-pais-europeo-en-garantizar-la-neutralidad-de-la-red-por-ley

AS3 – Singleton

Publicado por Iván Gajate el 6 de junio de 2011 en AS3, Flash, Patrones de diseño | No hay comentarios »

Uno de los patrones de diseño que mas útiles en mi opinión es el Singleton. Si queremos almacenar datos relevantes para nuestro proyecto y que sean accesibles fácilmente desde cualquier sitio es la mejor opción. O para la típica cartela de avisos que solo puede estar abierta una vez y que tiene que llamarse desde muchos sitios.

Para construirlo a mi esta es la forma que mas me gusta:

package {

	public class Modelo {

		private static var _instance:Modelo;

		public function Modelo(singletonenforcer:SingletonEnforcer) {
			if (singletonenforcer == null) {
				throw new Error("Modelo es un Singleton. Para acceder a una instancia hacedlo mediante Modelo.getInstance()");
				return;
			}
		}

		public static function getInstance():Modelo {
			if (!_instance) {
				_instance = new Modelo(new SingletonEnforcer());
			}
			return _instance;
		}

	}
}

class SingletonEnforcer{}

De esta manera podemos acceder así:

Modelo.getInstance().guardarDatos();
Modelo.getInstance().recogerDatos();

The Museum Of Me

Publicado por Iván Gajate el 31 de mayo de 2011 en Sitios Destacados | No hay comentarios »

Impresionante este trabajo de Intel, me gustaría saber la agencia/productora que lo ha hecho, la calidad es impresionante.

The Museum Of Me

The Museum Of Me

27M – Revolución de Barcelona

Publicado por Iván Gajate el 27 de mayo de 2011 en Eventos | No hay comentarios »

Vivimos momentos históricos. Habrá que plantearse cómo queremos ser recordados.

Revolucion Barcelona 27M

AS3 – Baricentro y Ortocentro

Publicado por Iván Gajate el 26 de abril de 2011 en AS3 | No hay comentarios »

Si queremos jugar un poco con las circunferencias y sus radios, radios de curvatura, etc…, esto nos va a venir muy bien:)

http://mx.answers.yahoo.com/question/index?qid=20070313201440AAtsHft

Y con Vectores:

http://wonderfl.net/c/56pU

Los enlaces me los ha pasado Drus :)

PHP – Escribir un XML con CDATA Usando SimpleXML

Publicado por Iván Gajate el 26 de abril de 2011 en Desarrollo Web | 3 comentarios »

Si usamos la fantástica librería de PHP SimpleXML para leer y construir xml, nos habremos dado cuenta que no tiene soporte para meter datos en etiquetas CDATA, lo cual es un engorro.

Tras mucho buscar, he encontrado este truco que soluciona el problema :)

Consiste en extender la clase SimpleXml para ampliarla con DOM, que sí tiene soporte para CDATA, y devuelve un objeto SimpleXML :)

Así, si nos creamos una clase “SimpleXMLExtended.php

<?php
	class SimpleXMLExtended extends SimpleXMLElement {
	  public function addCDATA($cData) {
	    $node = dom_import_simplexml($this);
	    $no = $node->ownerDocument;
	    $node->appendChild($no->createCDATASection($cData));
	  }
	}
?>

Podemos crear un XML así:

<?php
	Header('Content-type: text/xml;  charset=utf-8'); 

	require_once('SimpleXMLExtended.php');

	$miXML = new SimpleXMLExtended('<?xml version="1.0" encoding="UTF-8"?><usuario></usuario>');
	$nombre = $miXML->addChild('nombre');
	$nombre->addCData('Iván Gajate');
	echo $miXML->asXML();
?>

Y devolverá esto:

<?xml version="1.0" encoding="UTF-8"?>
<usuario>
	<nombre><![CDATA[Iván Gajate]]></nombre>
</usuario>

AS3 – Cargar Assets Usando un Proxy

Publicado por Iván Gajate el 26 de abril de 2011 en AS3, Flash | 1 comentario »

Cuando tratamos de cargar imágenes o xmls de otros dominios, nos encontramos con el problema de que por seguridad no es posible hacerlo directamente. Si tenemos acceso al otro dominio, podemos usar el “crossdomain.xml”, pero si no, podemos recurrir a un proxy.

Para entenderlo mejor, aquí hay un tutorial muy explicativo.

La forma de saltarse el problema es cargar las cosas con un php intermedio que se encuentra en nuestro servidor (proxy), y que sencillamente nos devuelve lo que le hemos pedido en el formato que corresponde. Así, con este php en nuestro servidor (proxy.php):

<?php

$filename = $_GET['url'];
$ext = pathinfo($filename, PATHINFO_EXTENSION);

switch ($ext) {
    case "jpg":
        header('Content-Type: image/jpeg');
        readfile($filename);
        break;
    case "gif":
        header('Content-Type: image/gif');
        readfile($filename);
        break;
    case "png":
        header('Content-Type: image/png');
        readfile($filename);
        break;
    default:
        header('Content-Type: text/xml');
        readfile($filename);
        break;
    }
?>

En lugar de llamar a:

http://www.otrodominio.com/imagen1.jpg

Lo haremos a:

http://www.midominio.com/proxy.php?url=http://www.otrodominio.com/imagen1.jpg

De esta manera nos saltaremos el problema del sandbox :)

AS3 – Bajar Volumen Global

Publicado por Iván Gajate el 20 de abril de 2011 en AS3, Flash | No hay comentarios »

Con estas líneas podemos cambiar el volumen de nuestra película flash de forma global:

function setearVolumen(value:Number):void {
	var transform:SoundTransform = new SoundTransform();
	transform.volume = value;
	flash.media.SoundMixer.soundTransform = transform;
}

El código es de Esedeerre que está muy liado para ponerla en su blog, pero era muy interesante postearla. Gracias Dani!! :)

AS3 – FullScreen

Publicado por Iván Gajate el 7 de abril de 2011 en AS3, Flash | 2 comentarios »

Poner una web a fullscreen es bastante fácil, pero hay un par de detalles que si no los conocemos nos puede llevar un tiempo descubrirlos.

  • En el HTML hay que poner el parámetro allowFullScreen=”true”
  • El código que pasa a fullScreen tiene que estar obligatoriamente en la función que recibe el evento de ratón. No vale que una función llame a otra función y esta pase a modo fullScreen.

Este es el código para poner nuestro flash a fullscreen:

function mostrarFullScreen(e:MouseEvent):void{
	stage.displayState = StageDisplayState.FULL_SCREEN;
}

Si no indico nada, el swf se redimensiona hasta cubrir la pantalla por completo, pero puedo indicarle la zona sobre la que quiero hacer zoom, así:

stage.fullScreenSourceRect = miVideo.getRect(this);

// O a mano

stage.fullScreenSourceRect = new Rectangle(0, 0, 300, 200);

Además, podemos escuchar cuando se sale del modo full screen.

Ver Ejemplo FullScreen

Descargar Ejemplo

Done with Computers

Publicado por Iván Gajate el 1 de abril de 2011 en Desarrollo Web | No hay comentarios »

He visto este blog de juegos y tutoriales sobre 3D, muy bien explicados. Colisiones, geometria… muy bueno.

http://www.rengelbert.com/index.php