Comunidad de diseño web y desarrollo en internet online

¿¿¿¿Efecto Lápiz????

Citar            
MensajeEscrito el 06 Oct 2008 10:17 pm
Buenas tardes, primero que todo voy a presentarme por ser mi primer mensaje :D , mi nombre es Délany Ramírez y soy estudiante de Ingeniería Industrial, estoy apenas empezando con esto del ActionScript, y pues tenía una duda, necesito crear una animación que tenga un efecto lápiz, me explico, digamos que creo un circulo que se mueva por el escenario, pero necesito que al realizar el movimiento deje visible su recorrido anterior. Espero que alguno de uds tenga alguna idea para ayudarme. Muchas gracias de antemano.

^^

Por deradelo

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Oct 2008 12:30 am

Por Keith_NT

451 de clabLevel

3 tutoriales

 

México, Estado de México

firefox
Citar            
MensajeEscrito el 08 Oct 2008 11:52 am
Muchas gracias, voy a echarle un vistazo. :)

Por deradelo

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Oct 2008 01:34 am
Lo siento, pero no me queda claro, igual el tutorial interpola una trayectoria ya definida, sin embargo yo tengo una trayectoria variable, porque depende de una función que yo le asigne a un objeto, por ejemplo, quiero que una circunferencia se mueva según la función seno, y quiero que al moverse deje el trazado mostrando como se ve la función, espero que alguién me pueda colaborar un poco.

Gracias.

Por deradelo

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Oct 2008 08:38 pm
Bueno solo debes aplicar lo que está en el tip a tu caso, ya tienes hecha la función que mueve la circunferencia siguiendo las coordenadas generadas por la función seno?

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 17 Oct 2008 09:05 pm
Exacto, ya logro que la particula se mueva según la función que yo le indique. voy a tratar de entender el código, es dificil cuando uno es nuevo con el actionscript.

Por deradelo

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Oct 2008 09:12 pm
Postea el código donde haces que la circunferencia se mueva describiendo la curva.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 17 Oct 2008 10:07 pm
Gracias por responder, el código que use fue este:

onClipEvent (load) {
a0 = 50;
t = 0;
oscilar = 0;
}
onClipEvent (enterFrame) {
_parent.texto.osc = oscilar;
if (oscilar) {
c = _parent.textoi.w
t++;
a = t;
b = a0*Math.cos(c*a);
_x = a+275;
_y = b+200;
if(t>=50){
t=0;
}
}
}

Por deradelo

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Oct 2008 10:08 pm
Disculpa, creo que se ve mejor así

Código :

onClipEvent (load) {
   a0 = 50;
   t = 0;
   oscilar = 0;
}
onClipEvent (enterFrame) {
   _parent.texto.osc = oscilar;
   if (oscilar) {
      c = _parent.textoi.w
      t++;
      a = t;
      b = a0*Math.cos(c*a);
      _x = a+275;
      _y = b+200;
      if(t>=50){
         t=0;
         }
   }
}

Por deradelo

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Oct 2008 10:28 pm
Primero que todo y si quieres implementar el tip a tu código, sería bueno que trabajes con clases o si estás empezando, mejor trabajes en el frame no encima de los objetos, el código que posteas está encima de un MovieClip que debe ser la circunferencia, suponiendo que esta tenga nombre de instancia "circulo" en el frame el código debe quedar así:

Código ActionScript :

var a0:Number = 50;
var t:Number = 0;
var oscilar:Number = 0;

circulo.onEnterFrame = function():Void{
   
   texto.osc = oscilar;
   
   if(oscilar){
      
      t++;
   
      var c:Number = textot.w;
      var b:Number = a0 * Math.cos(c * t);
      this._x = t + 275;
      this._y = b + 200;
      
      if(t >= 50){
         
         t = 0;
         
      }
      
   }
   
}


Ahora sería bueno que explicaras como cambia de valor la variable "oscilar" y quién es "texto.w".

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 17 Oct 2008 10:44 pm
Ok, según lo que te entiendo es que no trabaje en el código sobre el objeto sino sobre el frame, bueno, el oscilar se activa al presionar el circulo, que tiene un onmouse(release) hace oscilar = 1, y la variable texto es para mostrar un valor en un texto dinámico.

Por deradelo

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Oct 2008 11:12 am
Disculpa cometí un error en mi pregunta, no te preguntaba por:

Código ActionScript :

texto.osc = oscilar;


Sino por:

Código ActionScript :

 var c:Number = textot.w; 


