Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    2

    Maschera dinamica con effetto fade

    Ragazzi vorrei un aiuto...
    Ho la necessità di creare una maschera dinamica per un'immagine che faccia apparire la stessa attraverso una sorta di puzzle formato ad esempio da quadrati (o qualunque altra forma che devo potere definire arbitrariamente). Mi servirebbe il codice AS per fare tutto ciò, da potere riutilizzare per qualunque immagine, con la possibilità quindi attraverso AS di impostare dinamicamente in base alle proporzioni dell'immagine, la dimensione della maschera e quindi il numero di quadrati(o altro) neccessari a coprire l'intera immagine. N.B: Mi piacerebbe che i quadrati avessero un efx fade, in modo tale da fare apparire ogni singola porzione dell'immagine con il relativo effetto.

    VI prego rispondete....GRAZIE

  2. #2
    function showQuad(max){
    scelto = random(disponibili.length)
    sponsor_mc.mask['quad'+disponibili[scelto]]._width = w
    sponsor_mc.mask['quad'+disponibili[scelto]]._height = h
    disponibili.splice(scelto,1)
    if(disponibili.length == 0){
    clearInterval(cl)
    sponsor_mc._alpha = 100
    }
    }
    MovieClip.prototype.quads = function(){
    this._alpha = 60
    h = 15
    w = 15
    interval = 2
    disponibili = new Array()
    n_h = Math.round(this._height/h)
    n_w = Math.round(this._width/w)
    numero = n_h*n_w
    this.createEmptyMovieClip("mask",1)
    posY=posX=0
    for(k=0;k<numero;k++){
    this.mask.createEmptyMovieClip('quad'+k,k)
    disponibili.push(k)
    with(this.mask['quad'+k]){
    lineStyle(0,0x000000,0)
    beginFill(0x000099,50)
    lineTo(w,0)
    lineTo(w,h)
    lineTo(0,h)
    lineTo(0,0)
    _x = posX*w
    posX++
    _y = posY
    _width = _height= 0
    if(posX==n_w && k!=0) {
    posY+=h
    posX = 0
    }
    }
    }
    cl = setInterval(showQuad,interval,numero)
    this.setMask(this.mask)
    }


    Per usarla basta che fai mc.quads(), dove mc è il nome istanza del movieclip da mascherare.
    I vari quadrati in questa non hanno l'effetto alpha, anche perchè essendo una maschera anche se l'avessero "non avrebbe effetto"

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    2
    Ti ringrazio... Proverò al + presto!!!

  4. #4
    ciao broly...

    ho seguito le tue istruzioni, ma non visualizzo nulla.

    ho creato un rettangolo, l'ho trasformato in mc e ho dato istanza mc

    ho incollato il tuo script + mc.quads() ???

  5. #5
    Hai ragione, errore mio , è che ho preso la function da un filmato che ho fatto e mi sono scordato di cambiare un pezzo per renderla adattabile "ovunque"

    Cambia così

    codice:
    function showQuad(max,target){ 
    scelto = random(disponibili.length) 
    eval(target).mask['quad'+disponibili[scelto]]._width = w 
    eval(target).mask['quad'+disponibili[scelto]]._height = h 
    disponibili.splice(scelto,1) 
    if(disponibili.length == 0){ 
    clearInterval(cl) 
    mc._alpha = 100 
    } 
    } 
    MovieClip.prototype.quads = function(){ 
    this._alpha = 60 
    h = 15 
    w = 15 
    interval = 2 
    disponibili = new Array() 
    n_h = Math.round(this._height/h) 
    n_w = Math.round(this._width/w) 
    numero = n_h*n_w 
    this.createEmptyMovieClip("mask",1) 
    posY=posX=0 
    for(k=0;k<numero;k++){ 
    this.mask.createEmptyMovieClip('quad'+k,k) 
    disponibili.push(k) 
    with(this.mask['quad'+k]){ 
    lineStyle(0,0x000000,0) 
    beginFill(0x000099,50) 
    lineTo(w,0) 
    lineTo(w,h) 
    lineTo(0,h) 
    lineTo(0,0) 
    _x = posX*w 
    posX++ 
    _y = posY 
    _width = _height= 0 
    if(posX==n_w && k!=0) { 
    posY+=h 
    posX = 0 
    } 
    } 
    } 
    cl = setInterval(showQuad,interval,numero,this) 
    this.setMask(this.mask) 
    } 
    
    //mc.quads()
    E dovrebbe andare
    Nota: il centro del movieclip dev'essere in alto a sinistra.

  6. #6

  7. #7

  8. #8

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.