Foto Panoramica 360º usando bitmapData
A partir de un código posteado por Teseo en Cristalab, en la que generaba una imagen panorámica utilizando BitmapData escribí esta clase:
Actionscript:
-
import flash.display.*;
-
import flash.geom.*;
-
import mx.utils.Delegate;
-
//--------------------------------
-
class pan360
-
{
-
private var ruta:MovieClip;
-
private var clip:MovieClip;
-
private var imagen:String;
-
private var ancho:Number;
-
private var v:Number;
-
private var wa:Number;
-
//--------------------------------
-
public function pan360(qRuta:MovieClip, qClip:String, qImagen:String, qAncho:Number)
-
{
-
ruta = qRuta;
-
imagen = qImagen;
-
ancho = qAncho;
-
clip = ruta.createEmptyMovieClip(qClip, ruta.getNextHighestDepth());
-
clip.img = BitmapData.loadBitmap(imagen);
-
clip.tmp = new BitmapData(ancho, clip.img.height, true, 0);
-
clip.attachBitmap(clip.tmp, 1, "auto", true);
-
clip.tmp.copyPixels(clip.img, clip.tmp.rectangle, null);
-
clip.onRollOver = Delegate.create(this, onRollOver);
-
clip.onRollOut = Delegate.create(this, onRollOut);
-
}
-
//--------------------------------
-
private function onRollOver():Void
-
{
-
clip.onEnterFrame = Delegate.create(this, onEnterFrame);
-
}
-
private function onRollOut():Void
-
{
-
delete clip.onEnterFrame;
-
}
-
private function onEnterFrame():Void
-
{
-
wa = clip.img.width;
-
v = (v == undefined) ? 0 : Math.floor((v + (ruta._xmouse - clip.tmp.width / 2) / 15) % wa);
-
clip.tmp.copyPixels(clip.img, new Rectangle(v, 0, wa, clip.img.height), null);
-
clip.tmp.copyPixels(clip.img, new Rectangle(v + wa - 2 * wa * (v> 0), 0, wa, clip.img.height), null);
-
}
-
//--------------------------------
-
public function pos(qX:Number, qY:Number):Void
-
{
-
clip._x = qX;
-
clip._y = qY;
-
}
-
}
Su uso:
Actionscript:
-
import pan360;
-
var pano:pan360 = new pan360(this, "pano1", "pano", 300);
-
pano.pos(100, 50);
Pueden ver el post original AQUI.
Pueden ver tambien este otro ejemplo de movimiento panorámico. En este caso utilizando MovieClips y máscaras.
Post relacinonados:
9 Comments »
RSS feed for comments on this post. TrackBack URI










Excelente aplicación y mejora de lo que empezó teseo
Al final queda todo muy simple de usar!!
//offtopic//
Un favor, en tu sección de Links>Clabers, podrÃas actualizar el URL de mi blog, de ctrl-F5.vectorice.com ahora estoy en http://www.aeromental.com
Done! gracias danielsemper
estoy probando las panoramica tal y como la explicais arriba, pero me da errores de interfaz y no se qué, la verdad es que estoy en mis comienzos en cuanto a web. Por favor, alguién puede explicarmelo mas detalladamente, paso por apso, vaya...para burritas!!!
Grazie!!!
a mi tambien me da algun que otro error
dad mas detalles por favor
gracias
no podeis poner el .fla para descargar porfavor?
gracias
PORQUE NO PONEN EL .FLA
COMPARTAN PUES
@JACASS: Estamos compartiendo el código... la idea es aprender a hacerlo no limitarse a abrir un .fla
Lo más lógico es publicar el punto fla, si el código esta mal hecho y tira errores.
No para copiarlo, sino para ver en acción como funciona.
Jactarse de poder desarrollar el código y no dar espacio a los que estamos aprendiendo es simple vanidad intelectualoide
@javier: No es lo más lógico, es lo más cómodo.
En el post tienes el 100% del código necesario. LO ÚNICO que has de hacer es COPIAR el código y PEGAR en una pelÃcula nueva, NADA MÃS...
Quejarse porque no haya un .fla en el que hasta ese mÃnimo proceso lo haya hecho YO, es de autentico vago...