Este prototype (pan360) efectúa un movimiento continuo sobre una imagen y funciona sobre el raíz o cualquier MovieClip que tengamos, pudiendo asimismo poner las instancias pan360 que deseemos dentro del mismo. Necesitas una imagen panorámica y automáticamente, el código hará que gire en efecto de 360 grados dependiendo de donde coloques el mouse.
Si usamos una imagen panorámica obtendremos un movimiento continuo en ambos sentidos dependiendo de la posición del ratón dentro de la imagen. Utiliza la clase bitmapData de flash 8 y concretamente la rutina más rápida: copyPixels, siendo mucho más eficaz y simple que el uso de MC´s con máscaras.
Para funcionar hay que llamarla con 2 parámetros, en nombre de la imagen a cargar y el ancho que deseemos de visor. Siempre podremos escalar, posicionar en x e y, o rotar el clip resultante que tendrá como nombre panN siendo N además el nivel de dicho panN.
Código :
import flash.display.*;
import flash.geom.*;
// pasar el nombre de vinculación de la imagen y el ancho del visor.
MovieClip.prototype.pan360 = function(imagen,w){
c = this.getNextHighestDepth();
this = this.createEmptyMovieClip("pan"+c,c);
this.img = BitmapData.loadBitmap(imagen);
this.tmp = new BitmapData(w, this.img.height, true, 0);
this.attachBitmap(this.tmp, 1, "auto", true);
this.tmp.copyPixels(this.img, this.tmp.rectangle,null);
this.v = 0;
this.onRollOver = function() {
with(this) {
this.onEnterFrame = function () {
wa = img.width;
v = Math.floor((v+(this._xmouse-tmp.width/2)/15)%wa);
tmp.copyPixels(img, new Rectangle(v, 0, wa, img.height),null);
tmp.copyPixels(img, new Rectangle(v+wa-2*wa*(v>0), 0, wa, img.height), null);
}
}
}
this.onRollOut = function() {delete this.onEnterFrame;}
}
Veamos algunos ejemplos de llamada:
Instancia en el raiz y con una imagen llamada (en este caso) barra como nombre de vinculación en la biblioteca: Simplemente llamamos directamente a la función con el ancho de visionado que deseemos:
Solo hay que tener siempre en cuenta que lo que mandamos a la función es una imagen, ya sea cargando completamente y asignado una imagen externa o vinculando una imagen desde la biblioteca.
Si queremos que el pan360 lo haga un MovieClip, crearemos un bitmap y le dibujaremos el MC con el método draw previamente antes de llamar a la función: Estando la imagen en un MC llamado, por ejemplo, foto_mc:
Código :
bitTemp = new BitmapData(foto_mc._width, foto_mc._height, true, 0);
bitTemp.draw( foto_mc);
pan360(bitTemp,300);
Nota: La velocidad se puede cambiar aumentando o disminuyendo el valor 15 dentro de esta linea: v = Math.floor((v+(this._xmouse-tmp.width/2)/15)%wa); ...o si se desea se puede colocar también como parámetro de la función.
Muy bueno el código Yo escribí hace un tiempo otro sistema para hacer panorámicas, pero lo hice moviendo MovieClips ya que me permitía colocarle botones y animaciones dentro de la panorámica. Por:Zguillez
Igualmente puedes poner botones o videos......en definitiva añadir cualquier objeto al MC creado puesto que ES un MC. En realidad, este prototype lo hice para una pequeña curiosidad. Yo uso otro, mi propia clase, para todo tipo de pan en mapas, fotos, aunque este es muy funcional. Postearé por aquí este mismo añadiendo el efecto de deformación de profundidad como parámetro de la función y que se implementa muy facilmente al trabajar sobre la clase bitmap. (ese es el motivo de la curisiodad) Por:Teseo
Estuve trasteando con tu código, y de momento lo he medido en una clase para hacer el código más reutilizable:
Código :
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;
}
}
Código :
import pan360;
var pano:pan360 = new pan360(this, "pano1", "foto", 400);
pano.pos(100, 50);
PD: mmm, dices que le puedes colocar objetos al MC, pero ¿como metes un boton interactivo dentro de la imágen y que se desplace junto a ella? PD2: si, lo de la profundidad postealo, me interesa Por:Zguillez
Evidentemente si es un bitmap no lleva elementos interactivos, es muy rápida porque solo arrastra bits. Los elementos interactivos siempre habrá que "superponerlos" de "otra forma", una cosa por la otra. Este ejemplo es para movimiento de imagen.......y no para interactividad. La "otra forma" es rara pero simple: Creamos 2 clip del mismo tamaño que la imagen donde colocamos los elementos interactuantes en su lugar. tomando el dato de posición del imagen lo petamos en el mismo sitio por encima. Ese dato variable es: interactivo1_clip._x = pan._x - wa + v; interactivo2_clip._x = pan._x + wa - v; interactivo1_clip._y = interactivo2_clip._y = panN._y; Nota: cuando apliquemos deformaciones y efectos a la imagen como la profundidad (y ese era el motivo del prototype) sería mejor tener solo imagen y no elementos asociados que se "descuadrarian". Ya postearé el código añadiendo la profundidad ( y otras posibles deformaciones útiles)... y también la meteré en la clase que preparaste, está muy bien.
Ahora mismo se me está ocurriendo una manera de hacer interactivos deformables.....como imágenes y alguna cosilla, tengo que probarlo porque seguro que funciona Por:Teseo
Muy buen tip Teseo .
Había visto el que hizo Zguillez hace tiempo. Son dos enfoques diferentes y con una utilidad muy particular. Excelentes aportes . Por:XKlibur
me ganaste en la idea Zguillez, pero esta muy bueno, aparte del no usar el prototype. Por otro lado, está excelente Por:eldervaz
hola, y de donde se pueden sacar fotos panoramicas? alguna pagina? Por:hola_blog
mmm la verdad es q depende de como quieras trabajar, casi siempre es tomarlas tu mismo, quizas con un tripode o simplemente paciencia para q te cuadre las fotos, has el intento con tu celular, yo hacia eso al inicio y aprendi mucho. Por:eldervaz
mmm, muy bueno , me parece excelente la idea de las distorciones y efectos!! Por:eveevans_blog
Bueno, pongo el código de perspectiva y una somera explicación pues la fabricación de mapas de bit para distorsiones lo pienso tratar aparte. La mayor parte del código es la generación del mapa de bits sal que usaremos como comparador en l desplazamiento dM.(Un poco enredoso, se hace más facil en tiempo de edición que con AS). El resto del código apenas tiene variación: Añadimos a la función un parámetro booleano más para decirle si quiere perspectiva o no. Y una linea con un if para incorporar el filtro si es true. De este modo en la biblioteca basta con la imagen para vincular.
Código :
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
// Generador del mapa de bits necesario para la panorámica (sal).
k=600;// valor del ancho del visor
j=400;// valor de la altura de la imagen
mb1 = new BitmapData(k, j, true, 0);
mb2 = new BitmapData(k, j, true, 0);
mb3 = new BitmapData(k, j, true, 0);
sal = new BitmapData(k, j, true, 0);
mt1 = createEmptyMovieClip("p1",100000);
mt2 = createEmptyMovieClip("p2",100001);
mt3 = createEmptyMovieClip("p3",100002);
mt4 = createEmptyMovieClip("p4",100003);
mt5 = mt4.createEmptyMovieClip("p5",100004);
mtx = new Matrix();
mtx.createGradientBox(5*k/2, 5*j/2, 0, -3*k/4, -3*j/4);
mt1.beginGradientFill("radial",[0x808080,0x808080, 0x808080],[00,100,100] ,[0,128, 255],mtx );
mt1.moveTo(0, 0);mt1.lineTo(0, j);mt1.lineTo(k, j);mt1.lineTo(k, 0);mt1.lineTo(0, 0);
mt1.endFill();
mb1.draw(mt1);
mtx.createGradientBox(k, j, 0, 0, 0);
mt2.beginGradientFill("linear",[0xff0000,0],[100,100] ,[0,255],mtx );
mt2.moveTo(0, 0);mt2.lineTo(0, j);mt2.lineTo(k, j);mt2.lineTo(k, 0);mt2.lineTo(0, 0);
mt2.endFill();
mb2.draw(mt2);
mtx.createGradientBox(k, j, Math.PI/2, 0, 0);
mt3.beginGradientFill("linear",[0x00ff00,0],[100,100] ,[0,255],mtx );
mt3.moveTo(0, 0);mt3.lineTo(0, j);mt3.lineTo(k, j);mt3.lineTo(k, 0);mt3.lineTo(0, 0);
mt3.endFill();
mb3.draw(mt3);
mb3.merge(mb2, mb1.rectangle, new Point(), 256, 0, 256, 256);
mt4.attachBitmap(mb3, 1, "auto", true);
mt5.attachBitmap(mb1, 2, "auto", true);
sal.draw(mt4);// añadiendo los dos mapas anteriores con transparencia.
mb1.dispose(); mb2.dispose(); mb3.dispose();
mt1.removeMovieClip(); mt2.removeMovieClip(); mt3.removeMovieClip();
mt4.removeMovieClip(); mt5.removeMovieClip();
//la salida despues de borrar todo lo que se usa es: sal y la colocamos en el filtro de desplazamiento.
dM = new DisplacementMapFilter(sal,null,1,2,-100,-100,"warp");
// pasar el nombre de vinculación de la imagen y el ancho del visor.
MovieClip.prototype.pan360 = function(imagen, w, perspectiva){
c = this.getNextHighestDepth();
this = createEmptyMovieClip("pan"+c,c);
this.img = BitmapData.loadBitmap(imagen);
this.tmp = new BitmapData(w, this.img.height, true, 0);
this.attachBitmap(this.tmp, 1, "auto", true);
this.tmp.copyPixels(this.img, this.tmp.rectangle,null);
this.v = 0;
if (perspectiva){this.filters = [dM]};
this.onRollOver = function() {
with (this) {
onEnterFrame = function () {
wa= img.width;
ha= img.height;
v=(v+(this._xmouse-tmp.width/2)/15)%wa;
tmp.copyPixels(img, new Rectangle(v, 0, wa, ha),null);
tmp.copyPixels(img, new Rectangle(v+wa-2*wa*(v>0),0, wa, ha), null);
}
}
}
this.onRollOut = function() {delete this.onEnterFrame;}
}
//llamada a la función:
pan360("barra",600, true);
//el MC resultante es pan0 y lo desplazamos para que no se vea la curvatura de los bordes.
pan0._y=-15
En este ejemplo he dejado las curvas de distorsión para que se aprecie el desplazamiento. En la instrución: dM = new DisplacementMapFilter(sal,null,1,2,-100,-100,"warp"); los valores -100 de las escalas x e y se pueden cambiar para aumentar-disminuir-anular-invertir la distorsión. Este ejemplo es con la distorsion de X a 0 y borde ajustado:
dM = new DisplacementMapFilter(sal,null,1,2,0,-100,"warp"); Existen otros caminos para hacer lo mismo que intentaré explicar otro día. Zguillez........si quieres pasarlo a la clase, tu mismo. A mi me da pereza. Por:Teseo
=S. todos los efectos anteriores si los habia podido lograr pero este que es de los que mas me a llamado la atencion no=(.
no lo entiendo.
los demas solo teniamos que poner ala imagen como nombre "imagen" i ponerla para que se exportara al primer fotograma con el mismo nombre pero con este nuevo como es=?. Por:lokemas._blog
LLamando a la funcion : pan360("imagen",400,true); imagen : vinculada en la biblioteca con el nombre imagen. 400 : ancho del visor true: deformacion panorámica false: sin deformación.
por cierto en el ejemplo de panorámica no para al salir el ratón del SWF. Si queremos que se detenga hay que poner esta linea: onEnterFrame = function () { como estaba originalmente: this.onEnterFrame = function () { Por:Teseo
Muy bueno
Teseo :
Zguillez........si quieres pasarlo a la clase, tu mismo. A mi me da pereza.
hola, perdon pero soy nuevo en esto, no se si alguen me podria mandar el ejemplo a mi correo para entenderle un poco mas, se los agradeceria mucho, lo que pasa es que aun no entiendo mucho ni de capas y otras cosas pero este es uno de mis objetivos principales, mi correo es cssg83boy@walla.com, se los agradesco de antemano. Por:christian_blog
Joder que bueno, precisamente yo estaba buscando algo como esto para implementarlo en mi proyecto final de la uni. He creado un entorno con swift 3D y estaba rompiendome la cabeza para meterle mc tridimensionales encima... para que os hagais una idea algo asi como aqui: http://www.peroniitaly.com/gb/flash.html Me podriais enviar un ejemplo .fla para aclararme y no empezar de zero??? Por:fiomaravilha_blog
hauha, muy groxo, pero como hago para que no se vean las linitas? nota: ke buenos action scripts man, te felicito. Por:
Como hacer para poner una marco a la panorámica, la panorámica siempre esta encima de todo. Por:cenachero_blog
muy buenos sus ejemplos pero cometen el mismo error de otros sitios no dan la posibilidad de descargar .fla
por esta razon uno no vuelve a visitar este tipo de sitios si no que se busca el mismo ejemplo en otro sitio que permita descargar el ejemplo Por:jax_blog
jax_blog :
muy buenos sus ejemplos pero cometen el mismo error de otros sitios no dan la posibilidad de descargar .fla
por esta razon uno no vuelve a visitar este tipo de sitios si no que se busca el mismo ejemplo en otro sitio que permita descargar el ejemplo
Pero vamos a ver... ¿tan dificil es leerse el post y COPIAR Y PEGAR el código en una pelicula nueva? Ya se que es más fácil descargarse un .fla y abrirlo, eso hasta un mono sabe hacerlo... Por:Zguillez
buenas.. la verdad increible todo esto. ahora tengo una duda con respecto al ejemplo con distorcion... hay alguna manera de que en vez de que sea una imagen, que sea un mc de donde se tome la imagen? la idea es hacer eso mismo pero poder meter botones o cosas dentro de la imagen.
Ojala se pueda... pero estube intentando y no lo logro. Gracias Por:Diego_blog
Diego: Si existe esa posibilidad, de hecho ya la planteo indirectamente Zguillez. Ten en cuenta que lo que "deformamos" es el mapa de bits de dicho MC. Estuve trabajando en una idea simple para conseguirlo y funciona perfectamente. Se basa en definir las areas de activación deformadas de botones y otros elementos del un MC cualquiera y asociarlas a las visibles deformadas. Tengo un código simple funcionando que ampliaré a cualquier elemento de cualquier MC deformado ( no solo para el código de panorámica). Ahora ando muy ocupado en mi trabajo (que no es la programación) y cuando tenga más tiempo libre lo termino, afino, y posteo. Por:Teseo
Buenisimo, cuando puedas haceme el favor, yo estube tocando un poco por ahi, logre que un mc con los botones y cosas se mueva junto con la foto, haciendo que el _x del nuevo mc sea igual a v pero el problema es que los botones no funcionan.. supongo que es porque ya toda la pelicula actua como boton.. pero ya lo lograre!! gracias Por:Diego_blog
alguien me uede decir si el mapa de bist se tiene que importar o algo por favor? Por:mario_blog
Yo la verdad que soy bien nueva en esto y no cacho mucho... quiero hacer una panorámica como el primer ejemplo de aquí, pero no cacho muy bien exactamente qué parámetros hay que cambiar para mi imagen... como un favor para una principiante, me lo explican con manzanas??? Gracias de antemno!! " Por:Lauristriquis_blog
Hola.
Tengo una duda. Se podrían cargar externamente las imagenes?
Al principio del post dice : "Solo hay que tener siempre en cuenta que lo que mandamos a la función es una imagen, ya sea cargando completamente y asignado una imagen externa o vinculando una imagen desde la biblioteca."
Después incluyes un código con el que hacer la panoramica con un movie clip, pero no consigo hacerlo.
Gracias!! Por:GanCT_blog
es orrible esta pagina no me ayuda en nada Por:nicolas_blog
GanCT: Pongo esta pequeña variación del código relativo al primer ejemplo donde se puede pasar tanto una imagen vinculada desde la biblioteca como un MC instanciado. Simplemente tiene añadido un condicional de instanceof para determinar si es una imagen o un MC lo que le llega a la función y hacer la asignación del BitMap según corresponda.
En el ejemplo se pone en panorámica un MC instanciado en el escenario como clip1
Código :
import flash.display.*;
import flash.geom.*;
// pasar el nombre del MovieClip o del vinculo de la imagen y el ancho deseado del visor.
MovieClip.prototype.pan360 = function(imagen,w){
c = this.getNextHighestDepth();
this = this.createEmptyMovieClip("pan"+c,c);
if(imagen instanceof MovieClip){
this.img = new BitmapData(imagen._width, imagen._height, true, 0);
this.img.draw(imagen);
}
else {this.img = BitmapData.loadBitmap(imagen); }
this.tmp = new BitmapData(w, this.img.height, true, 0);
this.attachBitmap(this.tmp, 1, "auto", true);
this.tmp.copyPixels(this.img, this.tmp.rectangle,null);
this.v = 0;
this.onRollOver = function() {
with(this) {
this.onEnterFrame = function () {
wa = img.width;
v = Math.floor((v+(this._xmouse-tmp.width/2)/15)%wa);
tmp.copyPixels(img, new Rectangle(v, 0, wa, img.height),null);
tmp.copyPixels(img, new Rectangle(v+wa-2*wa*(v>0), 0, wa, img.height), null);
}
}
}
this.onRollOut = function() {delete this.onEnterFrame;}
}
//y esta es la llamada:
pan360(clip1,400);
clip1._visible=false;
Por:Teseo
Hola, muy bueno el tutorial... pero yo no me entero de nada X
Donde hay que poner el primer código?? Y el segundo?? Y aparte de meter la imagen en la biblioteca, hay que vincularla para javascript?? hay que convertirla en símbolo??
El tuto de Zguillez me salió a la primer pero este no hay manera...
Un saludo y muchas gracias Por:Toni_blog
excelentes códigos. yo necesito algo parecido, se trata de una panorámica, pero en los 2 ejes. movimiento en el eje x y en el eje y. dándole vueltas he conseguido hacer algo parecido utilizando botones para seleccionar el tipo de desplazamiento, pero sin embargo, algo se me descuadra.
Código :
import flash.display.*;
import flash.geom.*;
// pasar el nombre de vinculación de la imagen y el ancho del visor.
MovieClip.prototype.pan360 = function(imagen,w){
c = this.getNextHighestDepth();
this = this.createEmptyMovieClip("pan"+c,c);
this.img = BitmapData.loadBitmap(imagen);
this.tmp = new BitmapData(w, this.img.height, true, 0);
this.attachBitmap(this.tmp, 1, "auto", true);
this.tmp.copyPixels(this.img, this.tmp.rectangle,null);
this.v = 0;
this.h = 0;
this.conta = 0;
this.onRollOver = function() {
with(this) {
this.onEnterFrame = function () {
//variables de control para el slide horizontal
if(_global.slide=="horizontal"){
wa = img.width;
v = Math.floor((v+(this._xmouse-tmp.width/2)/15)%wa);
tmp.copyPixels(img, new Rectangle(v, h, wa, img.height),null);
tmp.copyPixels(img, new Rectangle(v, h+ha-2*ha*(h>0), ha, img.height), null);
}
//variables de control para el slide vertical
if(_global.slide=="vertical"){
ha = img.height;
h = Math.floor((h+(this._ymouse-tmp.width/2)/15)%ha);
tmp.copyPixels(img, new Rectangle(v, h, ha, img.height),null);
tmp.copyPixels(img, new Rectangle(v, h+ha-2*ha*(h>0), ha, img.height), null);
}
}
}
}
this.onRollOut = function() {delete this.onEnterFrame;}
}
pan360("barra",550);
basta con pegar este código directamente en el primer fotograma y tenerla imagen en la biblioteca linkada con el nombre "barra". luego añadir 2 botones, 1 para el slide horizontal con el código:
Código :
on(press){
_global.slide="horizontal";
}
y el otro para el vertical, ya sabéis. funciona a medias y por eso lo posteo, si lo ejecutáis comprobaréis el fallo. funciona, pero debe haber algún error en el horizontal ya que las 2 imágenes no van seguidas y se produce un error en el renderizado. por lo demás funciona justo cómo quería. una vez solucionado esto me faltaría hacerlo sin utilizar botones, pero esto ya es el siguiente paso. esperando que algún master me arroje luz sobre el tema, me despido.
un saludo!!! Por:sn
Amigo sn: Para moverlo en los 2 ejes usa este código. Es similar al anterior pero añade la altura de la ventana en la llamada a la función:
Código :
import flash.display.*;
import flash.geom.*;
// pasar el nombre de vinculación de la imagen, el ancho y el alto del visor.
MovieClip.prototype.pan360 = function(imagen, w, h) {
c = this.getNextHighestDepth();
this = this.createEmptyMovieClip("pan"+c, c);
this.img = BitmapData.loadBitmap(imagen);
this.tmp = new BitmapData(w, h, true, 0);
this.attachBitmap(this.tmp, 1, "auto", true);
this.tmp.copyPixels(this.img,this.tmp.rectangle,null);
this.v = 0; this.k = 0;
this.onRollOver = function() {
with (this) {
this.onEnterFrame = function() {
wa = img.width; ha = img.height;
v = Math.floor((v+(this._xmouse-tmp.width/2)/15)%wa);
k = Math.floor((k+(this._ymouse-tmp.height/2)/15)%ha);
tmp.copyPixels(img, new Rectangle(v, k, w, h), null);
tmp.copyPixels(img, new Rectangle(v+wa-2*wa*(v>0), k, w, h), null);
tmp.copyPixels(img, new Rectangle(v, k+ha-2*ha*(k>0), w, h), null);
tmp.copyPixels(img, new Rectangle(v+wa-2*wa*(v>0), k+ha-2*ha*(k>0), w, h), null);
};
}
};
this.onRollOut = function() {
delete this.onEnterFrame;
};
};
pan360("barra", 400, 200);
Por:Teseo
muy muy buena la aportacion, un 10 Por:lineagrafica
aaaaaaaaaaaaaaaaaaaaaaaa!!!
dios santo, llevaba horas devanándome los sesos para conseguir el doble slide, he visto tú código, lo he probado y casi se me caen los ojos de la emoción. código perfecto, efecto sublime. un 2012 sobre 10 de puntuación te doy.
así que teseo, no puedo decir otra cosa: gracias, gracias y más gracias. y a seguir aprendiendo, que viendo a maestros cómo vosotros, no queda nada por aprender apenas...
un saludo!!! Por:sn
salud de nuevo; esperando no abusar de vuestra generosidad plantéo otra cuestión. se trata de la interactividad. Teseo, tal y cómo apuntas se trata de un ejemplo para mover mapas de bits, no elementos interactivos. propones "otra forma" utilizando 2 movieclips superpuestos. no llegué a comprender muy bien(o nada bien incluso) ésta técnica y aunque la probé no obtuve ningún buen resultado.
el ejemplo posteado más abajo en el que se reconoce si se trata de un bitmap o de un mc instanciado en el escenario tampoco me funciona, los botones con acciones metidos dentro del mc no funcionan y además no se produce el efecto de continuidad en el slide ya que por algún motivo no aparecen uno a continuación del otro, sino un gran espacio en blanco...
ese es el tema. disculpas por la chapa y mil gracias de nuevo.
salud!!! Por:sn
salud de nuevo;
ya van unos días desde que planteé las dudas acerca de la interactividad y no ha habido respuesta. pienso que sería muy interesante aclararlo, para completar y mejorar el tutorial. más aún viendo que hay más gente en la misma situación... sólo es una opinión, por supuesto. vosotros soys los que decidís, que bastante hacéis ya regalándonos tutos cómo éste.
un saludo. Por:sn
Respecto al tema de la interactividad: Tengo muchas cosas en proyecto, esta una de ellas. No es que sea muy complejo, lo complejo y en lo que tardo es en explicarlo!! A la mayor brevedad posible, lo posteo. Por:Teseo
salud teseo; me alegra leer eso, esperaré pacientemente ese momento.
un saludo! Por:sn
alguie que me de consejos de como empesar ausar el sritp,desde cero...estoyy muerto,alguna pagina web nose loque sea pero que sea bueno no que sea comoesta pgina que es mas yuca nose entiende ni michigan..... Por:mariano
creo que hay algunas reglas básicas de sentido común, a la hora de participar en foros.
- mostrar respeto y agradecimiento a la gente que aporta desinteresadamente su ayuda y comparte sus conocimientos. - expresarse con una claridad mínima, para hacer posible una buena comunicación.
no digo más... Por:sn
he hecho un callejero en freehand y mi intencion es que se pueda ver en flash y para verse bien tengo que aumentarlo. el problema es que quiero que el usuario por medio de botones pueda moverse por el mapa.es posible?.como se hace?.(no tengo ni idea de accionscript) Por:marcelo_blog
Hola, como va? necesito con urgencia si puede ser que me envien por mail un .fla para poder ver asi con un ejemplo, ya que no lo entendi, soy un poco nuevo en esto y la verdad que me encanto lo que esta hecho, les pido por favor lo antes que puedan, necesito entregar un proyecto con varias de estas animaciones!!
Hola como estan la verdad me quede sorprendido con las animaciones y me justaron muchisimo y si no fuera mucho pedir les pediria por favor si me pueden mandar mas animaciones a mi correo se los agradeceria mucho esque nos muevo en esto de las animaciones por codigo y ma justaron mucho y quisiera practicarlo mucho mas a fondo por eso les pido q me manden mas animaciones por favor.
pero, ¿alguien sabe como cargar la imagen desde un jpg externo en vez de la biblioteca? Por:itnasag_blog
y como sería para que Gire un Producto??? Por:Andres_blog
Yo creo que si no sabes action script, antes de empezar con este tutorial, es mejor que se empiece por estudiar un poco action script basicamente... Suficiente ha hecho ya Teseo en publicar este extraordianrio tip. Ya que hay programas que hacen lo mismo y lo publican en flash... Saben cuanto cuesta estos programas... unos 600 euros
Asi que el generoso Teseo nos ha ofrecido tener un mayor control sobre nuestras panoramicas y nos ha ahorrado ese enorme coste añadido....
La interactividad... Supongo que se podria crear otro clip donde estuvieran los elementos interactivo y aplicarle el mismo movimiento que a la panoramica.
No se si seria posible hacer que en un evento onEnterFrame se copiara los pixeles de dicho clip de pelicula en un bitmap y aplicarle la misma deformacion....
Pero creo que si fuera posible esto consumiria mucha CPU.
Asi que habra que esperar a que Teseo tengo otro arrebato de generosidad..
jeje Por:Darklord_blog
bueno, creo que mi mensaje no se mandó. Tengo muchas dudas, soy algo nuevo en esto y no entiendo ciertos términos, la verdad lamento que esto no sea lo mío. Pero necesito de su apoyo. No quiero el Fla, sólo explíquenme unas cosas, por favor. La primera es. El primer código a dónde va? El segundo lo pongo sobre un mc? No tengo NPI de cómo hacerlo, necesito ayuda. Hice el de Zguillez pero al momento de montarlo sobre otro movie clip, cuando quería regresar a verlo, se volvía loco... no sé alguna especie de bug. Por:fisho_blog
A mi me resulta tremendamente complejo imaginar como se puede lograr la interactividad especialmente cuando utiliza el filtro para conseguir el efecto de profundidad, q para mi ya ha sido algo complejo. El gran Teseo hablo de ideas que tenia y que yo todavia no he alcanzado a ver, alguien puede ayudar? Gracias Por:chetxu_blog
Hola a todos, El tutorial es explendido, asi que lo primero es mostrar mi agradecimiento a Teseo. Lo segundo, el motivo de mi post, es preguntar por como hacer para usar al tiempo DisplacementMapFilter y tener animaciones con perspectiva, añadir botones o movieclips, si alguien conoce un tutorial que lo explique rogaria lo compartierais. Muchas Gracias Por:Cesar Nuño_blog
He intentado sin buenos resultados la panoramica en vertical pero no me va, alguien podria subir un .fla o igual es mucho pedir? de ante mano muchas gracias Por:Felipe_blog
hola... pues soy algo nuevo en flash y me cuesta trabajo entender dondo pongo el código, si es necesario exportar la imagen a actionscript y varias cositas así.... por eso mismo quiero pedir que si pueden subir un .fla con el ejemplo... seria de enorme ayuda... ojala no sea mucha molestia . de antemano gracias Por:as de copas
Hola amigos designers bueno la pregunta mia es: ¿por qué cuando hago la panorámica me sale perfectamente bien cuando esta en el root pero cuando la hago como un movie clip no funcina? también la hice como un swf externo (la función LoadMovie) pero no me funciona no se si me entiendan que hago?? este es el codigo que use:
2 cosas: Esa forma de cargar no suele valer para animaciones. Si no esta cargado totalmente el archivo, al iniciarse el efecto no encuentra el objeto donde aplicarse y falla. Usa MovieClipLoader y no tendrás ese problema. Y... coloca esta linea al comienzo de las acciones ( primer frame) y en el SWF principal para que no se solapen los niveles: this._lockroot = true; Por:Teseo
OLA......tengo un problema lo que pasa esque a mi me srive estos tutos...pero quiero es colocarla en una pagina en donde solo se pueden colocar los codigos.........como con direccion web ........URL.....ya....porque es un dominio gratis entonces las restrigciones son muchas.... quisiera saber que hago!!!! Por:
Y si la imagen no es 360º ??
Estuve probando y no soy capaz de cuando llegue a un extremo se pare y solo deje ir para el otro.
Supongo que será muy fácil pero weno... Si alguien se anima se lo agradeceria en el alma.
Saludos Por:Miguel Puig-blog
no entendi?
me podrian pasar al fla para ver si logro entender espiritisanti@hotmail.com Por:nosliw-blog
Hola hola Saludos y gran abrzo a estos locos del flash me he quedado sorprendido pero como soy nuevo en esto podrian montar un video de como poner estos archivos planos y en donde como llamarlos en que parte de las capas se llaman en el metodo de acciones etc...
Hola amigos... ya he intentado todo ubicando el codigo en donde dicen pero no consigo ningun resultado... porfa necesito una manita con esto... pues me tiene al borde de la locura, no se que es lo que estoy haciendo mal...
De antemano gracias por cualquier colaboración... Por:Sofia Castell
y los archivos?? Por:tmf-blog
muy buenos los ejemplos, y los codigos fuente ofrecidos por todos los ponentes...pero deseo preguntar algo que cuidados o con que caracteristicas deben de ser tomadas las fotos de un espacio cerrado para que sea una buena presentacion?..existen instrumentos especiales para la realizacion de esas fotos???? gracias a todo el que me pueda ayudar Por:juan camilo-blog
Para todos aquellos que querían el archivo .fla acá tienen el link.
Muchas gracias y mil felicidades Teseo por este estupendo trabajo.
Saludos. Por:Katarn-blog
Que buen tutorial Teseo.
Para uno que entra a los tiempos sirve de mucho.
Sólo quisiera preguntar qué tengo que manipular en el código para mover esas curvas de distorsión, que para una foto de 1316x320 se nota casi a mitad de cuadro una discontinuidad y no sé qué valores mover, será porque no entiendo alguna parte del código.
Gracias de antemano y saludos! Por:Querube