Archive for category Uncategorized

HTML 5 para principiantes

Hola cómo están hace un tiempo postearon en cristalab un video tutorial de HTML5, este video es de autoría del diseñador Armando Sosa y bueno el video está genial para todos los que queremos empezar con esta tecnología.

Aquí les dejo el vi…

No Comments

Abrir una nueva ventana pasando parámetros por POST con navigateToURL

Este es un snippet para abrir un ventana con navigateToURL en Actionscript 3.0, pasando variables por "POST":


var peticion:URLRequest = new URLRequest("descarga.php");
var variables:URLVariables = new URLVariables();
variables.imagen = "ruta de la imagen";
peticion.method = URLRequestMethod.POST;
peticion.data = variables;
navigateToURL(peticion, "_blank");

No Comments

Árbol de actionscript.es

Por aquí dejo un prototipo de experimento que empecé hace como un año y medio. Se trata de un sistema de visualización gráfica en forma de árbol del rss del sitio web Actionscript.es. Para los que no lo conozcan, actionscript.es es un portal de enlaces y recursos del lenguaje …

No Comments

AS3 Ideas

Sitio web de reciente creación donde podemos encontrar recursos en castellano para ActionScript 3

No Comments

Prueba de rendimiento para Papervision y Box2D

Lo dicho, prueba de rendimiento con Papervision GreatWhite y Box2D.

Un PointLight3D, 100 cubos, 4 de las caras con FlatShadeMaterial, y por detras una simulación de físicas con Box2D a 5 iteraciones.

Cuando pueda limpiar el código y optimizar, lo publico comentado.

Cualquier comentario sobre el rendimiento será bienvenido.

ver ejemplo en movimiento

No Comments

Cambiar la visualización utilizando Vertex

Siguiendo con el tema de los
Vertex
en Papervision GreatWhite, dejo este ejemplo de como nos pueden valer para cambiar la visualización de manera sencilla.

Con un switch de este tipo:


switch(visualizacion) {
case 1:
vertex.z += (Math.abs(mouseX - n3d[count].x) - vertex.z) / 10;
break;
case 2:
vertex.z += (Math.abs(mouseX - n3d[count].x) - vertex.z) / vs[count];
break;
case 3:
vertex.z += (Math.min(5 * Math.abs(mouseX - (stage.stageWidth - 1000)/2 - n3d[count].x) + 5 * Math.abs(mouseY - (stage.stageHeight - 400)/2 - n3d[count].y),500) - vertex.z) / vs[count];
break
}

podemos cambiar la reacción de los vértices a los movimientos del ratón.

No Comments

Posicionar vértices en Papervision3D

Los elementos 3D (planos, esferas, modelos 3d, etc) están compuestos de triángulos.

Por ejemplo, si creamos un plano en Papervision3D con un WireframeMaterial con la siguiente sintaxis:


var plano:Plane = new Plane(material, 100, 100, 4, 3)

obtenemos un resultado parecido a este:

vertex papervision3d

Los vértices de un objeto están almacenados en un Array (vertex) dentro de la propiedad geometry del objeto. Por ejemplo, en el caso de nuestro plano podemos recorrer los vértices con este bucle:


for each (var vertex:Vertex3D in plano.geometry.vertices) {
}

Los números que he colocado sobre la imagen anterior, indican el orden en el que aparecen los vértices en esta matriz. Podemos observar que un plano por n x m segmentos, tiene (n+1) x (m+1) vértices.

En nuestro caso, el plano de 4×3 segmentos, tiene 5×4 vértices, ordenados de abajo arriba y de izquierda a derecha.

Estos vértices tienen unas coordenadas, que dan a la malla la apariencia de plano, y se pueden modificar. Por ejemplo imaginemos que queremos hacer un carrusel circular compuesto por 8 planos.

Podemos crear los 8 planos, y distribuirlos en el círculo mirando al centro, con lo que obtendríamos algo asi (click en la imagen para ver):

vertex papervision planes

El efecto es resulton, pero si nos fijamos, los planos aparecen rígidos y no se adaptan a la forma del círculo. Para solucionarlo, podemos posicionar los vértices de los planos en el círculo, en lugar de los propios planos, con lo que obtendríamos algo asi (click en la imagen para ver):

vertex plane papervision3d

Aunque en principio puede parecer muy complejo "posicionar vértices", en realidad haciendo un par de ejemplos se entiende perfectamente, y en algunos proyectos puede mejorar mucho los resultados. Dejo los fuentes comentados, para poder probar las dos opciones y ver las diferencias.

No Comments

Pixelando imágenes en Actionscript 3.0

Este post es una modificación de este experimento.

En el anterior recortaba una imagen en cuadrados, comprobando si contenían algún pixel transparente o no. En este divido la imagen en cuadrados, calculo el color que aparece mas veces en ese cuadrado, y creo un Shape relleno de ese color que coloco en las coordenadas del cuadrado.

Las función que calcula el color dominante es esta:


public static function obtenerColorPrincipal( source:BitmapData):Array
{
var n:Object = {};
var a:Array = [];
var p:int;
var alphaValue:uint

for (var x:int = 0; x < source.width; x += 10)
{
for (var y:int = 0; y < source.height; y+= 10)
{
p = source.getPixel32(x, y);
alphaValue = p >> 24 & 0xFF;
if (alphaValue > 0x00) {
n[p] ? n[p]++ : n[p] = 1;
}
}
}

for (var c:String in n)
{
a.push ( { colour:c, count:n[c] } );
}

return a.sortOn( ["count"], Array.DESCENDING );
}

No Comments

Realidad Aumentada y Físicas con FlarToolKit y FOAM

Esta noche me he puesto por primera vez con Realidad Aumentada (FlarToolKit) y la cosa parece bastante sencilla (por lo menos a un nivel básico de uso)
.

He hecho una demo en la que controlo unos cubos sobre una superficie plana, mezclando Papervision y FOAM. De momento dejo un video tras el salto, cuando tenga una visión mas clara de la librería, haré un tutorial.

No Comments

Adobe Flash Player 10.1

Adobe Flash Player 10.1

A partir de esta semana está disponible en Adobe Labs la beta de Adobe Flash Player 10.1.

Ha sido muy comentado el soporte multitouch del player, pero a mi lo que mas "ilusión" me ha hecho ha sido el manejo de errores global, que permite centralizar el manejo de todos los errores en tiempo de ejecución.

Adobe Flash Player 10.1

No Comments

Get Adobe Flash playerPlugin by wpburn.com wordpress themes