¿Quién es "textot.w"?

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 20 Oct 2008 04:05 pm
Hola, esa variable cambia un parámetro de la función, en este caso estoy haciendo la función de un movimiento armónico simple, disculpa, como ese código era una prueba no llame a las variables por sus nombres respectivos, pero si la función es Acos(wt), entonces en este caso textoi es w, osea, la frecuencia angular.

Muchas gracias por tu ayuda y tu paciencia.

Por deradelo

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Oct 2008 08:24 pm
Ya veo, entonces no hay ningún cabo suelto, todas las variables adquieren un valor, prueba añadir esto a tu código:

Código ActionScript :

//---Dentro de la condición del onEnterFrame al final

if(oscilar){
    .
    .
    .
    .
    drawGraph();
}


Y añade estas líneas en el frame:

Código ActionScript :

//---Crear el movieClip donde se va a dibujar
var dibujar:MovieClip = this.createEmptyMovieClip("grafica", this.getNextHighestDepth());
//---Darle el estilo a la línea de la gráfica
with(dibujar){
   
   lineStyle(1, 0x000000, 100);
   //---Punto de inicio de la gráfica
   moveTo(0, 0);
   
}
//---Función de dibujar
function drawGraph():Void{
   //---Tomar las coordenadas del circulo
   var circuloX:Number = circulo._x;
   var circuloY:Number = circulo._y;
   
   var point:Object = {x:circuloX, y:circuloY};
   //---Convertir las coordenadas del circulo en las coordenadas del movieclip
   dibujar.globalToLocal(point);
   //---Hacer una línea hasta el punto seleccionado
   dibujar.lineTo(point.x, point.y);
   
}


Si haces que el incremento de "t" sea menor que 1 creo que la gráfica tendrá más puntos y por lo tanto quedará más exacta

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 21 Oct 2008 02:26 am
voy a probarlo, en este momento no tengo el Flash a mano, sin embargo, de antemano te agradezco tu ayuda y ya te contaré si funcionó. :)

Por deradelo

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Oct 2008 02:39 am
Muchas gracias, después de muchos intentos por fin pude.

Por deradelo

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 31 Oct 2008 02:07 am
mira, esta es una forma muy sencilla que inventé de dibujar sobre el escenario con el mouse:

var xx:Number;
var yy:Number;
onEnterFrame=function()
{
xx=this._xmouse;
yy=this._ymouse;

if ( ASnative(800, 2)(1)) { // esta es la forma de preguntar si el clic izquierdo del mouse está presionado
this.lineStyle(1, 0x0000000, 150); // esto te define el estilo y color de la línea
this.lineTo(xx, yy);
}
else {
this.moveTo(xx, yy);
}
}

De esta forma dibujarás como si se tratara de un lápiz, y la calidad del trazo, su suavidad y su aproximación al movimiento real que le des al mouse dependerá de la velocidad que le des al frameRate (fotogramas por segundo) de tu película: a mayor velocidad mejor queda. Si quieres que lo que se dibuje sea la trayectoria de algo solo tienes que cambiar this._xmouse por el valor de la coordenada _x de ese símbolo y this._ymouse por la coordenada _y.
Salu2

Por West

12 de clabLevel



 

firefox
Citar            
MensajeEscrito el 31 Ago 2011 08:40 pm
Disculpame, pusiste este codigo y funciona excelente, quería ver si me puedes ayudar con el mismo.

lo que pasa es que necesito que al dibujar con el mouse este dibuje una forma especifica por ejemplo una letra "A" y que cuando llegue al final. llame algo un moviclip o que diga algun mensaje."Bien" o "ok"

Saludos y gracias.


West escribió:

mira, esta es una forma muy sencilla que inventé de dibujar sobre el escenario con el mouse:

var xx:Number;
var yy:Number;
onEnterFrame=function()
{
xx=this._xmouse;
yy=this._ymouse;

if ( ASnative(800, 2)(1)) { // esta es la forma de preguntar si el clic izquierdo del mouse está presionado
this.lineStyle(1, 0x0000000, 150); // esto te define el estilo y color de la línea
this.lineTo(xx, yy);
}
else {
this.moveTo(xx, yy);
}
}

De esta forma dibujarás como si se tratara de un lápiz, y la calidad del trazo, su suavidad y su aproximación al movimiento real que le des al mouse dependerá de la velocidad que le des al frameRate (fotogramas por segundo) de tu película: a mayor velocidad mejor queda. Si quieres que lo que se dibuje sea la trayectoria de algo solo tienes que cambiar this._xmouse por el valor de la coordenada _x de ese símbolo y this._ymouse por la coordenada _y.
Salu2

Por lolo2k11

3 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.