Rellenar semicirculos dinámicamente

Programació amb Actionscript

Rellenar semicirculos dinámicamente

EntradaAutor: Loli Data: dj. oct. 16, 2003 11:48 am

No sé si es posible hacerlo, pero pensaba en realizar unas gráficas típicas de quesito pero con semedicircumferencias, que se rellenarian de un color determinado en un ángulo concreto según una variable.

Me gustaria poderlo hacer en flash pero sino me conformaré con el método tradicional

?:-i

muuuuchas grasssias!

loli
Avatar de l’usuari
Loli
mega pingu
mega pingu
 
Entrades: 67
Membre des de: dc. març 05, 2003 2:35 pm

es possible

EntradaAutor: Toni Data: dv. oct. 17, 2003 9:13 am

Possible, es possible.. ara.. m'hauria de posar a mirar el API de dibuix de Flash.. potser que trobis alguna cosa a www.flashkit.com , fa temps vaig veure una peli que creava automàticament els semircles, sort!! :-~
:: toni rufo ::
Avatar de l’usuari
Toni
pingu hacker
pingu hacker
 
Entrades: 375
Membre des de: ds. feb. 08, 2003 11:12 am
Ubicació: bcn

EntradaAutor: Loli Data: dv. oct. 17, 2003 9:17 am

Gràcies!
M'ho miraré.


loli
Avatar de l’usuari
Loli
mega pingu
mega pingu
 
Entrades: 67
Membre des de: dc. març 05, 2003 2:35 pm

EntradaAutor: Joan Garnet Data: dj. des. 04, 2003 2:17 am

Si expliques què és el que vols fer exactament potser serà més fàcil trobar la sol.lució :)

A mi a primera vista, penso que podríes fer-ho amb una linea.
Algo així:
- Fas un MClip que sigui una linea tant llarga com vulguis que sigui el radi d'aquesta.
- La instancies al stage i li dónes un nom. per exemple "line"
- ara vas al 1er frame i poses aquest code:
Codi: Selecciona’ls tots
intervalo = setInterval (function ()
{
   percent = 50;
   getTimer () < (tiempo = (36000 * percent) / 100) ? line.duplicateMovieClip ("mc" + i, i++)._rotation += (getTimer () / 100) : clearInterval (intervalo);
}, 0);

on percent és el tant percent de la rodona que vols plenar.

Salut !!
Avatar de l’usuari
Joan Garnet
gran pingu
gran pingu
 
Entrades: 39
Membre des de: dc. juny 18, 2003 7:20 pm
Ubicació: Barcelona city :)

api de dibuix i una mica de matemàtiques

EntradaAutor: pxl Data: dj. març 25, 2004 1:42 am

Amb el Flash MX , com van apuntar abans, és possible fer-ho sense duplicar clips.

Pot semblar una mica complicat, però no passa de ser trigonometria bàsica de la que s'aprèn a 1er de batx.

Codi: Selecciona’ls tots
MovieClip.prototype.dibuixaArc = function(x,y,r,a1,a2)//apliquem com a prototip de MovieClip
{
   var RAD = Math.PI/180;//conversió d'angles a Radians
   var xps, yps, ixps, iyps;//inicialitza variables
   for(var i = a1; i < a2; i++)//desde angle1 fins a angle2..
   {
      xps = (Math.sin(i*RAD) * r) + x;//calcula punt x
      yps = (Math.cos(i*RAD) * r) + y;//calcula punt y
      if(i==a1)
      {
         this.moveTo(xps,yps);//primer punt: moure 'apuntador'
         ixps   = xps;//emmagatzema coordenades per ús posterior
         iyps   = yps;
      }
      else
      {
         this.lineTo(xps,yps);//traça una linia desde l'ultim punt
      }
      if(i==a2)   this.lineTo(ixps, iyps);//tanca la forma
   }
}

createEmptyMovieClip("dibuix_mc",1);//crea clip per dibuixar
with(dibuix_mc)
{
   lineStyle(3,0xC0C0C0,100);//especifica linia
   beginFill(0xF0C000,100);//especifica color de forma
   dibuixaArc(200,200,50,0,180);//dibuixa els punts
   endFill();//finalitza forma.
}


Es pot fer animat.. si, només caldria 'esborrar' el dibuix (amb clear()) a cada frame i fer-ne un de nou amb els angles d'inici i final diferents.

Pot semblar més complicat que l'anterior (bè, ho és :-~ ) però cada Clip que es duplica utilitza uns recursos que bè es poden fer servir per altres funcionalitats. Utilitzar la api de dibuix sería el mètode més 'net'.
pxl
 
Entrades: 4
Membre des de: dg. gen. 25, 2004 12:58 am


Torna a: Actionscript

Qui està connectat

Usuaris navegant en aquest fòrum: No hi ha cap usuari registrat i 0 visitants

cron